匯編語言程序格式_第1頁
匯編語言程序格式_第2頁
匯編語言程序格式_第3頁
匯編語言程序格式_第4頁
匯編語言程序格式_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1本章學(xué)習(xí)要點:本章學(xué)習(xí)要點:(1)常見的偽指令及它們的用法)常見的偽指令及它們的用法(2)匯編語言的結(jié)構(gòu))匯編語言的結(jié)構(gòu)一、匯編語句的種類和格式一、匯編語句的種類和格式1. 語句的種類語句的種類匯編語言有多種類型的語句,指令語句、偽指令語句、宏指令匯編語言有多種類型的語句,指令語句、偽指令語句、宏指令語句。語句。匯編語言在對源程序進行匯編時,把指令語句翻譯成機器指令,匯編語言在對源程序進行匯編時,把指令語句翻譯成機器指令,也就是說也就是說指令語句有著與之對應(yīng)的機器指令指令語句有著與之對應(yīng)的機器指令。偽指令語句沒有與其對應(yīng)的機器指令偽指令語句沒有與其對應(yīng)的機器指令,只是指示匯編程序如何,只是指

2、示匯編程序如何對源程序進行匯編,包括符號的定義、變量的定義、段的定義對源程序進行匯編,包括符號的定義、變量的定義、段的定義等。通俗點講,它實際上是屬于一種說明語句。等。通俗點講,它實際上是屬于一種說明語句。2.語句的格式語句的格式指令語句格式:指令語句格式:(標(biāo)號)指令助記符(操作數(shù)(,操作數(shù))(;注釋)(標(biāo)號)指令助記符(操作數(shù)(,操作數(shù))(;注釋)偽指令語句的格式如下:偽指令語句的格式如下:(名字)偽指令定義符(參數(shù),(名字)偽指令定義符(參數(shù),參數(shù))(;注釋),參數(shù))(;注釋)2偽指令定義符:偽指令定義符:規(guī)定了偽指令的功能規(guī)定了偽指令的功能參數(shù):參數(shù):說明偽指令操作的對象,如常數(shù)(數(shù)值

3、表達式)等說明偽指令操作的對象,如常數(shù)(數(shù)值表達式)等名稱:名稱:給所定義的內(nèi)容起的名稱。給所定義的內(nèi)容起的名稱。在匯編語言中,名字和標(biāo)號很容易區(qū)分,名字后面沒有冒號,在匯編語言中,名字和標(biāo)號很容易區(qū)分,名字后面沒有冒號,而標(biāo)號后一定用冒號。而標(biāo)號后一定用冒號。標(biāo)號和名字最多由標(biāo)號和名字最多由31個字母、數(shù)字及規(guī)定的特殊字符組成,并個字母、數(shù)字及規(guī)定的特殊字符組成,并且不能以數(shù)字來開頭。且不能以數(shù)字來開頭。標(biāo)號和名字不能是匯編語言的保留字標(biāo)號和名字不能是匯編語言的保留字,如不能是,如不能是“MOV”。匯編語言不區(qū)分保留字中字母的大小寫匯編語言不區(qū)分保留字中字母的大小寫。如。如“MOV AX ,

4、03H”等同于等同于“mov ax , 03h”偽指令有多種,常見的如:偽指令有多種,常見的如:(1)段定義偽操作)段定義偽操作(2)數(shù)值數(shù)據(jù)定義及存儲器分配)數(shù)值數(shù)據(jù)定義及存儲器分配(3)符號數(shù)據(jù)定義)符號數(shù)據(jù)定義(4)程序開始和結(jié)束偽操作)程序開始和結(jié)束偽操作(5)表達式賦值偽操作)表達式賦值偽操作此外還有基數(shù)控制偽操作、對準(zhǔn)偽操作等。此外還有基數(shù)控制偽操作、對準(zhǔn)偽操作等。3看看下列代碼有哪些偽指令:看看下列代碼有哪些偽指令:4二、常見的偽指令二、常見的偽指令/偽操作偽操作(1)段定義語句)段定義語句為了與存儲器的分段結(jié)構(gòu)相對應(yīng),匯編語言的源程序為了與存儲器的分段結(jié)構(gòu)相對應(yīng),匯編語言的源程

