匯編語言第4章匯編語言_第1頁
匯編語言第4章匯編語言_第2頁
匯編語言第4章匯編語言_第3頁
匯編語言第4章匯編語言_第4頁
匯編語言第4章匯編語言_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、匯編語言第4章匯編語言 4.1 匯編語句格式 4.2 匯編語言中數(shù)據(jù)的表示方法 4.3 運(yùn)算符號 4.4 偽指令 4.5 匯編語言的上機(jī)過程 匯編語言第4章匯編語言 4.1.1 字符集 4.1.2 匯編語句格式 匯編語言第4章匯編語言 Microsoft的宏匯編語言由下列字符組成: (1)英文字母:AZ和az。 (2)數(shù)字字符:09。 (3)算術(shù)運(yùn)算符:+,-,*,/。 (4)關(guān)系運(yùn)算符:。 (5)分隔符:,:,;,(,), (空格),TAB(制表符)。 (6)控制符:CR(回車),LF(換行),FF(換頁)。 (7)其它字符:,_(下劃線),.,%,!。 4.1.1 字符集字符集 匯編語言第

2、4章匯編語言 DSEG SEGMENT ;數(shù)據(jù)段開始 DATAl DB 13H,26H ;原始數(shù)據(jù) DATA2 DW 0 ;保存結(jié)果單元 DSEG ENDS ;數(shù)據(jù)段結(jié)束 SSEG SEGMENT STACK ;堆棧段開始 SKTOP DB 20 DUP(0) SSEG END5 ;堆棧段結(jié)束 CSEG SEGMENT ;代碼段開始 ASSUME CS:CSEG,DS:DSEG, SS:SSEG START: MOV AX,DSG ;初的化數(shù)據(jù)段基址 MOVDS,AX MOVAX,SSEG;初始化堆棧段基址 MOV SS,AX MOV SP,LENGTH SKTOP;設(shè)段堆棧指針 MOV AL

3、,DATA1;取第一個(gè)數(shù)據(jù) ADD AL,DATAl十1 ;與第二個(gè)數(shù)據(jù)相加 MOV BYTE PTR DATA 2,AL;保存結(jié)果 M()V AH,4CH INT21H ;返間DOS C5EG ENDS ;代碼段結(jié)束 ENDSTART;源程序結(jié)束 匯編語句最多由四個(gè)域組成: 標(biāo)號 操作符 操作數(shù) ;注釋 4.1.2 匯編語句格式匯編語句格式 匯編語言第4章匯編語言 1. 標(biāo)號標(biāo)號 (1) 定義定義: 程序設(shè)計(jì)人員自己定義的符號, 用 于代表內(nèi)存單元的地址. (2)標(biāo)號的組成規(guī)則標(biāo)號的組成規(guī)則 1)組成標(biāo)號的字符: AZ,az,09,?,.,$, 和_(下劃線); 2)標(biāo)號的最大長度為3l(字

4、符個(gè)數(shù))。 3)標(biāo)號的第一個(gè)字符不能是09的數(shù)字。 4)機(jī)器指令語句中標(biāo)號必須以冒號結(jié)束, 偽指令語句中的標(biāo)號不允許有冒號. 匯編語言第4章匯編語言 1. 標(biāo)號標(biāo)號 (3) 標(biāo)號的三個(gè)屬性標(biāo)號的三個(gè)屬性 1)段屬性: 標(biāo)號所代表的段的值, 可用SEG算符 得到. 2)偏移量屬性: 標(biāo)號所代表的偏移量的值, 可用 OFFSET算符得到 3)類型屬性: 標(biāo)號所代表的內(nèi)存單元所存放的數(shù) 據(jù)或指令代碼的類型. 共有7種. 標(biāo)號 類型 類型值 字節(jié)類型 (BYTE) 字類型 (WORD) 雙字類型 (DWORD) 四字類型 (QWORD) 十字節(jié)類型 (TBYTE) 近類型 (NEAR) 遠(yuǎn)類型 (FA

5、R) 110-1-2842 匯編語言第4章匯編語言 2. 操作符操作符 操作符可以是指令助記符, 偽指令助記符, 宏指令符號。 3. 操作數(shù)操作數(shù) 操作數(shù)是操作符操作的對象,可以是數(shù)據(jù) 本身,也可以是標(biāo)號、寄存器名或算術(shù)表達(dá)式。 4. 注釋注釋 注釋是對指令功能的說明,目的實(shí)施自 己或他人在閱讀分析程序是方便。 匯編語言第4章匯編語言 4.2.1 數(shù)據(jù)在機(jī)內(nèi)的表示數(shù)據(jù)在機(jī)內(nèi)的表示 4.2.2 匯編語言中數(shù)據(jù)的書寫形式匯編語言中數(shù)據(jù)的書寫形式 匯編語言第4章匯編語言 (1)數(shù)據(jù)的符號數(shù)據(jù)的符號: 用0表示下,1表示負(fù). 對于定點(diǎn)表示有原碼反碼補(bǔ)碼等表示方法. (2)數(shù)據(jù)的定點(diǎn)表示法數(shù)據(jù)的定點(diǎn)表示

