第3章 常用偽指令與匯編語言程序設(shè)計(1)-偽指令與源程序結(jié)構(gòu)_第1頁
第3章 常用偽指令與匯編語言程序設(shè)計(1)-偽指令與源程序結(jié)構(gòu)_第2頁
第3章 常用偽指令與匯編語言程序設(shè)計(1)-偽指令與源程序結(jié)構(gòu)_第3頁
第3章 常用偽指令與匯編語言程序設(shè)計(1)-偽指令與源程序結(jié)構(gòu)_第4頁
第3章 常用偽指令與匯編語言程序設(shè)計(1)-偽指令與源程序結(jié)構(gòu)_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章匯編偽指令與匯編語言程序設(shè)計這部分內(nèi)容,教材分散到第2章、第3章GLUT_C2013-08JCB13.1匯編語言中的標(biāo)記、表達(dá)式和偽指令3.1.1匯編語言概況由匯編程序執(zhí)行的匯編過程GLUT_C2013-08JCB2匯編語言——用指令助記符來表示機(jī)器語言。匯編語言編寫的程序——源程序。匯編語言中的指令與機(jī)器指令之間具有一一對應(yīng)的關(guān)系。經(jīng)過匯編后,得到目標(biāo)代碼。匯編語言是面向機(jī)器的語言。它的優(yōu)點——直接面向機(jī)器,硬件操作能力強,目標(biāo)代碼小,執(zhí)行效率高。缺點:與其它高級語言相比較,程序閱讀、理解相對困難,可移植性差。下面看一段匯編語言程序例子GLUT_C2013-08JCB3DATA SEGMENT ;數(shù)據(jù)段定義開始

DAIDB ‘INPUTSTRING:$’BUFDMADB 80H DUP(?)DATA ENDS ;數(shù)據(jù)段定義結(jié)束STACK SEGMENT ;堆棧段定義開始

ME1DB 80H DUP(?)STACK ENDS ;堆棧段定義結(jié)束CODE SEGMENT

;代碼段定義開始

ASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOV AX,DATA MOV DS,AX MOV DX,OFFSETMEI MOV AH,09H INT 21H MOV DX,OFFSETBUFDMA MOV AH,0AH INT 21HCODE ENDS ;代碼段定義結(jié)束END ;程序結(jié)束程序

例GLUT_C2013-08JCB43.1.2匯編語言指令的書寫格式及標(biāo)識符1.指令書寫格式標(biāo)號:指令助記符操作數(shù),(操作數(shù))

;注釋(1)標(biāo)號:又叫標(biāo)識符。為可選項,它在指令助記符前,以“:”結(jié)尾。標(biāo)號是該指令在內(nèi)存中存放的符號地址,轉(zhuǎn)移指令,過程調(diào)用指令通常使用該標(biāo)號來作為目的地址。一個程序段的開頭、一個數(shù)據(jù)段的開頭一般會給出標(biāo)識符。子程序第一條指令、轉(zhuǎn)移程序的轉(zhuǎn)移目的需要給出標(biāo)識符。GLUT_C2013-08JCB5①標(biāo)號由英文字母、數(shù)字、特殊字符:“_”,“@”,“?”,“$”等組成,但應(yīng)注意:第一個符號不能是數(shù)字;

“@”、“?”特殊字符不能單獨做標(biāo)號。保留字不能作為標(biāo)號使用。所謂保留字,就是所有的指令,偽指令以及匯編語言定義的特殊符號,例如ADD、LJMP、DB等。GLUT_C2013-08JCB6②標(biāo)號不是每一條指令都必須的,只有需要時,指令前面才加標(biāo)號。所謂需要,就是轉(zhuǎn)移指令的目的地址,或過程(子程序)的第一條指令,或其它目的。③標(biāo)號的長度:不超過31位。GLUT_C2013-08JCB7例如:STARTMY_CODEXABCD1?001L004ABC@ MOVDATA都是有效的標(biāo)號GLUT_C2013-08JCB8而以下這些標(biāo)號

4ABC

第一個字符是數(shù)字

MAIN!使用了非法字符!

STR=6

使用了非法字符=A/B

使用了非法字符/?

問號不能單獨作標(biāo)號使用

MOV

使用了保留字MOV

