freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

微機原理第三章魏ppt課件(編輯修改稿)

2025-05-26 01:22 本頁面
 

【文章內(nèi)容簡介】 A SEGMENT COMMON DATA ENDS CODE SEGMENT PUBLIC CODE ENDS 模塊 2 STACK SEGMENT STACK DW 30DUP(?) STACK ENDS DATA SEGMENT COMMON DATA ENDS CODE SEGMENT PUBLIC CODE ENDS END 微 機 原 理 設定段寄存器偽指令 ASSUME——段寄存器定義偽指令 。 用于建立段名 和段寄存器之間的嚴格對應關(guān)系 。 可通知匯編程 序哪一個段寄存器是當前段的段寄存器 , 以便對 使用變量或標號的指令匯編出正確的目的代碼 。 其格式為: ASSUME 段寄存器:段名 [, 段寄存器:段名 , … ] ASSUME偽指令只是指明某一個段地址與段寄存器的聯(lián)系,沒有將段地址送入該寄存器的操作。因此要將段地址裝入段寄存器還需用匯編指令來實現(xiàn)。 微 機 原 理 例如: CODE SEGMENT ASSUME CS: CODE, DS: DATA, SS: STACK MOV AX, DATA ; DATA段值送 AX MOV DS, AX ; AX內(nèi)容送 DS, 本指令執(zhí)行 完 之后 , DS才為實際段值 CODE ENDS 由于 DOS的裝入程序負責把 CS初始化成正確的代碼段地址, SS初始化為正確的堆棧段地址,在程序中就不必設臵。但 DS數(shù)據(jù)段或 ES附加段必須 MOV指令對 DS和 ES進行初始化,以裝入段地址。 微 機 原 理 ORG 偽指令 ORG: 偽指令用于指定段內(nèi)程序或數(shù)據(jù)代碼存放的起始偏移地址,即用語句中表達式的值作為起始偏移地址,此后的程序或數(shù)據(jù)代碼將連續(xù)存放,除非遇到另一個新的 ORG語句。一般格式為: ORG 表達式 例如: DATA SEGMENT BUFF1 DB 23, 56H, ?EOF‘ ORG 2022H BUFF2 DB ?STRING‘ DATA ENDS 微 機 原 理 定義過程的偽指令 具有一定功能的程序段作為一個過程 (相當于一個子程序 )。可以被別的程序調(diào)用 (用 CALL指令 )或由 JMP指令轉(zhuǎn)移到此執(zhí)行;也可以由程序順序執(zhí)行;或作為中斷處理程序,在中斷響應后轉(zhuǎn)此執(zhí)行。一個過程由偽指令 PROC和 ENDP來定義。 其格式為: 過程名 PROC [類型 ] (FAR/NEAR, 缺省為 NEAR) ……… RET 過程名 ENDP 過程體內(nèi)至少應有一條 RET指令 。 過程可以嵌套 ,也可以遞歸使用 , 即過程可以調(diào)用過程或本身 。 過程體 微 機 原 理 例如:延時 100ms的過程 , 可定義如下 : DELAY PROC PUSH BX PUSH CX MOV BL, 10 AGAIN: MOV CX, 2801 ; 延時 10ms WAI: LOOP WAI DEC BL JNZ AGAIN POP CX POP BX RET DELAY ENDP 微 機 原 理 CODE1 SEGMENT ASSUME CS: CODE1 FARPROC PROC FAR …… RET FARPROC ENDP CODE1 ENDS CODE2 SEGMENT ASSUME CS: CODE2 CALL FARPROC … ... …… CALL NEAR …… …… NEAR PROC NEAR …… …… RET NEAR ENDP CODE2 ENDS 微 機 原 理 宏指令 若程序段要多次使用,為了簡化程序書寫,該程序段可以用一條宏指令來代替,而匯編程序匯編到該宏指令時,仍會產(chǎn)生源程序所需的代碼 。 宏指令的一般格式為 : 宏指令名 MACRO [形式參量表 ] 宏體 ENDM 宏指令與子程序都是可完成某種功能的 , 供調(diào)用的程序模塊 。 定義后可多次調(diào)用 。 但子程序只形成一段目的代碼 , 調(diào)用時轉(zhuǎn)來執(zhí)行 。 而宏指令是將形成的目的代碼插到主程序調(diào)用的地方 。 微 機 原 理 例如: GADD MACRO X, Y, ADD1 MOV AX, X ADD AX, Y MOV ADD1, AX ENDM 其中 X, Y, ADD1都是形式參量 。 調(diào)用時 , 用下面宏指令書寫格式: GADD DATA1, DATA2, SUM 這里 DATA1, DATA2, SUM是實參量 。 實際上與該宏指令對應的源程序為: MOV AX, DATA1 ADD AX, DATA2 MOV SUM, AX 微 機 原 理 匯編結(jié)束偽指令 END偽指令表示源程序的結(jié)束 。 每個源程序模塊必須且只能用一條 END偽指令指明結(jié)束位臵 , 匯編程序遇到 END時立刻停止匯編 。 其一般格式為: END [表達式 ] 其中表達式是可選項 , 表示該匯編程序模塊的啟動地址 。 例如: END START 則表明該程序的啟動地址為 START。 微 機 原 理 匯編語言程序設計 程序設計是應用計算機解決實際問題的重要環(huán)節(jié)。一個優(yōu)秀的程序設計的標準為: ? 程序結(jié)構(gòu)清晰合理,易于理解和維護; ? 程序執(zhí)行時間短; ? 源程序的語句行少; ? 程序存儲的字節(jié)數(shù)少; 這些要求可通過選擇算法和優(yōu)化程序結(jié)構(gòu)來實現(xiàn) 。 微 機 原 理 匯編語言程序設計概述 一、 匯編語言程序的基本結(jié)構(gòu)框架 匯編語言源程序由可執(zhí)行的指令語句和指示性的偽指令組成。在匯編語言源程序至少包括三段:代碼段、數(shù)據(jù)段、堆棧段,必要時還有附加段。 微 機 原 理 二、匯編語言程序設計的基本步驟 1. 分析實際問題,建立解決問題的模型; 2. 確定解決問題的算法、方法和步驟; 3. 根據(jù)算法畫出程序流程圖,即將解決問題的思 路用圖形表示。 4. 對程序中的數(shù)據(jù)的組織、存儲單元分配、寄存 器使用規(guī)劃等進行統(tǒng)一考慮和安排。 5. 根據(jù)程序流程圖編寫程序; 6. 程序檢查、調(diào)試與修改; 微 機 原 理 三、匯編語言程序的基本結(jié)構(gòu)程序 根據(jù) Boehm和 Jacobi的結(jié)構(gòu)定理,任何程序可以由三種最基本的結(jié)構(gòu)程序構(gòu)成,如下圖: 順序結(jié)構(gòu)程序 分支結(jié)構(gòu)程序 循環(huán)結(jié)構(gòu)程序 每個結(jié)構(gòu)程序只有一個入口和一個出口,通過三種結(jié)構(gòu)的組合和嵌套可構(gòu)成任何復雜的結(jié)構(gòu)化程序。 微 機 原 理 順序結(jié)構(gòu)程序設計 順序程序設計是沒有分支,沒有循環(huán)的直線運行程序,程序執(zhí)行按照 IP自動增加的順序進行。 例 1: 利用查表法計算平方值 。 已知 0 ~ 9的平方值連續(xù)存在以 SQTAB開始的存儲區(qū)域中 , 求 SUR單元內(nèi)容 X的平方值 , 并放在 DIS單元中 。 假定0≤X≤ 9且為整數(shù) 。 解: ( 1) 了解平方表的存放位臵; ( 2) 根據(jù) X的值,找到 X對應 X2在表中位臵。 微 機 原 理 STACK SEGMENT DB 100 DUP( ? ) STACK ENDS DATA SEGMENT SUR DB ? DIS DB ? SQTAB DB 0, 1, 4, 9, 16, 25, 36, 49, 64, 81 DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA, SS: STACK, ES: DATA 微 機 原 理 BEGIN: PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX LEA BX, SQTAB; 取平方表基地址 MOV AH, 0 MOV AL, SUR ; AL=X ADD BX, AX ; 計算地址偏移 MOV AL, [BX] ; 取出 X的平方值 MOV DIS, AL RET CODE ENDS END BEGIN 微 機 原 理 BEGIN: PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX LEA BX, SQTAB MOV AL, SUR ; AL=X XLAT SQTAB MOV DIS, AL RET CODE ENDS END BEGIN 為使程序精練,可采用換碼指令 XLAT, 代碼段如下 : 微 機 原 理 結(jié)束用戶程序返回 DOS的方法 1. 系統(tǒng)功能調(diào)用 INT 21H的 4CH號子功能 在用戶程序結(jié)束處用以下語句: MOV AH, 4CH INT 21H 2. 利用 RET指令 上面的例子中所采用的方法。 3. 程序轉(zhuǎn)移到內(nèi)存中偏移量為 0的地方 JMP 0 4. 利用中斷調(diào)用 INT 20H 微 機 原 理 BEGIN: MOV AX, DATA MOV DS, AX LEA BX, SQTAB MOV AL, SUR ; AL=X XLAT SQTAB MOV DIS, AL MOV AH, 4CH INT 21H CODE ENDS END BEGIN 利用系統(tǒng)功能調(diào)用 INT 21H的 4CH號子功能返回 DOS 微 機 原 理 分支結(jié)構(gòu)程序設計 分支結(jié)構(gòu)程序的基本思想是根據(jù)某些條件和狀態(tài)來控制程序下一步的走向。首先執(zhí)行能影響狀態(tài)的指令,如算術(shù)邏輯運算指令、移位指令或位操作指令,然后用條件轉(zhuǎn)移類指令對各種狀態(tài)標志進行判斷,進而轉(zhuǎn)移形成分支。 設計
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1