6、法 1)小數(shù)點(diǎn)在最低位之后,代表純整數(shù), 16位表示范圍為 -32768+32767 2)小數(shù)點(diǎn)在最高位和次高位之間,代表純小數(shù). (3)數(shù)據(jù)的浮點(diǎn)表示法數(shù)據(jù)的浮點(diǎn)表示法 在浮點(diǎn)表示中, 分為尾數(shù)和階碼兩部分. 有多種表示方法,現(xiàn)在一 般用IEEE的表示方法. 匯編語言第4章匯編語言 S階碼階碼尾尾 數(shù)數(shù) 03123 短實(shí)數(shù)短實(shí)數(shù) 尾數(shù)尾數(shù)23位位, 階碼階碼8位位,過余量過余量127(7FH) S階碼階碼尾尾 數(shù)數(shù) 06352 長實(shí)數(shù)長實(shí)數(shù) 尾數(shù)尾數(shù)52位位, 階碼階碼11位位,過余量過余量1023(3FFH) S階碼階碼尾尾 數(shù)數(shù) 1 0636479 臨時(shí)實(shí)數(shù)臨時(shí)實(shí)數(shù) 尾數(shù)尾數(shù)63位位,

7、階碼階碼15位位,過余量過余量16383(3FFFH) 1ffffff 匯編語言第4章匯編語言 轉(zhuǎn)換為二進(jìn)制為轉(zhuǎn)換為二進(jìn)制為 100100.101 規(guī)格化后為規(guī)格化后為 1.0010010125 階碼為階碼為 101 加過余量加過余量127后后 0111 1111+00000101=10000100 尾數(shù)尾數(shù)(23位位) 001 0010 1000 0000 0000 0000 符號符號5 MOV BX,SIZE BETA ;6 MOV CX,SIZE GAMA ;16 MOV AX,LENGTH ALPHA ;5 MOV BX,LENGTH BETA ;3 MOV CX,LENGTH GAM

8、A ;4 SIZE LAB= (LENGTH LAB) * (TYPE LAB) 匯編語言第4章匯編語言 4.3.5 組合算符組合算符 1. PTR 用來建立或臨時(shí)改變存儲(chǔ)器操作數(shù)的類型。用來建立或臨時(shí)改變存儲(chǔ)器操作數(shù)的類型。 2. THIS 用來為一個(gè)標(biāo)號建立一個(gè)新的類型。用來為一個(gè)標(biāo)號建立一個(gè)新的類型。 BX10H2000:0001H 00H2000:0002H A110H2000:0003H 20H2000:0004H B1或A221H2000:0005H 34H2000:0006H MOV BX,10H MOV BYTE PTRBX,10H MOV WORD PTRBX,10H A1

9、DB 10H,20H MOV AX,A1 MOV AX,WORD PTR A1 B1 EQU THIS WORD A2 DB 21H,34H MOV AX,B1 匯編語言第4章匯編語言 4.3.6 字節(jié)分離算符字節(jié)分離算符 用于將一個(gè)表達(dá)式的高字節(jié)和低字節(jié)分開。用于將一個(gè)表達(dá)式的高字節(jié)和低字節(jié)分開。 LOW取的字節(jié),取的字節(jié),HIGH取高字節(jié)。取高字節(jié)。 MOV AL,HIGH 1234H MOV AH,LOW 1234H MOV AL,LOW 12345 MOV AL,LOW 34*97+8 MOV AL, LOW OFFSET A1 匯編語言第4章匯編語言 4.3.7 記錄專用算符記錄專用

10、算符 1. MASK 2. WIDTH 暫時(shí)不講。暫時(shí)不講。 匯編語言第4章匯編語言 4.3.8 算符的優(yōu)先級算符的優(yōu)先級 表達(dá)式求值時(shí),各種運(yùn)算符的優(yōu)先次序(由高至低)如下: 1)括號內(nèi)的表達(dá)式 2)LENGTH,SIZE,WIDTH,MASK 3)PTR,OFFSET,SEG,TYPE 4)HIGH,LOW 5) *,MOD,SHL,SHR 6)十,一 7)EQ,NE,LT,LE,GT,GE 8)NOT 9)AND 10)OR,XOR。 先級別相同時(shí),按出現(xiàn)次序由左至右順序計(jì)算。 匯編語言第4章匯編語言 4.4.1 符號定義偽指令 4.4.2 數(shù)據(jù)定義偽指令 4.4.3 段定義偽指令 4.

11、4.4 其他偽指令 匯編語言第4章匯編語言 4.4.1 符號定義偽指令符號定義偽指令 1. EQU 1. EQU 等價(jià)偽指令等價(jià)偽指令 EQU偽指令用來定義一個(gè)符號,用該符號代表機(jī)器偽指令用來定義一個(gè)符號,用該符號代表機(jī)器 指令助記符、偽指令助記符、寄存器名字、各種運(yùn)指令助記符、偽指令助記符、寄存器名字、各種運(yùn) 算符號、常數(shù)等。算符號、常數(shù)等。 VAL EQU 100 JIA EQU ADD ADR EQU SI+BX+1000H MOV AL,VAL JIA AL,10 MOV ADR,AL 匯編語言第4章匯編語言 4.4.1 符號定義偽指令符號定義偽指令 2. = 2. = 等號偽指令等號