都是無效的標(biāo)號。保留字是指整個字符串,如果字符串中只有部分字符與保留字相同則沒關(guān)系例如:A_MOV_BAND123等,都是有效標(biāo)號。GLUT_C2013-08JCB9(2)指令助記符和操作數(shù)前面學(xué)過。GLUT_C2013-08JCB10(3)注釋是可選項,它主要是為了增加程序的可讀與可理解性,注釋部分不影響程序的執(zhí)行。注釋部分以“;”號開始,可以使用任何符號。一行寫不下,可以使用多行,凡是“;”后面的,都是注釋。注釋放在一段程序之前,對這段程序進(jìn)行說明?;蛘叻旁谥噶钪?,對這條指令執(zhí)行的作用進(jìn)行說明。GLUT_C2013-08JCB11

DATASEGMENT

;數(shù)據(jù)段定義開始

DA1 DB‘Thisisasampleprogram’DB0DH,0AH,’$’

DATAEMDS

;數(shù)據(jù)段定義結(jié)束

STACKSEGMENT

;堆棧段定義開始

ST1DB100DUB(?);定義100個字節(jié)

STACKENDS

GLUT_C2013-08JCB12CODESEGMENT

;代碼段定義開始MAINPROCFARASSUMECS:CODE,DS:DATA,SS:STACK;;代碼段開始,該段程序的功能是……; ORG1000

START:PUSHDS ;程序代碼開始

MOVAX,0 ……MAINEMDP ;代碼結(jié)束

CODEENDS

;代碼段定義結(jié)束

ENDSTART ;程序結(jié)束GLUT_C2013-08JCB132保留字匯編語言中用到的,不能給用戶隨意定義為其它功能的字符和字符串。例如:全部的指令助記符,寄存器名偽指令符號表達(dá)式符號等。GLUT_C2013-08JCB143.分界符匯編語言程序設(shè)計中,作為程序,或一條指令中兩個部分的分隔符用。例如兩個操作數(shù)之間的分隔符,標(biāo)號的分隔符 注釋的分隔符GLUT_C2013-08JCB154.常數(shù)在指令中,它就是立即數(shù)??梢允褂酶鞣N數(shù)制,注意不同數(shù)制的表示方式。如果是字符串,需要用單引號括起來,例如‘ABCD’它表示包含4個字符的字符轉(zhuǎn),分別用每個字符的ASCII碼存放41H,42H,43H,44H‘1234’表示的是字符串,存放31H,32H,33H,34HGLUT_C2013-08JCB165表達(dá)式(1).表達(dá)式的組成:操作數(shù)和運算符。(2).操作數(shù):可以代表一個數(shù)據(jù),也可以代表一個地址。邏輯運算符關(guān)系運算符分析運算符綜合運算符GLUT_C2013-08JCB176.運算符(1)算術(shù)運算符包括+;-;*;/;取模運算MOD算術(shù)運算符、數(shù)據(jù)構(gòu)成算術(shù)表達(dá)式,算術(shù)表達(dá)式與算術(shù)運算指令有區(qū)別——算術(shù)表達(dá)式在匯編時求出表達(dá)式的值,作為指令中的一個操作數(shù)。

——算術(shù)指令是在程序運行時執(zhí)行取模運算MOD——兩數(shù)相除,取它的余數(shù)。例如:20MOD7結(jié)果為?655MOD6=1GLUT_C2013-08JCB18(2)邏輯運算符包括:與(AND);或(OR),非(NOT),異或(XOR)注:只能對常數(shù)進(jìn)行,結(jié)果也是常數(shù)他與指令的邏輯運算有區(qū)別——該運算符在匯編時進(jìn)行計算,而指令實在程序執(zhí)行過程中進(jìn)行運算。例如ANDAX,00FFH ANDDX,PORTAND0FEH邏輯表達(dá)式,匯編時計算出結(jié)果邏輯指令,程序執(zhí)行時起作用GLUT_C2013-08JCB19(3)關(guān)系運算符兩個操作數(shù)的關(guān)系相等EQ,不等NE,小于LT,大于GT,小于或等于LE,大于或等于GE。參與運算的兩個操作數(shù)必須都是數(shù)據(jù),或者是同一段存儲單元的地址;結(jié)果是數(shù)據(jù),關(guān)系成立,結(jié)果等于0FFFFH, 或0FFFFFFFFH