5、序也是由若干個段組成。也是由若干個段組成。1. 段開始和段結(jié)束語句段開始和段結(jié)束語句段定義的一般格式如下:段定義的一般格式如下:段名段名SEGMENT 定位類型定位類型 組合類型組合類型 類型類型段名段名ENDS例:一個簡單的段如下所示:例:一個簡單的段如下所示:DSEG SEGMENTMESS DB HELLO , 0DH , 0AH , $DSEG ENDS52. 段使用設(shè)定語句段使用設(shè)定語句匯編程序根據(jù)段開始語句和段結(jié)束語句判斷出源程序的段劃分,匯編程序根據(jù)段開始語句和段結(jié)束語句判斷出源程序的段劃分,為了有效地產(chǎn)生目標(biāo)代碼,匯編程序還要了解各程序段與段寄為了有效地產(chǎn)生目標(biāo)代碼,匯編程序還

6、要了解各程序段與段寄存器間的對應(yīng)關(guān)系。這種對應(yīng)關(guān)系由段使用設(shè)定語句說明。存器間的對應(yīng)關(guān)系。這種對應(yīng)關(guān)系由段使用設(shè)定語句說明。ASSUME 段寄存器名:段名段寄存器名:段名,段寄存器名:段名,段寄存器名:段名段寄存器名可以是段寄存器名可以是CS,DS,SS和和ES。段名就是段開始和段結(jié)束語句中規(guī)定的段名。段名就是段開始和段結(jié)束語句中規(guī)定的段名。例如:例如:CS寄存器對應(yīng)寄存器對應(yīng)CSEG段,段,DS寄存器對應(yīng)寄存器對應(yīng)DSEG段。段。ASSUME CS : CSEG , DS : DSEGASSUME偽指令中段名也可以是一個特別的關(guān)鍵字偽指令中段名也可以是一個特別的關(guān)鍵字NOTHING,它表示某

7、個段寄存器不與任何段有對應(yīng)關(guān)系。它表示某個段寄存器不與任何段有對應(yīng)關(guān)系。6DSEG1 SEGMENTVARW DW 12DSEG1 ENDSDSEG2 SEGMENTXXX DW 0DSEG2 ENDSCSEG SEGMENTASSUME CS:CSEG , DS: DSG1 , ES : DSG2MOV AX , DSEG1MOV DS , AXMOV AX , DSEG2MOV ES , AXASSUME DS: DSG2 , ES :NOTHINGMOV AX , DSEG2MOV DS , AXDSEG ENDS7(2)關(guān)于數(shù)值數(shù)據(jù)定義語句及存儲器分配)關(guān)于數(shù)值數(shù)據(jù)定義語句及存儲器分配

8、通過數(shù)值數(shù)據(jù)定義語句可以為數(shù)據(jù)項通過數(shù)值數(shù)據(jù)定義語句可以為數(shù)據(jù)項分配存儲單元分配存儲單元,并,并根據(jù)需根據(jù)需要設(shè)置其初值要設(shè)置其初值。還可以用符號代表數(shù)據(jù)項還可以用符號代表數(shù)據(jù)項,此時符號就與分配的存儲單元相聯(lián),此時符號就與分配的存儲單元相聯(lián)系。代表數(shù)據(jù)項的符號本省稱為變量名,與之相對應(yīng)的存儲單系。代表數(shù)據(jù)項的符號本省稱為變量名,與之相對應(yīng)的存儲單元用于存放變量。元用于存放變量。 1. 數(shù)據(jù)定義的格式數(shù)據(jù)定義的格式數(shù)據(jù)定義語句是最常用的偽指令語句。一般格式如下:數(shù)據(jù)定義語句是最常用的偽指令語句。一般格式如下:變量名變量名 數(shù)據(jù)定義符數(shù)據(jù)定義符 表達式表達式,表達式表達式,表達式表達式;注釋注釋

9、例如:例如:VARB DB3WARW DW -1234BUFF DB 100 , 3+4 , 5*6 81)定義字節(jié)數(shù)據(jù)項()定義字節(jié)數(shù)據(jù)項(DB)每一個字節(jié)數(shù)據(jù)項只占用一個字節(jié)存儲單元每一個字節(jié)數(shù)據(jù)項只占用一個字節(jié)存儲單元例:例:COUNT DB 100 DB 0DH ,0AH , $ TABLEDB 0 , 1 , 4 , 9 , 162)定義字?jǐn)?shù)據(jù)項()定義字?jǐn)?shù)據(jù)項(DW)每一個字?jǐn)?shù)據(jù)項只占用兩個字節(jié)存儲單元每一個字?jǐn)?shù)據(jù)項只占用兩個字節(jié)存儲單元例:例:FLAG DW 2FCDH, 100,-1 VECTDW 0 DW 100H3)定義雙字?jǐn)?shù)據(jù)項()定義雙字?jǐn)?shù)據(jù)項(DD)每一個雙字?jǐn)?shù)據(jù)項只