12、偽指令 =偽指令用來定義一個(gè)符號,用該符號代表表達(dá)式、偽指令用來定義一個(gè)符號,用該符號代表表達(dá)式、 常數(shù)等。常數(shù)等。 VAL = 100 MOV AL,VAL VAL = 200 MOV AL,VAL VAL = VAL+10 MOV AL,VAL 3.= 3.=偽指令與偽指令與EQUEQU偽指令的差別偽指令的差別: =偽指令只能代表表達(dá)式或常數(shù),不能是指令助記符等。偽指令只能代表表達(dá)式或常數(shù),不能是指令助記符等。 EQU定義的符號不能重定義,而定義的符號不能重定義,而=定義的可以。定義的可以。 匯編語言第4章匯編語言 4.4.2 數(shù)據(jù)定義偽指令數(shù)據(jù)定義偽指令 數(shù)據(jù)定義偽指令用來定義一個(gè)存儲(chǔ)單

13、元 的符號名, 并初始化該單元或由該單元開始 的若干連續(xù)單元。 初始化單元就是將一個(gè) 確定的數(shù)值或不確定的值(在定義語句中 用?表示)放入指定的內(nèi)存單元。 數(shù)據(jù)定義偽指令有五種: DB, DW, DD, DQ和DT。只介紹前三種。 匯編語言第4章匯編語言 1. 字節(jié)定義偽指令字節(jié)定義偽指令DB 000D 03 12 25 41 42 43 FIRST DB 3,18,25H,ABC000D 03 12 25 41 42 43 FIRST DB 3,18,25H,ABC 0013 2D 0C 1F 06 SECOND DB 30013 2D 0C 1F 06 SECOND DB 3* *15,4

14、8/4,36-5,26 MOD 1015,48/4,36-5,26 MOD 10 0017 ? ? 36 FF 1E THIRD DB ?,?,36H,-1,36Q0017 ? ? 36 FF 1E THIRD DB ?,?,36H,-1,36Q 001C 00051A FOUTH DB 5 DUP (26)001C 00051A FOUTH DB 5 DUP (26) 0021 0002000204 0F 7F FIVET DB 2 DUP (2 DUP (4),15),7FH0021 0002000204 0F 7F FIVET DB 2 DUP (2 DUP (4),15),7FH 00

15、27 0003? SIXTH DB 3 DUP (?)0027 0003? SIXTH DB 3 DUP (?) F IR S T 03H 000D H 12H 000EH 25H 000F H 41H 0010H 42H 0011H 43H 0012H S EC O N D 2D H 0013H 0C H 0014H 1F H 0015H 06H 0016H T H IR D ? 0017H ? 0018H 36H 0019H F F H 001A H 1EH 001BH F O U T H1A H001C H 1A H001 D H 1A H001E H 1A H001F H 1A H00

16、20 H F IV E T04H0021 H 04H0022 H 0F H0023 H 04H0024 H 04H0025 H 0F H0026 H 7F H0027 H S IX T H?0028 H ?0029 H ?002 A H 匯編語言第4章匯編語言 2. 字定義偽指令字定義偽指令DW 002E 1234 8000 5859 FSTW DW 1234H,-32768,XY 0034 1000 0046 FFE7 SCDW DW 256*16,46H,-25 003A ? 002E R 00FF TRDW DW ?,OFFSET FSTW,255 0040 00030510 FUTW

17、DW 3 DUP (510H) FSTW34H002EH 12H002FH 00H0030H 80H0031H 59H0032H 58H0033H SCDW00H0034H 10H0035H 46H0036H 00H0037H E7H0038H FF0039H TRDW?003AH ?003BH 2EH003CH 00H003DH FFH003EH 00H003FH FUTW10H0040H 05H0041H 10H0042H FIVET05H0043H 10H0044H 05H0045H 匯編語言第4章匯編語言 3. 雙字定義偽指令雙字定義偽指令DD 0052 FFFFFFFF0000008

18、0 DFST DD 4294967295,80000000H 005A 012C2 DSCD DD 36.625,-0.36625E+2 0062 0002FF030000 DTRD DD 2 DUP (1023) 006A 4E4D0000 DFUT DD MN 006E 0052 - R DFIV DD DFST DFSTFFH0052H FFH0053H FFH0054H FFH0055H 00H0056H 00H0057H 00H0058H 80H0059H DSCD00H005AH 80H005BH 12H005CH 42H005DH 00H005EH 80H005FH 12H0060H C2H0061H DTRDFFH0062H 03H0063H 00H0064H 00H0065H FFH0066H 03H0067H 00H0068H 00H0069H DFUT4EH006AH 4DH006BH 00H006CH 00H006DH DFIV52H006EH 00H006FH 0070H 0071H 匯編語言第4章匯編語言 4.4.3. 段定義偽指令段定義偽指令 1. 段首定義偽指令段首定義偽指令

溫馨提示

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

最新文檔

評論

0/150

提交評論