如果關(guān)系不成立,結(jié)果等于0例如: MOVBX,PORTLT3如果確實PORT<3,則匯編后,得到的代碼相當(dāng)于指令MOVBX,0FFFFHGLUT_C2013-08JCB20反之,如果關(guān)系不成立,匯編后的機(jī)器代碼相當(dāng)于MOVBX,0關(guān)系運算符往往和邏輯運算符組合使用。例如MOVBX,((PORTLT5)AND20)OR((PORTGE5)AND30)如果是32位寄存器,結(jié)果0,或0FFFFFFFFHGLUT_C2013-08JCB21(4).分析運算符將存儲單元的地址分解為段碼和偏移值。OFFSET——取偏移地址例如MOVDX,OFFSETDATSEG——取存儲單元的段碼(段基址)例如:MOVAX,SEGABC MOVDS,AX ……TYPE——SIZE——LENGTH——GLUT_C2013-08JCB22(5).綜合運算符主要要求掌握PTR——與BYTE,WORD,DWORD合用,定義存儲單元的類型。MOVBYTEPRT[1000],12HMOVWORDPTR[1000H],12HGLUT_C2013-08JCB233.1.3語句匯編語言程序有一系列語句有序構(gòu)成。兩種語句指令性語句就是一條指令。例如MOVAX,1234HADDAX,BX

指示性語句不產(chǎn)生機(jī)器指令代碼的語句,又叫偽指令語句。ABCDB50H,35HSEGMENTCODE等GLUT_C2013-08JCB24它們的區(qū)別:指令性語句對應(yīng)著一條機(jī)器指令,匯編后會產(chǎn)生對應(yīng)的機(jī)器指令代碼指示性語句只為匯編過程提供某些信息,讓匯編程序在匯編過程中執(zhí)行某些特定的功能。指示性語句使用標(biāo)號時,標(biāo)號后不用冒號分隔符。最本質(zhì)的區(qū)別:是否產(chǎn)生目標(biāo)代碼。GLUT_C2013-08JCB253.2偽指令最常用的偽指令有:CPU定義.586/.586P·標(biāo)號賦值EQU;·定義存儲單元DB、DW、DD、DQ、DT;·定義存儲類型BYTE、WORD、DWORD;·段定義位指令SEGMENT、ENDS、ASSUME和ORG;簡約段定義位指令DATA、STACK、CODE·過程定義PROC、ENDP、NEAR、FAR;·程序結(jié)束ENDGLUT_C2013-08JCB26默認(rèn)為8086,如果不是,則需要定義。例如.386.586.586P3.2.1確定CPU的偽指令GLUT_C2013-08JCB273.2.2.標(biāo)號賦值偽指令EQU定義標(biāo)號或符號常數(shù)

比如:

ABC EQU220 XYZ EQUABC程序設(shè)計中,對一些端口,或常數(shù),一般會定義一個符號常數(shù),然后再源程序設(shè)計中使用符號常數(shù)。例如COM1EQU3F8HCOM2EQU2F8HLPTEQU378HGLUT_C2013-08JCB28DB、DW、DD(2字)、DQ(4字既8字節(jié))、DT(10字節(jié))

比如:

COUNT1 DT ?

相當(dāng)于語句

COUNT1 DB 10DUP(?)3.2.3定義存儲單元的偽指令GLUT_C2013-08JCB291.字節(jié)定義偽指令DB(1)格式:

[名稱]DB<數(shù)據(jù)表>注意:方括號[]中的內(nèi)容表示是可選項,(2)功能:定義字節(jié)型數(shù)據(jù),數(shù)據(jù)表中的每個數(shù)據(jù)占據(jù)一個字節(jié)單元,從“名稱”給出的符號地址開始存放,具體在內(nèi)存中的存放地址由匯編程序安排。GLUT_C2013-08JCB30例:

CR DB 0DH LF DB 0AH BUF_DIS DB ? ;預(yù)留一字節(jié),不初始化

DO_2 DB 9DUP(?) DONT DW 10DUP(?) TABLE DB 00,01,03,02,06,04,05,07 DB 0FH,0EH,0CH,0DH,09 DB0BH,0AH,08GLUT_C2013-08JCB31例如:DATDB02,01,03,04,05DB06,