10、占用四個字節(jié)存儲單元每一個雙字?jǐn)?shù)據(jù)項只占用四個字節(jié)存儲單元例:例:VECTOR DD 4 FARPTRDD 12345678H, 0此外,還可以定義此外,還可以定義8字節(jié)的數(shù)據(jù)項字節(jié)的數(shù)據(jù)項(DQ),10字節(jié)的數(shù)據(jù)項字節(jié)的數(shù)據(jù)項(DT)94)定義)定義沒有初值沒有初值的數(shù)據(jù)項的數(shù)據(jù)項如果數(shù)據(jù)定義語句中的表達式只是一個問號(如果數(shù)據(jù)定義語句中的表達式只是一個問號(?),則表示不),則表示不預(yù)置對應(yīng)變量的初值,而僅僅是給變量分配存儲單元。預(yù)置對應(yīng)變量的初值,而僅僅是給變量分配存儲單元。例:例:INBUFF DB 5 , ? , ? , ? , 8 , ? VARWDW ? OLDVDD ?5)定義

11、字符)定義字符串串定義字節(jié)數(shù)據(jù)的偽指令定義字節(jié)數(shù)據(jù)的偽指令DB也可以用于方便地定義字符串。也可以用于方便地定義字符串。字符串要用引號括起來,單引號和雙引號皆可,只要配對。字符串要用引號括起來,單引號和雙引號皆可,只要配對。例如:例如:MESS DB HELLO!上述語句與如下語句定義內(nèi)容相同:上述語句與如下語句定義內(nèi)容相同:MESS DB H , E , L , L , O , !102. 重復(fù)操作符重復(fù)操作符DUP有時需要有時需要定義數(shù)組定義數(shù)組,有時還需要定于數(shù)據(jù)緩沖區(qū)。,有時還需要定于數(shù)據(jù)緩沖區(qū)。例如:例如: BUFFER DB 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0

12、 以上操作太不方便,為此,匯編語言停供了在數(shù)據(jù)定義語句中以上操作太不方便,為此,匯編語言停供了在數(shù)據(jù)定義語句中使用的重復(fù)操作符使用的重復(fù)操作符DUP。比如,上述定義語句與如下定義語句起相同的作用:比如,上述定義語句與如下定義語句起相同的作用:BUFFER DB 8 DUP(0)重復(fù)操作符重復(fù)操作符DUP的一般格式如下:的一般格式如下:count DUP (表達式表達式, 表達式表達式, )例如:例如: BUFFER1 DB 5 , 0 , 5 DUP(?)BUFFER2 DB 100 DUP(0 , 2 DUP(1 , 2) , 0 , 3)BUFFER3 DB 256 DUP(ABCDE)1

13、1(3)關(guān)于符號數(shù)據(jù)的定義語句)關(guān)于符號數(shù)據(jù)的定義語句1. 等價語句等價語句EQU格式格式 EQU 表達式表達式例:例:COUNT EQU 100;符號符號COUNT就代表常數(shù)就代表常數(shù)100BUFF_LEN EQU 4*COUNT;COUNT是已定義的符號常數(shù)是已定義的符號常數(shù)HELLO EQU “How are you!”例:例:MOVE EQU MOVCOUNT EQU CX在安排上述語句后,就可以用在安排上述語句后,就可以用MOVE代替指令助記符代替指令助記符MOV,用,用COUNT代替寄存器代替寄存器CX。當(dāng)然,。當(dāng)然,MOV和和CX仍可以照樣使用。仍可以照樣使用。當(dāng)遇到當(dāng)遇到: M

