計算機原理與匯編匯編語言基礎(chǔ).ppt
《計算機原理與匯編匯編語言基礎(chǔ).ppt》由會員分享,可在線閱讀,更多相關(guān)《計算機原理與匯編匯編語言基礎(chǔ).ppt(76頁珍藏版)》請在裝配圖網(wǎng)上搜索。
匯編語言概述,一、概述1.高級語言與匯編語言比較,高級語言:語句變量說明/定義inty,a=25,b=3,c=76;給變量賦值y=2(a+b)-c,匯編語言:指令分配寄存器分配存儲單元數(shù)據(jù)傳遞,2.匯編程序結(jié)構(gòu)數(shù)據(jù)段堆棧段代碼段,;設(shè)置數(shù)據(jù)段DATASEGMENTADB25;數(shù)據(jù)ABDB3;數(shù)據(jù)BCDB76;數(shù)據(jù)CYDB?;存放結(jié)果DATAENDS;設(shè)置堆棧段STACK1SEGMENTPARASTACKDW20HDUP(0)STACK1ENDS,示例:,y=2(a+b)-c,;設(shè)置代碼段COSEGSEGMENTASSUMECS:COSEG,DS:DATA,SS:STACK1START:MOVAX,DATA;裝填段寄存器DSMOVDS,AXMOVAL,A;取數(shù)據(jù)AADDAL,B;計算(A+B)SALAL,1;計算2(A+B)SUBAL,C;計算2(A+B)-CMOVY,AL;存結(jié)果MOVAH,4CH;結(jié)束用戶程序,返回操作系統(tǒng)INT21HCOSEGENDSENDSTART,示例:,匯編語言:是匯編格式指令,偽指令的集合及其表示,使用這些指令的一組規(guī)則。機器語言:用二進制編碼的機器指令的集合及一組使用規(guī)則,它是CPU能直接識別的唯一語言。MOVDS,AX——匯編語言8ED8——機器語言(目標(biāo)代碼),匯編語言與機器語言,匯編語言與目標(biāo)代碼的對應(yīng),與機器語言相關(guān)效率高編寫源程序繁瑣調(diào)試?yán)щy,匯編語言特點,(1)程序執(zhí)行占用較短的時間,或者占用較小存儲容量的場合。(2)程序與計算機硬件密切相關(guān),程序直接控制硬件的場合。(3)需提高大型軟件性能的場合。(4)沒有合適的高級語言的場合。,匯編語言的主要應(yīng)用場合:,二、匯編語言語句種類,語句種類指令語句:又叫可執(zhí)行語句,在匯編時產(chǎn)生一個目標(biāo)代碼,對應(yīng)機器的一種操作。偽指令語句:又叫命令語句。用于指示匯編程序如何匯編源程序,沒有目標(biāo)代碼與之對應(yīng)。宏指令語句:由用戶自定義的指令。(指令的擴展),格式:名字操作符操作數(shù);注釋指令語句:[標(biāo)號:]助記符[操作數(shù)[,操作數(shù)]][;注釋]偽指令語句:[名字]定義符[參數(shù),...,參數(shù)][;注釋]命名規(guī)則:可以用?,@,_,數(shù)字和英文字符。名字的第一個字符不能是數(shù)字。名字的長度不受限制,但只有前31個字符有效。不允許用保留字作名字(指令,偽指令,寄存器名等)。,二、匯編語言語句格式,指令語句:[標(biāo)號:]助記符[操作數(shù)[,操作數(shù)]][;注釋],1.標(biāo)號:標(biāo)號是機器指令語句存放地址的符號表示,代表該指令目標(biāo)代碼的第一個字節(jié)地址,后面必須緊跟冒號“:”。2.指令助記符:指令助記符為語句的核心成分,表示了該語句的操作類型?!癕OV”3.操作數(shù):操作數(shù)表示指令助記符的操作對象。4.注釋:注釋均以分號開始,它可占一行或多行,一般放在一條語句的后面。,偽指令語句:[名字]定義符[參數(shù),...,參數(shù)][;注釋],1.名字(符號名):偽指令語句的一個可選項,空格表示結(jié)束,不得使用冒號。2.定義符(偽指令符):指定匯編程序要完成的具體操作,如數(shù)據(jù)定義偽指令DB、DW、DD,段定義偽指令SEGMENT,假定偽指令A(yù)SSUME等。3.參數(shù)(操作數(shù)):偽指令后面的操作數(shù)可以是常數(shù)、字符串、變量、表達式等,其個數(shù)由具體的偽指令決定,各個操作數(shù)之間必須以“逗號”分隔。4.注釋:偽指令的注釋必須以“;”開始,其作用同指令語句中的注釋部分。,三、符號定義語句,1.等值語句格式:符號EQU表達式表達式:常數(shù)或數(shù)值表達式地址表達式變量或標(biāo)號CONSTEQU10ADR1EQUDS:[BP+14H]ADR2EQUCONST+10COUNEQUVAR同一符號不能用EQU重新定義。匯編時,作為替代符號用,不產(chǎn)生目標(biāo)代碼,不占用存儲單元。,2.等號語句格式:符號=表達式CONT=5NUM=10HNUM=NUM+20H表達式形式同上,但可多次重新定義同一符號。,三、符號定義語句,例:DATASEGMENTDA1DB9AHDA2DW5678HDA3DD12345678HDATAENDS,變量的屬性:段屬性SEG偏移屬性O(shè)FFSET類型屬性TYPE,四、數(shù)據(jù)定義語句,格式:變量名DB/DW/DD表達式1,表達式2,...保留存儲空間,并可以完成數(shù)據(jù)的初始化。,格式:變量名DB/DW/DD表達式1,表達式2,...表達式:(1)數(shù)值(2)字符/字符串(3)?表達式:分配相應(yīng)數(shù)量的存儲單元,但不初始化。(4)帶DUP的表達式:使用重復(fù)數(shù)據(jù)操作符DUP,能方便地定義連續(xù)的存儲單元。格式:變量名DB/DW/DD表達式1,DUP(表達式2)次數(shù)內(nèi)容操作符DUP可以嵌套使用:DA_B3DB10HDUP(4DUP(3),8),四、數(shù)據(jù)定義語句,,DA_BYTE1DB50HDA_BYTE2DB10H,20H,30H,40HDA_WORD1DW0A34HDA_WORD2DW1234H,5678H,9ABCHDA_DWORDDD12345678H,9ABCDEFH,數(shù)值表達式,STRING1DB‘STRING’STRING2DW‘ST’,‘RI’,‘NG’STRING3DD‘ST’,‘RI’,‘NG’,字符串表達式,DA_BYTE3DB?,?DA_WORD3DW?,?,?表達式,,,DA_B1DB10HDUP(?)DA_B2DB20HDUP(‘ABCD’)DA_W1DW10DUP(4)DA_W2DW10DUP(-1,1),帶DUP表達式,格式:變量名DB/DW/DD表達式1,DUP(表達式2)操作符DUP可以嵌套使用DB10HDUP(4DUP(3),8);3,3,3,3,8重復(fù)10H次,次數(shù),內(nèi)容,數(shù)據(jù)類型,字節(jié)BYTE1字WORD2雙字DWORD4四字QWORD8十字節(jié)TBYTE10,DBDWDDDQDT,1.常數(shù)數(shù)值常數(shù):二、八、十、十六進制B,O,D,H字符串常數(shù)2.變量用數(shù)據(jù)定義語句定義并預(yù)置初值后,變量代表存儲單元的數(shù)據(jù),并作為該單元的符號地址。變量引用:(1)在指令語句的操作數(shù)字段中,引用的變量名作為地址表達式的組成部分之一。地址表達式的值:存放操作數(shù)的存儲單元偏移量。地址表達式的類型:同變量名的類型。(2)在用DW或DD的數(shù)據(jù)定義語句中,若操作數(shù)字段引用了變量名,則在分配的存儲單元中,預(yù)置被引用的變量名的地址部分——偏移量(DW;DD,前兩個字節(jié))——段基值(DD,后兩個字節(jié)),五、匯編語言數(shù)據(jù)與運算符,3.標(biāo)號:一條指令的符號地址。段屬性偏移屬性類型屬性NEAR/FAR類型屬性設(shè)置:(1)隱含方式:NEXT:MOVAX,3000(2)用LABEL偽指令設(shè)置類型屬性:標(biāo)號偽指令LABEL格式:名字LABEL類型與指令語句配合使用:名字(新標(biāo)號)LABEL類型(NEAR/FAR)SUB1_FARLABELFARSUB1:MOVAX,1234H與數(shù)據(jù)定義語句配合使用:名字(新變量名)LABEL類型(BYTE/WORD/DWORD)DATA_BYTELABELBYTEDATA_WORDDW20HDUP(563H),,,,,運算符,+–+–*/MODSHRSHL,運算格式,運算功能,+表達式–表達式表達式1+表達式2表達式1–表達式2表達式1*表達式2表達式1/表達式2表達式1MOD表達式2表達式1SHR次數(shù)表達式1SHL次數(shù),正數(shù)(單項運算符)負數(shù)(單項運算符)加法減法乘法除法(取商)模除(取余數(shù))右移左移,(1)算術(shù)運算符,4.運算符,只有減法運算可以用同一段內(nèi)的兩個變量相減,SHR、SHL不能對某寄存器或存儲單元內(nèi)容進行移位運算。,示例NUM=11011011BDATA1DWNUMSHL3,NUMSHR2...MOVAX,NUMSHL3MOVBX,NUMSHR2MOVCX,NUMSHL8MOVCX,NUMSHL16MOVDX,NUMSHR8MOVDX,NUMSHR16DATA1DW6D8H,36H...MOVAX,011011011000BMOVBX,00110110BMOVCX,1101101100000000BMOVCX,0MOVDX,0MOVDX,0,算術(shù)運算符,移位運算符不能對寄存器或存儲單元進行移位運算MOVAX,CXSHL5MOVDX,DATA1SHR3,邏輯運算符只能對一個具體數(shù)據(jù)進行邏輯運算,不能對一個寄存器操作數(shù)或存儲器操作數(shù)進行邏輯運算。,示例MOVAL,NOT0F0HMOVDX,NOT0F0HMOVBL,55HOR0F0HANDBH,55HAND0F0HXORCX,55HXOR50H,MOVAL,0FHMOVDX,0FF0FHMOVBL,0F5HANDBH,50HXORCX,5,全1為真,全0為假比較時,若為常數(shù)按無符號數(shù)比較;如果是變量,按偏移量比較,示例DATASEGMENTORG10HNUM1=1234NUM2=1234HDA_BYTEDB10HDUP(0)DA_WORDDW10HDUP(0)DA_VAR1DWNUM2+DA_BYTEGTNUM1+DA_WORDDA_VAR2DBNUM1LENUM2DATAENDS...MOVAX,NUM1LTNUM2MOVBL,NUM1GENUM2MOVCX,DA_WORDGTDA_BYTE...,...DA_VAR1DW0FFFFHDA_VAR2DB0FFH...MOVAX,0FFFFHMOVBL,0MOVCX,0FFFFH...,可以對兩個常數(shù)進行比較,不能用常數(shù)與偏移量進行比較,格式:運算對象是存儲器操作數(shù),由變量名或標(biāo)號組成地址表達式SEG:返回變量所在的段值OFFSET:返回變量所在偏移TYPE:返回變量的類型LENGTH:返回數(shù)組變量的元素個數(shù)SIZE:返回數(shù)組變量所占的總字節(jié)數(shù)SIZE=TYPE*LENGTH,(4)數(shù)值返回運算符,示例假設(shè)DATA的段基址是7A4EHDATASEGMENTORG30HDA1DB20HDUP(12H)DA2DWDA1...DATAENDS...MOVAX,SEGDA1MOVBX,SEGDA2MOVSI,OFFSETDA1MOVCX,DA2MOVDI,OFFSETDA2MOVDX,OFFSETDA1+4,MOVAX,7A4EHMOVBX,7A4EHMOVSI,30HMOVCX,DA2MOVDI,50HMOVDX,34H,用數(shù)字形式表示變量和標(biāo)號的類型屬性,示例DA_BYTEDB12HDA_WORDDW3456HDA_DWORDDD789AH...MOVAL,TYPEDA_BYTEMOVBL,TYPEDA_WORDMOVCL,TYPEDA_DWORD...MOVAL,1MOVBL,2MOVCL,4,LENGTH與SIZE運算符,LENGTH運算符返回數(shù)組變量的元素個數(shù)如果變量用DUP定義,Length為外層DUP的值如果沒有DUP定義,結(jié)果為1SIZE運算符數(shù)組變量所占的總字節(jié)數(shù)SIZE是LENGTH和TYPE的乘積,示例DATASEGMENTVAR1DB10HDUP(0)VAR2DB10H,20H,30H,40HVAR3DW10HDUP(‘A’,4DUP(3))VAR4DB‘COMPUTER’...DATAENDS...MOVAL,LENGTHVAR1;MOVAH,SIZEVAR1;MOVBL,LENGTHVAR2;MOVBH,SIZEVAR2;MOVCL,LENGTHVAR3;MOVCH,SIZEVAR3;MOVDL,LENGTHVAR4;MOVDH,SIZEVAR4;,(AL)=10H(AH)=10H(BL)=1(BH)=1(CL)=10H(CH)=20H(DL)=1(DH)=1,例:求數(shù)組ARRAY的各數(shù)據(jù)項的累加和,從數(shù)組最后一個數(shù)據(jù)項開始進行累加。ARRAYDW20HDUP(4)...XORAX,AXMOVSI,OFFSETARRAYADDSI,SIZEARRAY-TYPEARRAYMOVCX,LENGTHARRAYLOP:ADDAX,[SI]SUBSI,TYPEARRAYLOOPLOP,(5)屬性運算符PTR:類型PTR地址表達式類型可以是:BYTE,WORD,DWORD或NEARFAR僅在當(dāng)前語句中有效,是一種臨時設(shè)置。DA_BYTEDB20HDUP(0)DA_WORDDW10HDUP(0)MOVWORDPTRDA_BYTE[10],AXADDBYTEPTRDA_WORD[DI],BLINCBYTEPTR[SI]SUBWORDPTR[BX],30HJMPFARPTRSUB1,THIS:THIS類型THIS常與等值語句EQU一起用,形成新變量名或標(biāo)號,使它們具有THIS后所指的類型,而段基值和偏移量與緊接的變量名或標(biāo)號相同。例:DATA_BYTEEQUTHISBYTEDATA_WORDDW20HDUP(0)JUMP_FAREQUTHISFARJUMP_NEAR:XORAX,AX,(6)分離字節(jié)運算符HIGH表達式LOW表達式分離運算對象的高字節(jié)和低字節(jié)部分表達式必須具有常量值,如常數(shù)、地址表達式的偏移量,不能是存儲器操作數(shù)或寄存器內(nèi)容.,示例DATASEGMENTORG20HCONSTEQU0ABCDHDATA1DB10HDUP(?)DATA2DW20HDUP(?)...DATAENDS...MOVAH,HIGHCONSTMOVAL,LOWCONSTMOVBH,HIGH(OFFSETDATA1)MOVBL,LOW(OFFSETDATA2)MOVCL,LOW(CONSTSHL3),MOVAH,0ABHMOVAL,0CDHMOVBH,0MOVBL,30HMOVCL,68H,錯誤:MOVCH,HIGHDATA1MOVCL,LOWDATA1MOVDH,HIGHBPMOVDL,LOWAX,,,存儲器,寄存器,六、段結(jié)構(gòu)偽指令,1.段定義偽指令段名SEGMENT[定位類型][組合類型][‘類別名’]...段名ENDS定位類型(AlignType):PAGE(頁):本段從一個頁的邊界開始,起始地址能被256整除。PARA(節(jié)):本段從一個節(jié)的邊界開始,起始地址能被16整除。WORD(字):本段從偶字節(jié)地址開始。BYTE(字節(jié)):本段從任意地址開始。,組合類型(CombineType):表示段與段之間的連接:None:本段與其它段無連接關(guān)系,是獨立的。PUBLIC:本段與其它同段名同類型的段相連接在一起,然后為所有這些段指定一個共同的段基地址,形成一個新的邏輯段。COMMON:本段與其它同段名同類型的段設(shè)置相同的段基址,共享相同的存儲區(qū),段長度由同名段中最大的段確定。(覆蓋段),組合類型(CombineType):,STACK:與PUBLIC段相似,但此段為堆棧段,系統(tǒng)自動對SS寄存器和SP指針初始化。AT表達式:本段的起始單元可以定位在表達式所示的節(jié)邊界上。MEMORY:本段定位在所有其它段的最高地址,有多個段,只把第一個遇到的當(dāng)作此段。類別名(Class):用戶給定,在鏈接時把相同的段存儲在連續(xù)的存儲區(qū)。,,2.段尋址偽指令A(yù)SSUME段寄存器名:段名,段寄存器名:段名,...DS_DATASEGMENTVAR1DB12HDS_DATAENDSES_DATASEGMENTVAR2DB34HES_DATAENDSCODESEGMENTVAR3DB56H,ASSUMECS:CODE,DS:DS_DATASTART:.........INCVAR1INCVAR2INCVAR3...CODEENDSENDSTART,可用關(guān)鍵字NOTHING取消前面的某些設(shè)置。例:ASSUMEDS:NOTHING;取消對DS的設(shè)置ASSUMENOTHING;取消全部4個段R的設(shè)置,,ES:ES_DATA,3.段寄存器的裝入DS,ES的裝入DATA_DSSEGMENTDB1DB10HDUP(?)DATA_DSENDSDATA_ESSEGMENTDB2DB20HDUP(?)DATA_ESENDSCODESEGMENTASSUMECS:CODE,DS:DATA_DS,ES:DATA_ESSTART:MOVAX,DATA_DS;設(shè)置DSMOVDS,AXMOVAX,DATA_ES;設(shè)置ESMOVES,AX...CODEENDS,SS的裝入(1)STACK1SEGMENTPARASTACKDW20HDUP(?)STACK1ENDS(2)STACK2SEGMENTDW30HDUP(?)TOPLABELWORDSTACK2ENDS...CODESEGMENT...MOVAX,STACK2;設(shè)置SSMOVSS,AXMOVSP,OFFSETTOP;修改SP,自動裝入,執(zhí)行程序裝入,CS的裝入(1)結(jié)束偽指令...CODESEGMENTASSUMECS:CODE,.........START:...............CODEENDSENDSTART(2)CALL,RET;JMP;IRET,七、過程定義偽指令過程名PROC[NEAR/FAR]...RET過程名ENDP有三個屬性一個過程內(nèi),至少有一條返回指令RET調(diào)用過程使用CALL過程名段內(nèi)返回與段間返回,八、其它偽指令,1.ORG,$ORG表達式將表達式的值賦給位置計數(shù)器$存放位置計數(shù)器的當(dāng)前值,DATASEGMENTORG30H;$=30HDB1DB12H,34H;$=32HORG$+20H;$=52HSTRINGDB‘STRING’...DATAENDS--------------,ORG,$舉例,CODESEGMENT...ORG50HMOVAX,OFFSET$MOVBX,OFFSET$...CODEENDS,MOVAX,0050HMOVBX,0053H,DATASEGMENTDA1DB10HDUP(?)DA2DB12H,34HDA3DW56H,$+10H,78H,$+20H...DATAENDS,;$=10H,;$=12H,;$=1AH,八、其它偽指令,2.EVEN偽指令定位偶地址3.INCLUDE偽指令I(lǐng)NCLUDE文件名INCLUDE文件名例:INCLUDEFILE.MACINCLUDEB:\MASM\ABC.ASM,4.PUBLICPUBLIC符號1,符號2,......,PUBLICNUM1,STRING,SUB1,LOOP1DATA1SEGMENTNUM1EQU1234H...STRINGDB‘CHARACTERSTRING’...DATA1ENDS...CODE1SEGMENT...SUB1PROCFAR...SUB1ENDPLOOP1:......CODE1ENDSEND,5.EXTRN偽指令EXTRN符號1:類型,符號2:類型,......例:,EXTRNNUM1:ABS,STRING:BYTEEXTRNSUB1:FAR,LOOP1:NEAR:CODE2SEGMENT:MOVAX,NUM1LEABX,STRING:CALLSUB1:JMPFARPTRLOOP1:CODE2ENDSEND,八、其它偽指令,5.TITLE(標(biāo)題)偽指令,指定一個標(biāo)題格式:TITLE文本字符不超過80個例:TITLEEXAMPLEPROGRAM,九、宏指令,例:MULTAX10MACROPUSHBXSALAX,1MOVBX,AXSALAX,1SALAX,1ADDAX,BXPOPBXENDM,九、宏指令1.宏定義宏名MACRO[形參1,形參2,...]...ENDM,EXCHANGEMACROMEM1,MEM2,REGMOVREG,MEM1XCHGREG,MEM2MOVMEM1,REGENDM,2.宏調(diào)用宏名[實參1,實參2,...]EXCHANGEDA_BY1,DA_BY2,AL3.宏展開,;宏定義MULTAX10MACROPUSHBXSALAX,1MOVBX,AXSALAX,1SALAX,1ADDAX,BXPOPBXENDM;------------------------------------------------------------EXCHANGEMACROMEM1,MEM2,REGMOVREG,MEM1XCHGREG,MEM2MOVMEM1,REGENDM,;設(shè)置數(shù)據(jù)段DATASEGMENTDA_W01DW1234HDA_W02DW5678HDATAENDS;設(shè)置堆棧段STACK1SEGMENTPARASTACKDW20HDUP(?)STACK1ENDS;設(shè)置代碼段COSEGSEGMENTASSUMECS:COSEG,DS:DATA,SS:STACK1START:MOVAX,DATAMOVDS,AX...MULTAX10;宏指令語句+PUSHBX+SALAX,1,+MOVBX,AX+SALAX,1+SALAX,1+ADDAX,BX+POPBX...EXCHANGEDA_W01,DA_W02,CX:宏指令語句+MOVCX,DA_W01+XCHGCX,DA_W02+MOVDA_W01,CX...COSEGENDSENDSTART,4.宏操作符連接操作符宏展開SHIF1AX,HL,2+MOVCL,2+SHLAX,CLSHIF1BL,AR,3+MOVCL,3+SARBL,CL,文本操作符EXCHANGE,,AL宏展開MOVAL,BYTEPTRDA_WORD1XCHGAL,BYTEPTRDA_WORD2MOVBYTEPTRWORD1,AL字符操作符!格式:!字符宏定義:PROMPTMACRONUM,TEXTPROMP,5.LOCAL偽指令,LOCAL在匯編過程中,宏定義中的內(nèi)容會在每一次宏調(diào)用處展開。因此當(dāng)多次調(diào)用一個宏時,宏定義中的標(biāo)號會造成標(biāo)號重復(fù)定義。在宏定義中使用LOCAL偽指令可以使標(biāo)號被局部化,從而避免重復(fù)定義。LOCAL偽指令只能用在宏定義中,并且它必須是宏定義中緊跟在MACRO偽指令之后的第一個語句。,用連續(xù)相加的辦法實現(xiàn)無符號數(shù)乘法運算MULTIPMACROMULT1,MULT2,MULT3LOCALLOP,EXIT0MOVDX,MULT1MOVCX,MULT2XORBX,BXXORAX,AXJCXZEXIT0LOP:ADDBX,DXADCAX,0LOOPLOPEXIT0:MOVMULT3,BXMOVMULT3+2,AXENDM,設(shè)數(shù)據(jù)段有如下定義的變量:DA1DW1234H,5678HDA2DW120H,210HDA3DW4DUP(?),宏展開:...MULTIPDA1,DA2,DA3+MOVDX,DA1+MOVCX,DA2+XORBX,BX+XORAX,AX+JCXZ??0001+??0000:ADDBX,DX+ADCAX,0+LOOP??0000+??0001:MOVDA3,BX,,+MOVDA3+2,AX...MULTIPDA1+2,DA2+2,DA3+4+MOVDX,DA1+2+MOVCX,DA2+2+XORBX,BX+XORAX,AX+JCXZ??0003+??0002:ADDBX,DX+ADCAX,0+LOOP??0002+??0003:MOVDA3+4,BX+MOVDA3+6,AX...,6.宏嵌套宏定義嵌套嵌套的宏定義:JUMPMACROCONDJ&COND&SMACRODESTLOCALNEXT,EXITJ&CONDNEXTJMPEXITNEXT:JMPDESTEXIT:ENDMENDM,外層宏調(diào)用為:JUMPEJUMPNEJUMPGJUMPGE內(nèi)層宏調(diào)用為::JESSUB1;等于0轉(zhuǎn)移:JGESSUB2;大于或等于轉(zhuǎn)移:,當(dāng)宏匯編程序?qū)?nèi)層宏展開后,可得到如下結(jié)果:JE??0000JMP??0001??0000:JMPSUB1??0001::JGE??0002JMP??0003??0002:JMPSUB2??0003::,兩個宏定義:對32位數(shù)左移一位SHIFTMACRONUM1,NUM2SALNUM2,1RCLNUM1,1ENDM對32位數(shù)乘以12MULT12MACROM_R1,M_R2,REG1,REG2PUSHFPUSHREG1PUSHREG2SHIFTM_R1,M_R2SHIFTM_R1,M_R2MOVREG1,M_R1MOVREG2,M_R2,宏定義內(nèi)嵌套宏調(diào)用,SHIFTM_R1,M_R2ADDM_R2,REG2ADCM_R1,REG1POPREG2POPREG1POPFENDM某數(shù)據(jù)段已定義變量:在程序中可以編寫宏指令語句::MULT12DA_WORD+2,DA_WORD,AX,BX:MULT12AX,BX,CX,DX:7.宏庫,P2051,3P2065,7,9P20814,作業(yè),- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 計算機 原理 匯編 匯編語言 基礎(chǔ)
鏈接地址:http://www.820124.com/p-3590452.html