?,08,09,10注1:名稱與DB之間留有至少一個空格,DB與第一個數(shù)據(jù)之間也要至少有一個空格,數(shù)據(jù)表中的個數(shù)據(jù)之間用“,”號隔開,一行的最后一個數(shù)據(jù)后面不能有“,”號??梢允褂枚嘈?。數(shù)據(jù)按順序存放。?號表示只保留存儲單元,不定義初始化值02DAT010304050608090A?對應(yīng)的字節(jié)GLUT_C2013-08JCB32注2:

如果數(shù)據(jù)列表中的數(shù)據(jù)使用單引號括起來的一個字符串例如STDB‘AB123’它表示定義一個字符串。該字符串中的每個字符用它對應(yīng)的ASCII碼表示,并將其按順序存放在以符號地址ST開始的存儲空間中

41ST42312233

每個字符占一個字節(jié),用個字符的ASCII碼作為字符的值GLUT_C2013-08JCB33注3:

DUP表示重復(fù)例:DO_2 DB 9DUP(?)表示連續(xù)定義9個字節(jié)數(shù)據(jù),均不初始化--DO_2----------------050505----DO_3DO_3 DB3DUP(5)連續(xù)定義3個字節(jié)數(shù)據(jù),初始化為5GLUT_C2013-08JCB34用DB定義的變量,在程序設(shè)計時,如果要取變量的值,可以直接寫出變量,匯編程序匯編時,能夠確定是從變量存放的存儲空間取數(shù)據(jù),而不是立即尋址的立即數(shù)。例如:計算有三個元素的數(shù)組Z=X+YDATASEGMMENTDATAX DB34H,56H,78HY DB01H,09H,06HZ DB3DUP(?) ;DATAENDSCODESEGMENTSTART:MOV AX,DATA ;取段開始地址

MOV DS,AX ;開始地址送數(shù)據(jù)段基址寄存器DS MOV AL,X ;取變量X的第一個數(shù)據(jù),AL=34H ADD AL,Y ;Al的內(nèi)容與變量Y的第一個值相加,執(zhí)行后

;AL=34H+01H=35H

MOVZ,AL MOV AL,X+1 ;AL=56HGLUT_C2013-08JCB35

ADD AL,Y+1 ;AL=56H+09H=5FH MOV Z+1,AL ; MOV AL,X+2 ADD AL,Y+2 MOV Z+2,AL ……CODEENDS END如果要去X、Y、Z的偏移地址,使用

MOV BX,OFFSETX或使用

LEA BX,X指令中的寄存器BX可以是任何一個通用寄存器。對于DW、DD、DQ、DT位指令定義的變量與此類似進(jìn)行存取。X345678Y010906Z355F7EGLUT_C2013-08JCB362字定義偽指令(1)格式:

[名稱]DW<數(shù)據(jù)表>(2)功能:定義16位的字型數(shù)據(jù),數(shù)據(jù)表中的每個數(shù)據(jù)占據(jù)2個字節(jié),按地址增加的方向順序存放。例如:ABCDDW01H,02H,1234H,DW5678H,0ABCDH每個字的數(shù)據(jù)占用2個字節(jié),低字節(jié)在前高字節(jié)在后。為了字對齊,在自定義前可以使用對齊偽指令

EVEN(偶數(shù)地址) 或者ALIGNNumb;Numb=1,2,4,8,1601ABCD00020034127856CDABGLUT_C2013-08JCB37例ABCDB‘ABC12345’EVEN ;偶數(shù)地址EFGDW6,8,9或者ABCDB‘ABC12345’ALIGN2 ;2字節(jié)對齊EFGDW6,8,9GLUT_C2013-08JCB383四字節(jié)定義偽指令

(1)格式:

[名稱]DD<數(shù)據(jù)表>(2)功能:定義4字節(jié)的數(shù)據(jù),數(shù)據(jù)表中的數(shù)據(jù)從符號地址開始,每個數(shù)據(jù)占據(jù)4個字節(jié),每個字從低位開始按順序存放。例如:ABCDDD12345678H,23456789H,3456789AHDD456789ABH,56789ABCH,6789ABCDH為了雙字對齊存放,在DD指令前可以使用