14、OVE AX , CX;MOV AX , CXMOVE COUNT , 100;MOV CX , 100需要注意:第需要注意:第1,等價語句不另外給符號分配存儲單元等價語句不另外給符號分配存儲單元;第第2,等價語句定義的符號不能與其它符號相同,也,等價語句定義的符號不能與其它符號相同,也不能被重不能被重新定義新定義。122. 等號語句(等號語句(=)匯編語言專門提供了符號語句來定義符號常數(shù),即用符號表示匯編語言專門提供了符號語句來定義符號常數(shù),即用符號表示一個常數(shù)。等號語句的一般格式如下:一個常數(shù)。等號語句的一般格式如下:符號名符號名 = 數(shù)值表達式數(shù)值表達式例如:例如:XX = 10用符號定

15、義語句可被重新定義。用符號定義語句可被重新定義。例如:例如:ABCD = 1ABCD = 100133. 定義符號名語句定義符號名語句格式:符號名格式:符號名 LABEL 類型類型其中類型可以是其中類型可以是BYTE、WORD、DWORD、NEAR、FAR,其中前其中前3項對應(yīng)于數(shù)據(jù)項,后項對應(yīng)于數(shù)據(jù)項,后2項對應(yīng)于可執(zhí)行代碼。項對應(yīng)于可執(zhí)行代碼。功能:指定為某一類型的符號,且該符號的段屬性和偏移屬性功能:指定為某一類型的符號,且該符號的段屬性和偏移屬性與下一個緊接著的存儲單元的段屬性和偏移屬性相同。與下一個緊接著的存儲單元的段屬性和偏移屬性相同。例如:例如:BUFFER LABEL WORD

16、BUFF DB 100 DUP(0)定義了一個符號定義了一個符號BUFFER,其類型是,其類型是WORD。因為段屬性與偏。因為段屬性與偏移屬性和移屬性和BUFF相同,相同, 所以內(nèi)容為所以內(nèi)容為0000H。又如:又如:QUIT LABEL FAREXIT:MOV AH , 4CH“MOV AH , 4CH”有了有了QUIT和和EXIT兩個標(biāo)號。兩個標(biāo)號。14(4)程序開始與結(jié)束偽操作)程序開始與結(jié)束偽操作END 偽操作偽操作格式:格式: END 標(biāo)號標(biāo)號其中標(biāo)號表示程序開始執(zhí)行的起始地址。其中標(biāo)號表示程序開始執(zhí)行的起始地址。注意:注意:程序是從程序是從END所指的所指的“標(biāo)號標(biāo)號”開始執(zhí)行,遇

17、到開始執(zhí)行,遇到END指令后結(jié)束。指令后結(jié)束。如果如果END沒有指定標(biāo)號,則從相應(yīng)代碼段從開始運行。沒有指定標(biāo)號,則從相應(yīng)代碼段從開始運行。15注意以下注意以下2個程序的區(qū)別:個程序的區(qū)別:16(5)對準(zhǔn)偽操作)對準(zhǔn)偽操作1. EVEN格式:格式:EVEN功能:使緊隨其后的內(nèi)容從偶地址開始存儲。功能:使緊隨其后的內(nèi)容從偶地址開始存儲。DSEG SEGMENTEVENWORD_ARRAY DW 100 DUP(?) DSEG ENDS172. ORG格式:格式: ORG 常數(shù)表達式常數(shù)表達式功能:使緊隨其后的內(nèi)容從表達式所指定的地址開始存儲。功能:使緊隨其后的內(nèi)容從表達式所指定的地址開始存儲。D

18、SEG SEGMENTORG 10VECT1 DW 47A5HORG 20VECT2 DW 1234H DSEG ENDS18 可以使用符號可以使用符號$來代表當(dāng)前正在匯編的指令的地址。來代表當(dāng)前正在匯編的指令的地址。例:已知例:已知ARRAY的偏移量為的偏移量為0074H,試寫出下列語句所分配,試寫出下列語句所分配空間的內(nèi)容空間的內(nèi)容ARRAY DW 1 , 2 , $+4 , 3, 4, $ + 419三三. 關(guān)于表達式的偽操作關(guān)于表達式的偽操作(1)數(shù)值表達式)數(shù)值表達式1.常數(shù)常數(shù)常數(shù)有多種類型和表示方式,如:常數(shù)有多種類型和表示方式,如:1)十進制常數(shù),以字母)十進制常數(shù),以字母D結(jié)

