版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第第3 3章章 8086CPU 8086CPU指令系統(tǒng)指令系統(tǒng)內(nèi)內(nèi) 容容 簡簡 介介 本章全面掌握本章全面掌握8086/80888086/8088指令系統(tǒng)的運用,包指令系統(tǒng)的運用,包括指令的功能、尋址方式及其書寫格式、對標志位括指令的功能、尋址方式及其書寫格式、對標志位的影響、運用本卷須知。的影響、運用本卷須知。本教案內(nèi)容本教案內(nèi)容第第3章章 8086CPU指令系統(tǒng)指令系統(tǒng)匯編言語指令匯編言語指令8086指令分類指令分類數(shù)據(jù)與轉(zhuǎn)移地址的尋址方數(shù)據(jù)與轉(zhuǎn)移地址的尋址方式式數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令算術運算類指令算術運算類指令邏輯運算類指令邏輯運算類指令移位類指令移位類指令標志位操作指令標志位操作
2、指令n轉(zhuǎn)移指令轉(zhuǎn)移指令n循環(huán)控制指令循環(huán)控制指令n子程序調(diào)用前往子程序調(diào)用前往指令指令n中斷調(diào)用前往指中斷調(diào)用前往指令令n字符串操作指令字符串操作指令nI/O輸入輸出指令輸入輸出指令n其它指令其它指令n宏指令宏指令3.1 3.1 匯編言語指令匯編言語指令一一. .匯編言語與機器言語的相關概念匯編言語與機器言語的相關概念 匯編言語與機器言語屬于低級言語,它們與匯編言語與機器言語屬于低級言語,它們與高級言語有較大的區(qū)別,匯編言語中的語句與機器高級言語有較大的區(qū)別,匯編言語中的語句與機器的型號親密相關。如的型號親密相關。如Intel 8086Intel 8086系列系列CPUCPU、Intel803
3、1Intel8031系列單片系列單片CPUCPU等,假設等,假設CPUCPU型號不同,其型號不同,其指令系統(tǒng)就不同,當然語句的書寫格式也就不同。指令系統(tǒng)就不同,當然語句的書寫格式也就不同。 在高級言語中,完成某個加法功能,我們可采在高級言語中,完成某個加法功能,我們可采用語句用語句 X=A+B X=A+B ,只需給變量,只需給變量A A和和B B賦一確定值,此賦一確定值,此加法就可以實現(xiàn)了。在匯編言語中那么不同,程序加法就可以實現(xiàn)了。在匯編言語中那么不同,程序必需指出必需指出A A、B B存放在何處,相加后的結(jié)果又存放在存放在何處,相加后的結(jié)果又存放在何處,然后才干實現(xiàn)這一加法運算。顯然,匯編
4、言何處,然后才干實現(xiàn)這一加法運算。顯然,匯編言語在經(jīng)過程序通知計算機做什么和如何做時,顯得語在經(jīng)過程序通知計算機做什么和如何做時,顯得更加詳細。正是這種詳細,使得該言語與計算機更加詳細。正是這種詳細,使得該言語與計算機處置器嚴密相關,從而也要求學習和運用匯編處置器嚴密相關,從而也要求學習和運用匯編言語的人對處置器的構(gòu)造有更加深化的了解。言語的人對處置器的構(gòu)造有更加深化的了解。3.1 3.1 匯編言語指令匯編言語指令1.1.機器言語機器言語 機器機器CPUCPU能直接認識的一種二進能直接認識的一種二進制代碼言語。制代碼言語。CPUCPU能認識的一組二進制代碼能認識的一組二進制代碼就是一條指令。就
5、是一條指令。3.1 3.1 匯編言語指令匯編言語指令如:如:B0HB0H12H12H05H05H02H02H00H00H; ;這一組二進制代碼,就是通知這一組二進制代碼,就是通知CPUCPU將將AL 12HAL 12H。就是一條指令代碼,或者機器言語代碼。就是一條指令代碼,或者機器言語代碼。; ;這一組二進制代碼,通知這一組二進制代碼,通知CPUCPU將將AXAX+2 AX+2 AX。3.1 3.1 匯編言語指令匯編言語指令2.2.機器言語程序機器言語程序 采用機器言語編寫的程序,即二進采用機器言語編寫的程序,即二進制代碼程序。制代碼程序。優(yōu)點:程序送入計算機后,優(yōu)點:程序送入計算機后,CPU
6、CPU可以直接執(zhí)行??梢灾苯訄?zhí)行。缺陷:不易書寫,不易檢查,編寫程序非常困難。缺陷:不易書寫,不易檢查,編寫程序非常困難。3.1 3.1 匯編言語指令匯編言語指令3.3.匯編言語匯編言語 為了抑制機器言語不易書寫、記憶為了抑制機器言語不易書寫、記憶復雜等缺陷,人們采用一組字母、數(shù)字和復雜等缺陷,人們采用一組字母、數(shù)字和符號來替代一條二進制代碼指令,這種表符號來替代一條二進制代碼指令,這種表示指令的符號稱為助記符,這種用一組符示指令的符號稱為助記符,這種用一組符號來替代一條指令編寫程序時采用的言語,號來替代一條指令編寫程序時采用的言語,稱為匯編言語。稱為匯編言語。3.1 3.1 匯編言語指令匯編
7、言語指令4.4.匯編言語程序匯編言語程序 用匯編言語編寫的程序稱為匯編言用匯編言語編寫的程序稱為匯編言語程序,或者稱為匯編言語源程序。這種語程序,或者稱為匯編言語源程序。這種編程方法稱為匯編言語程序設計。匯編言編程方法稱為匯編言語程序設計。匯編言語源程序名必需為文件名語源程序名必需為文件名.ASM.ASM。3.1 3.1 匯編言語指令匯編言語指令如:如:B0HB0H12H12H05H05H02H02H00H00H用用MOV AL , 12H MOV AL , 12H 替代替代用用ADD AX , 0002H ADD AX , 0002H 替代替代3.1 3.1 匯編言語指令匯編言語指令優(yōu)點:要
8、比一串二進制代碼明晰多了,書寫優(yōu)點:要比一串二進制代碼明晰多了,書寫 容易,記憶也方便。容易,記憶也方便。缺陷:缺陷:CPUCPU不能直接執(zhí)行。用匯編言語編寫的不能直接執(zhí)行。用匯編言語編寫的 匯編言語源程序必需經(jīng)過匯編,將其翻匯編言語源程序必需經(jīng)過匯編,將其翻 譯成機器言語格式,譯成機器言語格式, CPUCPU才干執(zhí)行。才干執(zhí)行。3.1 3.1 匯編言語指令匯編言語指令5.5.匯編匯編 把匯編言語源程序翻譯成機器言語把匯編言語源程序翻譯成機器言語程序的過程稱為匯編。程序的過程稱為匯編。3.1 3.1 匯編言語指令匯編言語指令MOV AL , 12H MOV AL , 12H B0H 02H B
9、0H 02HADD AX , 0002H ADD AX , 0002H 05H 02H 00H 05H 02H 00H6.6.匯編程序匯編程序 能把匯編言語源程序翻譯成機器言能把匯編言語源程序翻譯成機器言語程序的系統(tǒng)程序言語加工程序。語程序的系統(tǒng)程序言語加工程序。80868086宏匯編程序為宏匯編程序為MASM.EXEMASM.EXE。3.1 3.1 匯編言語指令匯編言語指令如:如:機器言語程序機器言語程序匯編程序為匯編程序為MASM.EXEMASM.EXE源程序源程序MOV AL , 12HMOV AL , 12HADD AX , 0002HADD AX , 0002H05 02 0005
10、02 00B0 12B0 12匯編匯編反匯編反匯編在在DEBUG.EXEDEBUG.EXE下進展下進展3.1 3.1 匯編言語指令匯編言語指令7.7.從匯編言語源程序到可執(zhí)行程序所經(jīng)過的處置過程從匯編言語源程序到可執(zhí)行程序所經(jīng)過的處置過程用全屏幕編輯軟件編輯匯用全屏幕編輯軟件編輯匯編言語源程序編言語源程序 文件名文件名.ASM.ASM用匯編程序用匯編程序MASM.EXEMASM.EXE對源程序?qū)υ闯绦?文件名文件名.ASM .ASM 進展匯編進展匯編有語有語法錯法錯誤嗎?誤嗎?在磁盤上構(gòu)成目的程序文件在磁盤上構(gòu)成目的程序文件 文件名文件名.OBJ.OBJ用銜接程序用銜接程序LINK.EXELI
11、NK.EXE對對 文件名文件名.OBJ .OBJ 進展銜接進展銜接有錯誤嗎?有錯誤嗎?在磁盤上構(gòu)成了可執(zhí)行文件在磁盤上構(gòu)成了可執(zhí)行文件 文件名文件名.EXE .EXE 有有沒沒有有沒沒3.1 3.1 匯編言語指令匯編言語指令二二. .匯編言語程序中語句的種類匯編言語程序中語句的種類 在匯編言語程序設計中,程序中的語句有在匯編言語程序設計中,程序中的語句有三類:三類:指令語句指令語句偽指令語句偽指令語句宏指令語句宏指令語句3.1 3.1 匯編言語指令匯編言語指令1.1.指令語句指令語句 匯編后能產(chǎn)活力器言語代碼,是程序執(zhí)匯編后能產(chǎn)活力器言語代碼,是程序執(zhí)行階段行階段CPUCPU能執(zhí)行的語句。能執(zhí)
12、行的語句。3.1 3.1 匯編言語指令匯編言語指令2.2.偽指令語句偽指令語句 匯編后不能產(chǎn)活力器言語代匯編后不能產(chǎn)活力器言語代碼,是程序執(zhí)行階段碼,是程序執(zhí)行階段CPUCPU不能執(zhí)行的語句。它只不能執(zhí)行的語句。它只是通知匯編程序是通知匯編程序MASM.EXEMASM.EXE應如何匯編。應如何匯編。3.1 3.1 匯編言語指令匯編言語指令3.3.宏指令語句宏指令語句 它是它是80868086指令系統(tǒng)中沒有的指令,指令系統(tǒng)中沒有的指令,是用戶本人根據(jù)宏指令定義的方法定義的是用戶本人根據(jù)宏指令定義的方法定義的一條能完成某一特定功能的新的指令。一條能完成某一特定功能的新的指令。3.1 3.1 匯編言
13、語指令匯編言語指令三三. .匯編言語中語句的組成匯編言語中語句的組成 匯編言語源程序文件名匯編言語源程序文件名.ASM.ASM是由一條條語句是由一條條語句組成的。語句那么由組成的。語句那么由 四部分組成。四部分組成。標識符標識符操作助記符操作助記符操作數(shù)操作數(shù)注釋注釋其根本格式如下:其根本格式如下:3.1 3.1 匯編言語指令匯編言語指令 標識符標識符 操作助記符操作助記符空格空格 操作數(shù)操作數(shù) ;注釋;注釋 其中,操作助記符指出該條語句的根本操作功能,其中,操作助記符指出該條語句的根本操作功能,是必需有的部分。而是必需有的部分。而 項可有可無,視情況而定。項可有可無,視情況而定。 假設是指令
14、語句,標識符就是一個標號名,以冒假設是指令語句,標識符就是一個標號名,以冒號結(jié)尾;假設是偽指令語句,標識符就是變量名或者號結(jié)尾;假設是偽指令語句,標識符就是變量名或者段名等,以空格結(jié)尾。段名等,以空格結(jié)尾。3.1 3.1 匯編言語指令匯編言語指令 標識符的第一個字符必需是字母,不能為數(shù)字,標識符的第一個字符必需是字母,不能為數(shù)字,總字符個數(shù)不能超越總字符個數(shù)不能超越3131個。在給標識符起名時,不能個。在給標識符起名時,不能用用80868086指令系統(tǒng)中的公用符來給標識符起稱號,如指令系統(tǒng)中的公用符來給標識符起稱號,如 ADDADD、MOVMOV等。起名時,盡量起的有點意義。等。起名時,盡量起
15、的有點意義。3.1 3.1 匯編言語指令匯編言語指令四四. .匯編言語中的常數(shù)與表達式匯編言語中的常數(shù)與表達式 在匯編言語程序中,語句中的操作數(shù)項既可在匯編言語程序中,語句中的操作數(shù)項既可以是常數(shù)或表達式立刻數(shù),也可以是指明操作以是常數(shù)或表達式立刻數(shù),也可以是指明操作數(shù)所在處的一種闡明。假設操作數(shù)是常數(shù)或表達式,數(shù)所在處的一種闡明。假設操作數(shù)是常數(shù)或表達式,那么有以下幾種方式。那么有以下幾種方式。3.1 3.1 匯編言語指令匯編言語指令1.1.數(shù)值常數(shù)數(shù)值常數(shù) 假設為數(shù)值常數(shù),那么按其基數(shù)的不同,可假設為數(shù)值常數(shù),那么按其基數(shù)的不同,可二進制數(shù)二進制數(shù)十進制數(shù)十進制數(shù)八進制數(shù)八進制數(shù)十六進制數(shù)
16、十六進制數(shù)有有 等不同的表達式。等不同的表達式。3.1 3.1 匯編言語指令匯編言語指令如:將如:將ALAL 1212,那么有:,那么有:MOV AL , 12 ;12MOV AL , 12 ;12為十進制數(shù)為十進制數(shù)MOV AL , 0CH ;0CHMOV AL , 0CH ;0CH為十六進制數(shù)為十六進制數(shù)MOV AL , 00001100B ;00001100BMOV AL , 00001100B ;00001100B為二進制數(shù)為二進制數(shù)MOV AL , 14O ; 14OMOV AL , 14O ; 14O為八進制數(shù)為八進制數(shù)3.1 3.1 匯編言語指令匯編言語指令MOV AL , 0C
17、0H 0C0HMOV AL , 0C0H 0C0H為十六進制數(shù)為十六進制數(shù)2.2.字符串常數(shù)字符串常數(shù) 字符串常數(shù)是由單引號字符串常數(shù)是由單引號“ 括起括起來的一串字符或者單個字符。來的一串字符或者單個字符。如:如:MOV DL , A ; DL 41HMOV DL , A ; DL 41HBUF DB 12Aa BUF DB 12Aa ;將;將12Aa12Aa字符串定字符串定義給義給 ;變;變BUFBUF以下延續(xù)以下延續(xù)的的4 4個字個字 ;節(jié)存儲器單元。;節(jié)存儲器單元。 3.1 3.1 匯編言語指令匯編言語指令3.3.表達式表達式 語句中的操作數(shù)項也可以是表達式。表達式由語句中的操作數(shù)項也
18、可以是表達式。表達式由操作數(shù)和操作符組成。操作符有:操作數(shù)和操作符組成。操作符有:3.1 3.1 匯編言語指令匯編言語指令算術操作符:算術操作符:+ +、- -、* *、/ /、MODMOD邏輯操作符:邏輯操作符:ANDAND、OROR、XORXOR、NOTNOT關系操作符:關系操作符:EQ(EQ(相等相等) )、NE(NE(不等不等) )、LT(LT(小于小于) )、 GT(GT(大于大于) )、LE(LE(小于或等于小于或等于) )、GE(GE(大大 于或等于于或等于) )屬性操作符:屬性操作符:SEGSEG、OFFSETOFFSET、TYPETYPE、LENGTHLENGTH、SIZES
19、IZE屬性修正操作符:屬性修正操作符:PTRPTR3.1 3.1 匯編言語指令匯編言語指令算術操作符算術操作符MOV AL , 5+2MOV AL , 5+2* *3 3 等效于等效于 MOV AL , 11 MOV AL , 11 MOV AL , 11/2 MOV AL , 11/2 等效于等效于 MOV AL , 05H;MOV AL , 05H;取商取商 MOV AL , 11 MOD 2 MOV AL , 11 MOD 2 等效于等效于MOV AL , 01H;MOV AL , 01H;取取余余 3.1 3.1 匯編言語指令匯編言語指令邏輯操作符邏輯操作符MOV AL , 0CCH
20、AND 0F0HMOV AL , 0CCH AND 0F0HMOV AL , 0C0HMOV AL , 0C0HAND AL , 0CCH OR 0F0HAND AL , 0CCH OR 0F0HAND AL , 0FCHAND AL , 0FCH等等效效于于等等效效于于CPUCPU執(zhí)行時完成的操作執(zhí)行時完成的操作匯編程序匯編時完成的操作匯編程序匯編時完成的操作3.1 3.1 匯編言語指令匯編言語指令關系操作符關系操作符假設關系成立,那么為真,取值全假設關系成立,那么為真,取值全1 1;假設關系不成立,那么為假,取值全假設關系不成立,那么為假,取值全0 0。如:如: MOV AL , 04H
21、LT 05H ;MOV AL , 04H LT 05H ;關系成立為真關系成立為真MOV AL , 0FFHMOV AL , 0FFH等等效效于于3.1 3.1 匯編言語指令匯編言語指令屬性操作屬性操作符符MOV BX , OFFSET TABLE ;BX MOV BX , OFFSET TABLE ;BX 取變量取變量TABLETABLE單單 元的偏移地址元的偏移地址MOV AX , SEG TABLE ;AX MOV AX , SEG TABLE ;AX 取變量取變量TABLETABLE單單 元的段地址元的段地址MOV DL , TYPE TABLE ;DL MOV DL , TYPE T
22、ABLE ;DL 取變量取變量TABLETABLE 的類型的類型SRCSRC均為立刻數(shù)尋址均為立刻數(shù)尋址3.1 3.1 匯編言語指令匯編言語指令屬性修正操作屬性修正操作符符 MOV WORD PTR BX ,02H MOV WORD PTR BX ,02HDS:(BX)DS:(BX)00H00H02H02H00 02 H00 02 H3.1 3.1 匯編言語指令匯編言語指令屬性修正操作屬性修正操作符符MOV BYTE PTR TABLE ,ALMOV BYTE PTR TABLE ,AL(AL)(AL)TABLETABLE 只是在本條語句中用只是在本條語句中用PTRPTR將將TABLETABL
23、E變量暫時修正為字節(jié)變量暫時修正為字節(jié)型變量,脫離了本條語句,變量型變量,脫離了本條語句,變量TABLETABLE的類型恢復原樣。的類型恢復原樣。3.1 3.1 匯編言語指令匯編言語指令五五. .標號、變量及偽指令標號、變量及偽指令 前面曾經(jīng)講過,在匯編言語程序設計中,為了前面曾經(jīng)講過,在匯編言語程序設計中,為了方便記憶,將直接訪問的存儲器單元的實踐地址符方便記憶,將直接訪問的存儲器單元的實踐地址符號化,即給要訪問存儲器單元起一個標識符名,而號化,即給要訪問存儲器單元起一個標識符名,而標識符有標號名、變量名等。標識符有標號名、變量名等。3.1 3.1 匯編言語指令匯編言語指令1.1.標號標號
24、用以指示某條指令語句的位置地址。用以指示某條指令語句的位置地址。其定義方法就是在指令語其定義方法就是在指令語 句的操作助記符前加句的操作助記符前加上標號名,以冒號結(jié)尾。它可以作為程序轉(zhuǎn)移指上標號名,以冒號結(jié)尾。它可以作為程序轉(zhuǎn)移指令的操作數(shù)。令的操作數(shù)。3.1 3.1 匯編言語指令匯編言語指令如:如: JMP LAB1 JMP LAB1 LAB1: MOV AX ,0 LAB1: MOV AX ,0 標號名標號名3.1 3.1 匯編言語指令匯編言語指令標號一但定義,就具有了以下三個屬性:標號一但定義,就具有了以下三個屬性:段地址段地址 標號對應的指令所在段的段地址標號對應的指令所在段的段地址段
25、內(nèi)偏移地址段內(nèi)偏移地址 標號對應指令所在的段內(nèi)標號對應指令所在的段內(nèi)EAEA類型類型NEARNEAR型型 該標號與轉(zhuǎn)移指令在同一該標號與轉(zhuǎn)移指令在同一 代碼段。代碼段。FARFAR型型 該標號與轉(zhuǎn)移指令不在同該標號與轉(zhuǎn)移指令不在同一一 代碼段。代碼段。3.1 3.1 匯編言語指令匯編言語指令2.2.變量變量 用以指示存放數(shù)據(jù)的存儲器單元的符號用以指示存放數(shù)據(jù)的存儲器單元的符號地址。變量所指明的存儲器單元的值,在程序運地址。變量所指明的存儲器單元的值,在程序運轉(zhuǎn)期間是可以改動的。轉(zhuǎn)期間是可以改動的。3.1 3.1 匯編言語指令匯編言語指令變量定義偽指令也稱為數(shù)據(jù)定義偽指令變量定義偽指令也稱為數(shù)據(jù)
26、定義偽指令 或者稱為存儲器分配偽指令或者稱為存儲器分配偽指令 變量定義偽指令主要運用在數(shù)據(jù)段,是用來變量定義偽指令主要運用在數(shù)據(jù)段,是用來給變量名所對應的存儲器單元分配數(shù)據(jù)或預留空給變量名所對應的存儲器單元分配數(shù)據(jù)或預留空間。變量定義偽指令有以下五種:間。變量定義偽指令有以下五種:3.1 3.1 匯編言語指令匯編言語指令 變量名變量名 DB DB 表達式表達式 ;定義字節(jié)型變量;定義字節(jié)型變量 變量名變量名 DW DW 表達式表達式 ;定義字型變量;定義字型變量 變量名變量名 DD DD 表達式表達式 ;定義雙字型變量;定義雙字型變量 變量名變量名 DQ DQ 表達式表達式 ;定義長字型變量;
27、定義長字型變量 變量名變量名 DT DT 表達式表達式 ;定義一個;定義一個1010字節(jié)的變量字節(jié)的變量 常用的變量定義偽指令有常用的變量定義偽指令有DBDB、DWDW、DDDD。偽指令左。偽指令左邊的變量名可有可無,假設有必需以空格結(jié)尾。邊的變量名可有可無,假設有必需以空格結(jié)尾。3.1 3.1 匯編言語指令匯編言語指令變量定義偽指令語句中的表達式有以下幾種情況:變量定義偽指令語句中的表達式有以下幾種情況:1 1個或多個常數(shù)或表達式。當為多個時,其間個或多個常數(shù)或表達式。當為多個時,其間 用逗號分割。用逗號分割。帶引號的字符串。帶引號的字符串。一個問號?一個問號?) )。用來將此單元保管,存放
28、結(jié)果。用來將此單元保管,存放結(jié)果反復方式。其格式為:反復方式。其格式為: var4 db var4 db 反復次數(shù)反復次數(shù) DUP DUP 表達式表達式3.1 3.1 匯編言語指令匯編言語指令Var1 db 2,3,-1Var2 db hereVar3 db ?偽指令偽指令DWDW、DDDD的特殊用法的特殊用法: : DW DW 常數(shù)常數(shù)這里定義的這里定義的 1為字型地址指針,其內(nèi)容為為字型地址指針,其內(nèi)容為 常數(shù)或常數(shù)或 2常數(shù)的段內(nèi)偏移常數(shù)的段內(nèi)偏移地址。例如:地址。例如:AD1 DB 100 DUP(?)AD1 DB 100 DUP(?)AD2 DW AD1AD2 DW AD1;指向變量
29、;指向變量AD1AD1的起始地址的起始地址AD3 DW AD1+10 AD3 DW AD1+10 ;指向變量;指向變量AD1AD1的起始地址的起始地址+10+10 DD DD 常數(shù)常數(shù)這里定義的變量名這里定義的變量名1 1為雙字型地址指針,第一個字存放為雙字型地址指針,第一個字存放 常數(shù)或常數(shù)或 2常數(shù)的段內(nèi)偏移地址,常數(shù)的段內(nèi)偏移地址,第二個字存放其段地址。例如:第二個字存放其段地址。例如: AD4 DD AD1AD4 DD AD1;指向變量;指向變量AD1AD1的起始地址的起始地址3.1 3.1 匯編言語指令匯編言語指令結(jié)果如下圖3.1 3.1 匯編言語指令匯編言語指令假設AD1的段地址為
30、0100H,段內(nèi)偏移地址為2157H AD1 DB 100 DUP(?)AD1 DB 100 DUP(?)AD2 DW AD1AD2 DW AD1AD3 DW AD1+10AD3 DW AD1+10AD4 DD AD1AD4 DD AD1變量定義舉例變量定義舉例 假設假設DSDS=1500H=1500H,且在數(shù)據(jù)段,且在數(shù)據(jù)段0000H0000H偏移地址偏移地址開場有以下變量定義。開場有以下變量定義。3.1 3.1 匯編言語指令匯編言語指令DAT1 DB 12DAT1 DB 12,-12-12,12H12HDAT2 DB 2DAT2 DB 2* *3 3,3+23+2DAT1DAT1OCHOC
31、HOF4HOF4H12H12HO6HO6H1500H:0000H1500H:0000H0003H0003H匯編程序?qū)Ρ径螀R編后,各變匯編程序?qū)Ρ径螀R編后,各變量量對應存儲器單元的內(nèi)容如以下對應存儲器單元的內(nèi)容如以下圖。圖。DAT2DAT23.1 3.1 匯編言語指令匯編言語指令05H05HDAT1 DB 12DAT1 DB 12,-12-12,12H12HDAT2 DB 2DAT2 DB 2* *3 3,3+23+2DAT3 DW 02HDAT3 DW 02H,567AH567AHDAT1DAT1OCHOCHOF4HOF4H12H12HO6HO6H1500H:0000H1500H:0000H0
32、003H0003HDAT2DAT2DAT3DAT30005H0005H05H05H02H02HO0HO0H7AH7AH56H56H123.1 3.1 匯編言語指令匯編言語指令DAT4 DD 89HDAT4 DD 89HDAT4DAT489H89H00H00H00H00H00H00H1500H:0009H1500H:0009H000DH000DHDAT5DAT5DAT6DAT6DAT5 DB THISDAT5 DB THISDAT6 DW AB, CDAT6 DW AB, C0011H0011HTTHHIISSBB3.1 3.1 匯編言語指令匯編言語指令DAT6DAT6O0HO0H1500H:0
33、011H1500H:0011H0015H0015HDAT7DAT7DAT8DAT8DAT6 DW AB, CDAT6 DW AB, CDAT7 DB 3 DUP (00H)DAT7 DB 3 DUP (00H)DAT8 DW 3 DUP (?)DAT8 DW 3 DUP (?)0018H0018H00H00H00H00HO0HO0H? ? ?BBAACC3.1 3.1 匯編言語指令匯編言語指令DAT8DAT8? ? ? ? ?1500H:0018H1500H:0018HDAT9DAT9DAT10DAT10DAT9 DW DAT6DAT9 DW DAT6DAT8 DW 3 DUP (?)DAT8
34、 DW 3 DUP (?)DAT10 DD DAT8DAT10 DD DAT8DAT11 DW $+2, 3 DUP(?)DAT11 DW $+2, 3 DUP(?)001EH001EH? ? ?11H11H00H00H18H18H0020H0020H123.1 3.1 匯編言語指令匯編言語指令DAT1 DB 12DAT1 DB 12,-12-12,12H12HDAT2 DB 2DAT2 DB 2* *3 3,3+23+2DAT3 DW 02HDAT3 DW 02H,567AH567AHDAT4 DD 89HDAT4 DD 89H1500H:0020H1500H:0020HDAT10DAT10
35、DAT5 DB THISDAT5 DB THISDAT6 DW AB, CDAT6 DW AB, CDAT7 DB 3 DUP (00H)DAT7 DB 3 DUP (00H)DAT9 DW DAT6DAT9 DW DAT6DAT8 DW 3 DUP (?)DAT8 DW 3 DUP (?)DAT10 DD DAT8DAT10 DD DAT8DAT11 DW $+2, 2 dup (?)DAT11 DW $+2, 2 dup (?)0024H0024H26H26H15H15H00H00H18H18H00H00HDAT11DAT113.1 3.1 匯編言語指令匯編言語指令? ? ? ? ?00H
36、00H變量的屬性變量的屬性 一個變量一但定義了,就具有了以下一個變量一但定義了,就具有了以下五個屬性:五個屬性:段地址段地址SEGSEG段內(nèi)偏移地址段內(nèi)偏移地址OFFSETOFFSET類型類型TYPETYPE長度長度LENGTHLENGTH大小大小SIZESIZE3.1 3.1 匯編言語指令匯編言語指令其中,其中,段地址為變量所在段的段地址段地址為變量所在段的段地址 段內(nèi)偏移地址為變量對應單元段內(nèi)偏移地址為變量對應單元 的偏移地址的偏移地址3.1 3.1 匯編言語指令匯編言語指令類型類型 為每個變量所占的字節(jié)數(shù),對于為每個變量所占的字節(jié)數(shù),對于DBDB、DWDW、DDDD、DQDQ、DTDT定
37、義的變量其類型分別定義的變量其類型分別為為1 1,2 2,4 4,8 8,1010。通常又將。通常又將DBDB、DWDW、DDDD所定義的變量稱為所定義的變量稱為BYTEBYTE類型,類型,WORDWORD類類型和型和DWORDDWORD類型變量。類型變量。3.1 3.1 匯編言語指令匯編言語指令變量定義語句中,第一個變量定義語句中,第一個DUPDUP前的系數(shù),前的系數(shù),表示變量反復的次數(shù),當變量定義語句表示變量反復的次數(shù),當變量定義語句中沒有出現(xiàn)中沒有出現(xiàn)DUPDUP或者第一個為數(shù)據(jù)時,那或者第一個為數(shù)據(jù)時,那么其長度為么其長度為1 1 。長度:長度:3.1 3.1 匯編言語指令匯編言語指令 變量定義時,變量所占用的一切字變量定義時,變量所占用的一切字節(jié)數(shù),它等于變量的長度與類型字節(jié)節(jié)數(shù),它等于變量的長度與類型字節(jié)數(shù)之積數(shù)之積 。 即:即: SIZE=LENGTH SIZE=LENGTHTYPETYPE大小大小3.1 3.1 匯編言語指令匯編言語指令MOV AX , SEG DAT10 ; (AX)=1500HMOV AX , SEG DAT10 ; (AX)=1500HMOV AX , OFFSET DAT3 ; (AX)=0005HMOV AX , OFFSET DAT3 ; (AX)=0005HMOV AL , TYP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 聘請項目經(jīng)理軟件開發(fā)協(xié)議書
- 網(wǎng)絡大電影編劇聘用協(xié)議
- 食品包裝設計師聘用合同模板
- 北京市科研設施建設合同
- 電力工程項目部工程師聘用合同
- 土地合作股合同范例
- 采購湯圓合同范例
- 車輛維修延保協(xié)議書(2篇)
- 挖蟲草合同的
- 土地增值稅清算合同文本
- 上海工程技術大學《管理信息系統(tǒng)》 ~學年 第 一 學期 實驗報告
- 職工醫(yī)保基數(shù)調(diào)整對比明細表Excel模板
- 送你一個字評語2022
- 放射科優(yōu)質(zhì)護理服務PPT學習教案
- GB_T 22627-2022水處理劑 聚氯化鋁_(高清-最新版)
- 教學團隊建設總結(jié)報告
- 破產(chǎn)法PPT課件
- 看守所釋放證明書
- ZDY6000L鉆機使用說明書
- 魚骨圖-PPT模板
- 北京中考物理知識點總結(jié)(按考試大綱整理16個大考點)
評論
0/150
提交評論