ALING4GLUT_C2013-08JCB39例:ABCDB01,02,03,04,05ALIGN4 ;四字節(jié)(雙字)對齊ABCDDD12345678H,23456789H,3456789AHDD456789ABH,56789ABCH,6789ABCDHGLUT_C2013-08JCB404.8字節(jié)定義偽指令(1)格式:[名稱]DQ<數(shù)據(jù)表>(2)功能:定義8字節(jié)的數(shù)據(jù)。數(shù)據(jù)表中的數(shù)據(jù)從符號地址開始,每個數(shù)據(jù)占據(jù)8個字節(jié)。GLUT_C2013-08JCB41510字節(jié)定義偽指令(1)格式:

[名稱]DT<數(shù)據(jù)表>(2)功能:定義10字節(jié)的數(shù)據(jù)。數(shù)據(jù)表中的數(shù)據(jù)從符號地址開始,每個數(shù)據(jù)占據(jù)10個字節(jié)。GLUT_C2013-08JCB423.2.4復(fù)制操作偽指令(1)格式:<復(fù)制次數(shù)>DUP<數(shù)據(jù)表>(2)功能:重復(fù)定義數(shù)據(jù)。例如:

ABCDDB3DUP(1,2,3)表示連續(xù)定義3組一樣的數(shù)據(jù),在內(nèi)存中的存放

它可以在字節(jié)型、字型……等中使用。01H02HABCD03H01H02H03H01H02H03HGLUT_C2013-08JCB43可以使用問號“?”表示未確定的數(shù)據(jù),只是預(yù)留存儲單元。例如:CDEFDW2DUP(?,2)重復(fù)2組,每組2個字型(16位)數(shù)據(jù),第一個數(shù)據(jù)不進(jìn)行初始化,第二個數(shù)據(jù)為0002H----CDEF02H00H----02H00HGLUT_C2013-08JCB443.2.5段定義偽指令8086/8088存儲器是分段管理的,每個邏輯段長度不大于64KB。程序、數(shù)據(jù)、堆棧通常存放在各自不同的分段中。當(dāng)程序代碼較長,或需要分塊編寫時,程序也可以存放在不同的分段中。這些段需要用段定義偽指令進(jìn)行說明與控制。GLUT_C2013-08JCB45格式:

段名

SEGMENT[定位方式][連接方式][‘類別名’]……

段名

ENDS它們成對使用。

功能:定義一個邏輯段,指定段的名字和范圍,段在內(nèi)存中的起始地址,段與段之間的連接關(guān)系。段的屬性可選,如果選擇,各項的順序不能錯,且用空格分開GLUT_C2013-08JCB461定位方式:有4種

可選。(1)PAGE方式:段起始地址的低8位全是0。 定義為頁的開始地址,規(guī)定每頁256字節(jié),故低8位地址為0(2)PARA方式:段起始地址的低4位全是0。定義為節(jié)的開始地址,規(guī)定每節(jié)16字節(jié),故低4位地址為0(3)WORD方式:段起始地址的低1位全是0。在字對準(zhǔn)方式,字地址的為偶數(shù)地址,故地位地址為0(4)BYTE方式:段起始地址可以是任何地址。如果不選擇,使用默認(rèn)方式——PARAGLUT_C2013-08JCB472連接方式:告訴連接程序,所定義的段與其它段如何進(jìn)行連接。共有6種連接方式。(1)NONE:本段與其它邏輯段沒有關(guān)系,有獨立的段地址。這是隱含的方式。例如:DATASEGMENTXDB20H ALIGN2 ;字對齊

YDW1234HDATAENDS