19、束為標(biāo)識。結(jié)束為標(biāo)識。例:例:MOV AX , 178D2)十六進制常數(shù),以字母)十六進制常數(shù),以字母H結(jié)束為標(biāo)識結(jié)束為標(biāo)識例:例:MOV AL , 0AH注意,注意,在程序編寫時,十六進制數(shù)必須以數(shù)字開頭。在程序編寫時,十六進制數(shù)必須以數(shù)字開頭。例:要使例:要使(AL)為為ABH,程序必須使用下列寫法:,程序必須使用下列寫法:MOV AL , 0ABH3)二進制常數(shù),以字母)二進制常數(shù),以字母B結(jié)束為標(biāo)識結(jié)束為標(biāo)識例:例:OR AL , 11001010B TEST BL , 00101000B4)八進制常數(shù),以字母)八進制常數(shù),以字母Q結(jié)束為標(biāo)識結(jié)束為標(biāo)識,如如127Q。205)字符串常數(shù)

20、(串常數(shù))字符串常數(shù)(串常數(shù))串常數(shù)的值是包括在引號中的字符的串常數(shù)的值是包括在引號中的字符的ASCII代碼值代碼值。例:例:A的的ASCII碼值是碼值是41HCMP AL , A相當(dāng)于相當(dāng)于 CMP AL , 41H6)偽指令)偽指令RADIX設(shè)置其后數(shù)值的缺省進制設(shè)置其后數(shù)值的缺省進制格式:格式:RADIX expexp的值必須是區(qū)間的值必須是區(qū)間2,16內(nèi)的一個整數(shù)。內(nèi)的一個整數(shù)。例如:例如:RADIX 8MOV AL , 10RADIX 16MOV AH , 10但是,為了避免混淆和不必要的誤會,我們提倡慎用但是,為了避免混淆和不必要的誤會,我們提倡慎用RADIX.212. 算術(shù)運算符

21、算術(shù)運算符算術(shù)運算府包括正(算術(shù)運算府包括正(+)、負()、負(-),加(),加(+)、減()、減(-)、乘)、乘(*)、除()、除(/)和模()和模(MOD),這些算術(shù)運算符的意義與高級),這些算術(shù)運算符的意義與高級語言中同樣運算符的意義相似。語言中同樣運算符的意義相似。ADD AX , 100 * 4 + 2 ; 100 * 4 + 2就構(gòu)成了一個算術(shù)表達式就構(gòu)成了一個算術(shù)表達式SUB CX , 100H / 2MOV AL , -33.關(guān)系運算符關(guān)系運算符關(guān)系運算符包括相等(關(guān)系運算符包括相等(EQ)、不等()、不等(NE)、小于()、小于(LT)、大)、大于(于(GT)、小于或等于()

22、、小于或等于(LE)、大于或等于()、大于或等于(GE)。)。若關(guān)系不成立,則結(jié)果為若關(guān)系不成立,則結(jié)果為0(一個數(shù)值)(一個數(shù)值);若關(guān)系成立,則結(jié)果為若關(guān)系成立,則結(jié)果為FFFFH(一個數(shù)值)。(一個數(shù)值)。例如,例如, MOV AX , 1234H LT 1024H等同于等同于 MOV AX , 0HMOV BX , 1234H GT 1024H等同于等同于 MOV BX , 0FFFFH224. 邏輯運算符邏輯運算符邏輯運算符包括按位操作的邏輯運算符包括按位操作的“與與”(AND)、)、“或或” (OR) 、“非非” (NOT) 、“異或異或” (XOR) 、“左移左移”(SHL)和和

23、“右移右移” (SHR)。)。邏輯運算的結(jié)果也是數(shù)值。邏輯運算的結(jié)果也是數(shù)值。例:例:MOV BX , (VAL LT 5) AND 20) OR (VAL GE 5) AND 30)當(dāng)當(dāng)VAL 5時,匯編的結(jié)果應(yīng)該是:時,匯編的結(jié)果應(yīng)該是:MOV BX , 20否則,匯編結(jié)果應(yīng)該是:否則,匯編結(jié)果應(yīng)該是:MOV BX , 30注意:邏輯運算符和指令助記符的區(qū)別,注意:邏輯運算符和指令助記符的區(qū)別,表達式中的邏輯運算表達式中的邏輯運算符屬于偽指令,在匯編時起說明作用;而指令助記符則有機器符屬于偽指令,在匯編時起說明作用;而指令助記符則有機器指令與之對應(yīng)。指令與之對應(yīng)。235. 在數(shù)值表達式中使

