微機原理:第三章 第二節(jié) 偽指令_第1頁
微機原理:第三章 第二節(jié) 偽指令_第2頁
微機原理:第三章 第二節(jié) 偽指令_第3頁
微機原理:第三章 第二節(jié) 偽指令_第4頁
微機原理:第三章 第二節(jié) 偽指令_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第三章 第二節(jié) 偽指令 偽指令(指示性語句)是說明性語句,本身不生成目標代碼,其作用是為匯編程序提供匯編所需要的信息,如指出目標程序存放的位置和定義存儲單元中的初始數(shù)據(jù)等。要點:1.符號定義偽指令 2.數(shù)據(jù)定義偽指令3.程序的段結(jié)構(gòu) 4.定位語句和當前位置計數(shù)器5.標題語句 6.修改類型語句2022/9/1021.符號定義偽指令 1.1 等值語句(1)格式:符號名 EQU 表達式(2)功能:將表達式的值賦給符號名 (3)表達式類型: 常數(shù)或數(shù)值表達式: 例: NUM EQU 24 地址表達式 例: ADR EQU DS:BP+2 變量、標號或指令助記符 例: CHAR1 EQU CHAR2 說

2、明:1.不能在未解除前用EQU語句給同一符號重復賦值 2.EQU語句不生成目標代碼,不占有存儲空間習題參考:P28 7 2022/9/1031.2 等號語句 (1)格式: 符號名=表達式 (2)功能:將表達式的值賦給符號名 (3)說明:能用該語句給同一符號重復賦值例:A=5A=A+51.3 解除語句 (1)格式: PURGE 符號名1,符號名2, (2)功能:解除已用EQU定義的符號 (3)說明:解除后的符號可重新利用EQU賦值例:A EQU 5PURGE AA EQU 102022/9/1042.數(shù)據(jù)定義偽指令 (1)格式: 變量名 偽指令 表達式/表達式表 (2)數(shù)據(jù)定義偽指令的類型:DB

3、(定義字節(jié)):1個內(nèi)存數(shù)據(jù)占1個字節(jié)DW(定義字):1個內(nèi)存數(shù)據(jù)占2個字節(jié)DD(定義雙字):1個數(shù)據(jù)占4個字節(jié)DF(定義字):1個數(shù)據(jù)占6個字節(jié)DQ(定義四字):1個數(shù)據(jù)占8個字節(jié)DT(定義10個字節(jié)):1個數(shù)據(jù)占10個字節(jié) (3)功能:定義變量,分配內(nèi)存空間,賦初值 (4)說明:以變量名作為內(nèi)存單元的符號地址,并通過不同命令指定數(shù)據(jù)類型。 (5)表達式類型: 數(shù)值表達式: 例: C DW 1234H, 385AH習題參考:P27 5P28 92022/9/1052.數(shù)據(jù)定義偽指令(5)表達式類型: 保留符號 作用:內(nèi)存單元不賦初值,存中間及最終結(jié)果 例1:N1 DB ?例2:N2 DD ?,

4、 ? 字符串表達式例1:STR1 DB ABCD例2:STR2 DW AB, CD例3:STR2 DD AB, CD2022/9/1062.數(shù)據(jù)定義偽指令 重復數(shù)據(jù)操作符(DUP,Duplication)格式:表達式1 DUP(表達式2)表達式1是DUP重復的次數(shù)表達式2是DUP重復的內(nèi)容應用:用DUP定義數(shù)組例1:MEM1 DB 20 DUP(?)例2:MEM2 DW 50 DUP(6)例3:MEM3 DB 3 DUP(ABC)例4:MEM4 DB 6 DUP(3 DUP(5),8)習題參考:P29 16 2022/9/1073.程序的段結(jié)構(gòu)3.1 段定義偽指令 格式: 段名 SEGMENT

5、 定位類型組合類型 使用類型 類型名 段體 段名 ENDS 功能:命名邏輯段,并說明它的起止 說明: 段體內(nèi)容視段的作用而定 代碼段段體:程序主體,主要由指令和偽指令構(gòu)成 數(shù)據(jù)/堆棧/附加段段體:主要由數(shù)據(jù)定義偽指令組成習題參考:P27 4 2022/9/1083.程序的段結(jié)構(gòu)(1)定位類型 定位類型用于指出段的開始地址的類型,共5種: BYTE 本段從下一個可用字節(jié)(任1內(nèi)存地址)開始 WORD 本段從下一個可用字(偶字節(jié))開始 DWORD 本段從下一個可用雙字(首地址為4的倍數(shù))開始 PARA 本段從下一個分段開始,分段為16字節(jié) PAGE 本段從下一個可用頁開始,頁為256字節(jié)(2)組合

6、類型 用于把不同模塊中的同名段組合到一起。 (3)使用類型 用于指出內(nèi)存單元的有效長度是16位還是32位 (4)類型名 用于表名段的類別,是代碼段還是數(shù)據(jù)段。 功能:連接程序(LINK)把類型名相同的段存放于連續(xù)的存儲空間習題參考:P30 28 2022/9/1093.程序的段結(jié)構(gòu)3.2 段約定偽指令 段約定偽指令ASSUME用于說明段定義偽指令SEGMENT中給出的段名與段寄存器之間的對應關(guān)系。 (1)格式:ASSUME 段寄存器:段名 ,段寄存器:段名,. (2)功能: 代碼段第一條指令;指出各邏輯段由哪些段寄存器尋址。 (3)說明: 段寄存器名可為CS、DS、ES、SS、FS和GS 至少

7、應該指出CS對應的代碼段 例:習題參考:P30 24 CSEG SEGMENT ASSUME CS:CSEG, DS:DSEG MOV AX, DSEG MOV DS, AX .2022/9/10103.程序的段結(jié)構(gòu)3.3 (1)CPU選擇偽指令 功能:將源程序適用的CPU及工作方式通知匯編程序 位置:源程序的第1條語句 說明:缺省該偽指令,匯編程序默認只接受16位指令 (2)命名偽指令 格式:NAME 模塊名 功能:給模塊指定1個名字。 (3)標題偽指令 格式:TITLE 文本功能:在程序清單的每頁上部打印文本內(nèi)容(4)過程定義偽指令過程定義偽指令PROC和過程結(jié)束偽指令ENDP前后呼應格式

8、:過程名 PROC NEAR/FAR 過程體 過程名 ENDP習題參考:P31 392022/9/10113.程序的段結(jié)構(gòu)3.3 程序結(jié)束偽指令 (1)格式:END 標號 (2)功能:匯編程序匯編到該指令結(jié)束標號與程序入口處標號相同,指導裝入CS:IP當程序由多個模塊組成時,只有主程序的END偽指令帶有標號,其它模塊的END偽指令均無標號習題參考: P28 143.4 段寄存器的裝入 DS和ES的裝入 SS的裝入 CS的裝入 2022/9/10124.定位語句和當前位置計數(shù)器(1)定位語句 設置地址偽指令ORG用于設置地址計數(shù)器的當前值,表示隨后的指令或數(shù)據(jù)由給定的地址開始存放。格式:ORG 表達式 其中表達式通常為常數(shù),給出地址偏移量功能:用“表達式”作為后續(xù)指令/數(shù)據(jù)的偏移地址習題參考:P27 6(2)當前位置計數(shù)器格式:$功能:返回當前正在匯編的指令/數(shù)據(jù)的偏移地址習題參考:P2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論