GLUT_C2013-08JCB48(2)PUBLIC:告訴連接程序,將本段與其它同名同類別的段連接在一起,形成一個物理段。這樣,連接在一起的段具有共同的段起始地址,但具有不同的偏移地址。連接次序由連接命令指定。這也說明,段定義可以在程序中定義多個,可以重名。GLUT_C2013-08JCB49例如:DATA1SEGMENTPUBLICXDB10HDATA1ENDSDATA1SEGMENTPUBLICYDW2345HDAT1ENDS是兩個同名、同類別的段,連接時,將合成一個段。GLUT_C2013-08JCB50(3)STACK:表示是堆棧段。連接方式同PUBLIC。每個程序至少有一個堆棧段,如果沒有指定,則連接程序會報錯,同時取約定的堆棧段。(4)COMMNON:與其它同名同類別段公用一個物理段,具有相同的段地址,程序運行時產(chǎn)生覆蓋,即用完后,他又被其它程序使用。這種覆蓋技術(shù)可以節(jié)省內(nèi)存。(5)MEMORY:該段定義在其它所有段之上,即定位在高地址處。如果定義了多個這樣的段,則連接程序?qū)⒌谝粋€遇到的段作為該類型段,其它則作為COMMON段處理。GLUT_C2013-08JCB51(6)AT<表達(dá)式>:表達(dá)式是可以求出16位值的,該方式告訴連接程序:直接將段定義在16位的表達(dá)式的值。GLUT_C2013-08JCB523類別名用單引號‘’括起來的符號。它與標(biāo)號的定義規(guī)則相同。它是程序員起的一個與段名不同的另一個名字信息。作用:程序中所有的類別相同的段將被組成一個段組,該段組以他們共同的類別作為名字。常用的類別:STACKCODEDATA例如:STACKSEGMENTPARASTACK‘STACK’SATPNDB100DUP(?)STACKENDSGLUT_C2013-08JCB533.2.6段寄存器說明偽指令教材上又叫做假定偽指令。格式:

ASSUMESEG:段名[,SEG:段名2…]功能:告訴匯編程序,在匯編時,各段寄存器所對應(yīng)的邏輯段基址。除代碼段外,所有段寄存器的實際值必須用傳送指令在程序運行時進(jìn)行賦值。GLUT_C2013-08JCB54例:NAMESAMPLEDATASENMENTXDB10HENEN ;字對齊

YDW2020HDATAENDSSTACKSEGMENTDW128DUP(?)STACKENDSCODESEGMENT

ASSUMECS:CODE,DS:DATA,SS:STACK代碼段,寄存器CSDATA段,寄存器DSGLUT_C2013-08JCB55START:MOVAX,DATA;數(shù)據(jù)段開始地址

MOVDS,AXMOVAX,STACK;堆棧段開始地址

MOVSS,AX……CODEENDS;代碼段結(jié)束ENDSTART;程序結(jié)束GLUT_C2013-08JCB56ASSUME偽指令的說明(1)位置在代碼段內(nèi)。第一個ASSUME語句緊跟段代碼段定義語句后。它定義當(dāng)前段段寄存器。(2)如果沒有新的ASSUME偽指令重新定義,則原有定義一直有效。(3)不在當(dāng)前段內(nèi)的變量和數(shù)據(jù)存儲單元是不可訪問的。(4)ASSUME偽指令不產(chǎn)生目標(biāo)代碼,僅告訴匯編程序,哪些段是當(dāng)前段,分別與哪個段寄存器關(guān)聯(lián)。(5)如果在程序中間用ASSUME定義了新的DS或ES關(guān)聯(lián)段,則緊跟著該偽指令后,應(yīng)該將新的段的首地址送DS或ES。(6)匯編程序利用該偽指令給出的信息產(chǎn)生正確的目標(biāo)代碼。GLUT_C2013-08JCB573.2.7定位偽指令ORG

格式:

ORG<表達(dá)式>功能:告訴匯編程序,后面的程序或數(shù)據(jù)從表達(dá)式指定的地址開始存放。EVEN格式:

EVEN<表達(dá)式>功能:告訴匯編程序,后面的程序或數(shù)據(jù)從偶數(shù)地址開始存放。如果前面存放,留有一個奇數(shù)地址,則空下。GLUT_C2013-08JCB58例如:DATASEGMENTXDB10HEVENYDW0200HORG06HZDB‘A’DATAENDS假設(shè)開始地址為0000H,則數(shù)據(jù)的存放。10H--0000H00H02H41H0001H0002H0003H0007H0004H0005H0006H0008HGLUT_C2013-08JCB593.對齊偽指令A(yù)LIGN(1)

格式:

ALIGN

Num

其中:Num必須是2的冪,如:1、2、4、8和16等。(2)作用:告訴匯編程序,本偽指令下面的內(nèi)存變量必須從下一個能被Num整除的地址開始分配。

如果下一個地址正好能被Num整除,那么,該偽指令不起作用,否則,匯編程序?qū)⒖粘鋈舾蓚€字節(jié),直到下一個地址能被Num整除為止。

GLUT_C2013-08JCB603.2.8定義存儲單元類型的偽指令PTR確定存儲器操作數(shù)的屬性(字節(jié)數(shù))BYTE

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論