24、用操作符在數(shù)值表達式中使用操作符(1)HIGH、LOW功能:取數(shù)值表達式的值的高功能:取數(shù)值表達式的值的高8位(或低位(或低8位)。位)。例:例:MOV AL , LOW 3080H將匯編成:將匯編成:MOV AL , 80HMOV AH , HIGH 2050H將匯編成:將匯編成:MOV AH , 20HMOV AH , HIGH(1234H + 5)將匯編成:將匯編成:MOV , 12HMOV AH , HIGH 1234H + 5將匯編成:將匯編成:MOV AH , 17H注意:最后注意:最后1題為什么是先取題為什么是先取1234H的高的高8位再加位再加5,而不是先,而不是先加加5再取高

25、再取高8位?位?246. 優(yōu)先級優(yōu)先級匯編語言中各種運算符和操作符的優(yōu)先級按高到低排列如下:匯編語言中各種運算符和操作符的優(yōu)先級按高到低排列如下:(1)圓括號圓括號,尖括號,尖括號,方括號方括號,圓點符,圓點符,LENGTH,SIZE,WIDTH , MASK。(2)PTR, OFFSET,SEG,TYPE, THIS,冒號冒號。(3)* , / , MOD, SHL, SHR(4)HIGH, LOW(5)+ , -(6)EQ,NE,LT,LE,GT,GE(7)NOT(8)AND(9)OR , XOR(10)SHORT257. 其它操作符其它操作符SEG、OFFSET、TYPE、LENGTH、

26、SIZE、PTR1)SEG 變量名或標(biāo)號變量名或標(biāo)號功能:取變量或標(biāo)號所在段的段值功能:取變量或標(biāo)號所在段的段值2)OFFSET 變量名或標(biāo)號變量名或標(biāo)號功能:取變量或標(biāo)號在段中的偏移功能:取變量或標(biāo)號在段中的偏移例:定義變量如下,假設(shè)例:定義變量如下,假設(shè)VARW的段內(nèi)偏移為的段內(nèi)偏移為100H。VARW DW 1234H, 5678HVARB DB 3,4MOV AX, SEG VARWMOV DS, AXMOV BX, OFFSET VARW; 100H 送送BXMOV DI, OFFSET VARW 2;102H送送DI, ;OFFSET優(yōu)先級高于優(yōu)先級高于+MOV SI, OFFSE

27、T VARB; 104H送送SI263)TYPE 變量名或標(biāo)號變量名或標(biāo)號功能:返回變量或標(biāo)號的類型。功能:返回變量或標(biāo)號的類型。定義常見類型及其對應(yīng)數(shù)值如下:定義常見類型及其對應(yīng)數(shù)值如下:字節(jié)(字節(jié)(BYTE)變量:)變量:1字(字(WORD)變量:)變量:2雙字(雙字(DWORD)變量:)變量:4近(近(NEAR)標(biāo)號:)標(biāo)號:-1遠(遠(FAR)標(biāo)號:)標(biāo)號:-2可見:可見:變量的類型值是對應(yīng)類型變量所占用的字節(jié)數(shù),而標(biāo)號變量的類型值是對應(yīng)類型變量所占用的字節(jié)數(shù),而標(biāo)號的類型值卻沒有實際的物理意義。的類型值卻沒有實際的物理意義。例:假設(shè)變量例:假設(shè)變量VARW的定義為的定義為“VARW

28、DW 1234H, 5678H”ADD SI, TYPE VARW將匯編成:將匯編成:ADD SI , 2274)LENGTH 變量名變量名功能:功能:返回利用返回利用DUP定義的數(shù)組中元素的個數(shù)定義的數(shù)組中元素的個數(shù)。如果變量定義語句中沒有使用如果變量定義語句中沒有使用DUP,則總返回,則總返回1。如果嵌套使用了如果嵌套使用了DUP,則只返回最外層的重復(fù)數(shù)。,則只返回最外層的重復(fù)數(shù)。例:定義變量如下例:定義變量如下VARW DW 1234H, 5678HVARB DB 3,4VARD DD 5 DUP(?)則則MOV CX, LENGTH VARW;1送送CXMOV CX, LENGTH VARB;1送送CXMOV CX, LENGTH VARD;5送送CX285)SIZE 變量名變量名功能:功能:返回利用返回利用DUP定義的數(shù)組占用字節(jié)的個數(shù)定義的數(shù)組占用字節(jié)的個數(shù)??砂聪率接嬎悖嚎砂聪率接嬎悖篠IZE 變量變量 = (LEGNTH 變量)變量)* (TYPE 變量)變量)例:定義變量如下例:定義變量如下VARW DW 1234H, 5678HVARB DB 3,4VARD D

溫馨提示

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

評論

0/150

提交評論