




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、2021年年12月月22日日 6AL操作碼字節(jié)80H程序存儲器指令碼操作碼字節(jié)12H程序存儲器AL指令碼AH34H12H34H80H80H12H34HMOV AL, 80HMOV AX, 1234H89C1程序存儲器AXCX指令碼(包括操作數(shù))直接尋址(直接尋址(Direct addressing) 當指令中的源操作數(shù)或目的操作數(shù),采用當指令中的源操作數(shù)或目的操作數(shù),采用直接給出被訪問內(nèi)存單元的邏輯地址時,這種直接給出被訪問內(nèi)存單元的邏輯地址時,這種尋址方式稱直接尋址。尋址方式稱直接尋址。例例:MOV AX , 3E4CHMOV 1234H , ALDS:20000H20000H21064H2
2、1064HAL操作碼641045代碼段數(shù)據(jù)段4545+ 1064H(2 2)寄存器間接尋址()寄存器間接尋址(Register indirect addressing) 內(nèi)存單元的邏輯偏移地址通過寄存器間接給出。內(nèi)存單元的邏輯偏移地址通過寄存器間接給出。例例: MOV SI , 61A8H MOV DX , SI5040MAX 寄存器間接尋址 MOV AX, SI MOV BX, AL30000HDS:30000HSI: 2000H+32000H32000H4050504064HMAL30000HDS:30000HBX: 1000H+31000H31000H64H64H(3 3)寄存器相對尋址
3、()寄存器相對尋址(Register RelativeRegister Relative addressing) 這種尋址方式中提出位移量的概念,即在寄存器這種尋址方式中提出位移量的概念,即在寄存器間接尋址給出的偏移地址上,加一相對位移量。位間接尋址給出的偏移地址上,加一相對位移量。位移量是一帶符號的移量是一帶符號的16位位16進制數(shù)。當使用進制數(shù)。當使用BX或或BP寄寄存器時,稱基址尋址;使用存器時,稱基址尋址;使用SI或或DI寄存器時,稱變寄存器時,稱變址尋址。址尋址。例例: MOV CX , 36HBX MOV 20BP , AL22064H22064H641045代碼段數(shù)據(jù)段操作碼CL
4、4545+ 1064H21000HBX: 1000HDS:20000H20000HEA=(BX)(BP)(DI)(SI)+8位 disp16位 dispMOV CL, BX+1064H56HMAHBP: 2000H+43200H43200HSI: 1200H56H56H(5 5)基址變址相對尋址()基址變址相對尋址(Relative Relative Based Indexed addressing) 它的它的EA是由三部分組成的,基址寄存器是由三部分組成的,基址寄存器BX或或BP的內(nèi)容加上變址寄存器的內(nèi)容再加的內(nèi)容加上變址寄存器的內(nèi)容再加位移量。物理地址由基址寄存器按規(guī)則選位移量。物理地址由
5、基址寄存器按規(guī)則選擇段寄存器,也可以使用段超越。擇段寄存器,也可以使用段超越。例例: MOV AX , 8AHBXSI該例中該例中EA8AHBXSI物理地址物理地址DS10H8AHBXSI 基址加變址相對尋址MOV BX+DI+1234H, AHEA=(BX)(BP)+(DI)(SI)+8位 disp16位 disp3412代碼段數(shù)據(jù)段操作碼45AH40000HDS:40000HBX: 0200H+DI: 0010H1234H454541444H41444HI/O(輸入(輸入/輸出)端口尋址輸出)端口尋址(I/O port addressing) 當操作數(shù)在外部設(shè)備時,使用當操作數(shù)在外部設(shè)備時
6、,使用I/O指令。指令。此時有兩種不同的尋址方式訪問此時有兩種不同的尋址方式訪問I/O端口。端口。 (1) 直接端口尋址方式。直接端口尋址方式。 (2) 采用采用DX寄存器間接尋址方式寄存器間接尋址方式例例:IN AL , 25HMOV DX , 3E4H OUT DX , ALI/O端口尋址方式 直接端口尋址方式IN AL, 21H21HAL操作碼21H代碼段8001H02HI/O接口80802021年年12月月22日日 29 間接端口尋址方式OUT DX, AL0001H0002HI/O接口80AL1234DX1234H8080+當前IPEA有效轉(zhuǎn)移地址opcode位移量PM(CS) 10
7、H + EA位移量opcodePM段地址偏移量IPCS2021年年12月月22日日 39通用數(shù)據(jù)傳送指令地址目標傳送指令MOV字節(jié)或字的傳送LEA裝入有效地址PUSH入棧操作LDS裝入數(shù)據(jù)段寄存器POP出棧操作LES裝入附加段寄存器XCHG 交換字或字節(jié)標志傳送指令XLAT表轉(zhuǎn)換LAHF標志寄存器低字節(jié)裝入AH輸入輸出指令SAHFAH內(nèi)容裝入標志寄存器低字節(jié)IN輸入PUSHF 標志寄存器入棧指令OUT輸出POPF出棧,并送入標志寄存器 1. 數(shù)據(jù)傳送類指令 數(shù)據(jù)傳送指令的主要功能是傳送數(shù)據(jù)、地址和標志。可分為通用數(shù)據(jù)傳送指令、輸入輸出指令、地址傳送指令和標志傳送指令。 (1)通用數(shù)據(jù)傳送指令
8、通用數(shù)據(jù)傳送指令可完成字節(jié)或字數(shù)據(jù)的傳送。它可分為數(shù)據(jù)傳送指令、堆棧操作指令、數(shù)據(jù)交換指令和字節(jié)轉(zhuǎn)換指令。 1) 數(shù)據(jù)傳送指令 指令格式:MOV dst,src ;(dst)(src)src表示源操作數(shù)(字/字節(jié)) 立即數(shù)操作數(shù) 寄存器操作數(shù)(包括段寄存器) 存儲器操作數(shù)dst表示目的操作數(shù)(字/字節(jié)) 寄存器操作數(shù)(不包括IP,CS段寄存器) 存儲器操作數(shù)段寄存器CS DS SS ES存儲器通用寄存器AX BX CX DXAX BX CX DXBP SP SI DIBP SP SI DIAL BL CL DLAL BL CL DLAH BH CH DHAH BH CH DHMOV指令數(shù)據(jù)傳送
9、方向16位8/16位8/16位16位8/16位 指令功能:將源操作數(shù)傳送(復制)到目的操作數(shù)。 傳送方向:如下圖所示。 立即數(shù)src表示源操作數(shù)(字) 寄存器操作數(shù)(包括段寄存器) 存儲器操作數(shù) 注意:堆棧指令的操作數(shù)只能是字操作數(shù)(即16位操作數(shù)),且不能是立即數(shù)。 進棧操作(PUSH):先移后進 出棧操作( POP):先出后移 彈出堆棧指令 指令格式及操作: POP dst ;(dst)(SP)+1:(SP), ;(SP)(SP)+2dst表示目的操作數(shù)(字) 寄存器操作數(shù)(不包括IP,CS段寄存器) 存儲器操作數(shù)61000H61001H61002H6100AH6100BH6100FH60
10、000HDS:60000HBX: 1000HAX: 000AH+6100AHHex_tableHex_table+1Hex_table+2Hex_table+AHex_table+BHex_table+FASCII表31H32H41H42H30H46H0AHALEA6100AH41H41HASCII表Hex_table=1000H34H12H00H40H2130H2132HDMDIDS1234H4000H1234H4000H2021年年12月月22日日 60 2、算術(shù)運算類指令指令格式操作功能標志位影響O S Z A P CADD dst, src(dst) (dst)+(src)ADC ds
11、t, src(dst) (dst)+(src)+(CF)INC dst(dst) (dst)+1AAAASCII碼調(diào)整指令DAA壓縮型BCD調(diào)整指令A(yù)DD加法指令A(yù)DD加法指令(Addition)格式 ADD dst,src。功能 dst(dst)+(src)源操作數(shù)和目的操作數(shù)的種類 ADD R,OPRD; OPRD: R,MEM,IMM ADD MEM, OPRD; OPRD:R 源和目的操作數(shù)類型必須一致,均為字源和目的操作數(shù)類型必須一致,均為字節(jié)或字。節(jié)或字。 影響的標志位為:影響的標志位為:CF、OF、PF、SF、ZF和和AFADC帶進位加法指令A(yù)DC帶進位加法指令(Addition
12、 with Carry)格式 ADC dst,src。功能 dst(dst)+(src)+(CF)源操作數(shù)和目的操作數(shù)的種類 ADD R,OPRD; OPRD: R,MEM,IMM ADD MEM, OPRD; OPRD:R 源和目的操作數(shù)類型必須一致,均為字節(jié)或字。源和目的操作數(shù)類型必須一致,均為字節(jié)或字。 影響的標志位為:影響的標志位為:CF、OF、PF、SF、ZF和和AF舉例 ADD AL,18H ;AL AL+18H ADC BL,CL ; BL BL+CL+CF ADC AX,DX ; AX AX+DX+CF ADD AL,COSTBX ; ADD COSTBX,BLADD與ADC舉
13、例舉例 分析下列指令對標志位的影響 MOV AL,5EH ; MOV BL,3CH; ADD AL,BL ;ADD與ADC舉例0101 1110+ 0011 11001001 1010運算后標志位:運算后標志位:ZF0,AF1,CF0,SFl,PF1,OF=1; 設(shè)兩個多字節(jié)十六進制數(shù)分別存放在設(shè)兩個多字節(jié)十六進制數(shù)分別存放在2000H和和3000H開始的存儲單元,低位在前,高位在后。開始的存儲單元,低位在前,高位在后。編寫程序計算:編寫程序計算:10008423H+20007E00H=?ADD與ADC舉例MOV SI,2000H ;取第一個數(shù)的首地址取第一個數(shù)的首地址MOV AX,SI ;將
14、第一個數(shù)的低將第一個數(shù)的低16位送位送AXMOV DI, 3000H ;取第二個數(shù)的首地址取第二個數(shù)的首地址ADD AX,DI ;第一個數(shù)和第二個數(shù)的低第一個數(shù)和第二個數(shù)的低16位相加位相加MOV SI,AX ;相加結(jié)果送到相加結(jié)果送到2000H和和2001H單元單元MOV AX,SI+2 ;取第一個數(shù)的高取第一個數(shù)的高16位送位送AXADC AX,DI+2 ;兩個數(shù)的高兩個數(shù)的高16位連同進位位相加位連同進位位相加MOV SI+2,AX ;相加結(jié)果送到相加結(jié)果送到2002H和和2003H單元單元INC增量指令I(lǐng)NC增量指令(Increment)格式 INC dst。功能 dst(dst)+1
15、操作數(shù)的要求 寄存器或內(nèi)存單元。指令主要用在循環(huán)程序中,對地址指針和循環(huán)計數(shù)器等進行修改;l指令執(zhí)行后影響AF、OF、PF、SF和ZF,但不影響CF。l要使內(nèi)存單元的內(nèi)容增1,必須說明該存儲單元類型。INC增量指令舉例 INC BL ;BL寄存器中內(nèi)容增1 INC CX ;CX寄存器中內(nèi)容增1 INC BYTE PTRBX ;內(nèi)存字節(jié)單元內(nèi)容增1 INC WORD PTRBX ;內(nèi)存字單元內(nèi)容增1 其中,PTR為類型說明符,前面加BYTE說明操作數(shù)類型為字節(jié),加WORD則說明操作數(shù)類型為字。十進制數(shù)(十進制數(shù)(BCDBCD碼)運算指令碼)運算指令十進制數(shù)(十進制數(shù)(BCDBCD碼)運算指令碼)
16、運算指令指令格式操作功能標志位影響O S Z A P CSUB dst, src(dst) (dst) (src)SBB dst, src(dst) (dst) (src) (CF)DEC dst(dst) (dst) 1NEG dst(dst) 0 (dst) 1CMP dst, src(dst) (src)AAS非壓縮型BCD調(diào)整指令DAS壓縮型BCD調(diào)整指令SUB減法指令SUB減法指令 (Subraction)格式 SUB dst,src。功能 dst(dst)-(src)。將對全部六個標志位有影響。舉例lSUB AX,BX ;AX AX-BXlSUB DX,1850H ;DX DX-1
17、850HlSUB BL,BX ;SBB帶借位的減法指令SBB帶借位的減法指令 (Subraction with Borrow)格式 SBB dst,src。功能 dst(dst)-(src)-(CF)。 除了減法時帶借位外,其他與SUB基本相同,主要用于多字節(jié)減法中。舉例 SBB AL,BL ;AL AL-BL-CFDEC減量指令DEC減量指令 (Decrement)格式 DEC dst。Dst:r,men功能 dst(dst)-1。指令對狀態(tài)標志位SF、ZF、AF、PF和OF有影響,但不影響進位標志CF。舉例lDEC BX ;BX BX-1lDEC WORD PTRBP ;堆棧段中位于BP偏
18、移地址處的字減1。DEC減量指令減量指令應(yīng)用實例: 在循環(huán)程序中常常利用DEC指令來修改循環(huán)次數(shù)。 MOV CX,0FFFFHCYC: ;some order DEC CX JNZ CYC HLT 程序段中DEC AX指令重復執(zhí)行65535次。NEG取負指令NEG取負指令 (Negate)格式 DEC dst。Dst:r,men功能 dst0-(dst)。對目的操作數(shù)取負。執(zhí)行指令后,可取負數(shù)的絕對值。舉例lNEG AX ;將AX中的數(shù)取負lNEG BYTE PTRBX ;對數(shù)據(jù)段中位于BX偏移地址處的字節(jié)取負。CMP比較指令CMP比較指令 (Compare)格式 CMP dst,src。功能
19、 (dst)-src。目的-源, 結(jié)果不回送到目的操作數(shù)中,僅反映在標志位上。注意事項 CMP指令的目的操作數(shù)可以是寄存器或存儲器,源操作數(shù)可以是立即數(shù)、寄存器或存儲器,但不能同時為存儲器。可以進行字節(jié)比較,也可以是字比較。CMP比較指令比較結(jié)果 CMP A,Bl若兩個被比較的內(nèi)容相等,則(ZF)=1。l兩無符號數(shù)比較時,CF是借位標志,如果CF為0,表示沒有借位,則AB;反之,則AB,否則AB。在數(shù)據(jù)段從在數(shù)據(jù)段從MYDATA開始的存儲單元中分別存放了開始的存儲單元中分別存放了兩個兩個8位無符號數(shù),試比較它們的大小,并將大者傳送位無符號數(shù),試比較它們的大小,并將大者傳送到到MAX單元。單元。
20、LEABX,MYDATA;MOV AL,BX ;第一個無符號數(shù)送;第一個無符號數(shù)送ALINC BX ;CMP AL,BX ;兩個數(shù)比較;兩個數(shù)比較JNC DONE ;若;若CF=0,則轉(zhuǎn),則轉(zhuǎn)DONEMOV AL,BX ;DONE: MOV MAX,AL CMP比較指令A(yù)AMBCD調(diào)整指令A(yù)L源操作數(shù)ALAHAX源操作數(shù)AXDX乘法指令指令指令含義含義時鐘數(shù)時鐘數(shù)MUL無符號數(shù)乘法70139+EAIMUL整數(shù)乘法80160+EAAAM乘法的ASCII調(diào)整83MUL無符號數(shù)乘法指令MUL無符號數(shù)乘法指令 (Multiply unsigned)格式 MUL src。功能 將源操作數(shù)和累加器中的數(shù)都
21、當成無符號數(shù),然后將兩數(shù)相乘,src可以是字(065535)和字節(jié)(0255)。操作數(shù)要求l可以是寄存器、存儲單元,但不能是立即數(shù);l源操作數(shù)是存儲單元時,必須在操作數(shù)前加B或W說明是字節(jié)還是字。MUL無符號數(shù)乘法指令運算情況 l源操作數(shù)是一個字節(jié) 源操作數(shù)與累加器AL中的內(nèi)容相乘,乘積為雙倍長的16位數(shù),高8位送到AH,低8位送AL。即 AXAL源。AL被乘數(shù)被乘數(shù)8位位操作數(shù)操作數(shù)乘數(shù)乘數(shù)8位位AX乘積乘積16位位MUL無符號數(shù)乘法指令運算情況 l源操作數(shù)是一個字 源操作數(shù)與累加器AX的內(nèi)容相乘,結(jié)果為32位數(shù),高位字放在DX寄存器中,低位字放在AX寄存器中。即 (DX,AX) AX 源A
22、X被乘數(shù)被乘數(shù)16位位操作數(shù)操作數(shù)乘數(shù)乘數(shù)16位位AX乘積乘積32位位DX舉例舉例MUL CL ;AL乘乘CL,結(jié)果在,結(jié)果在AX中中MUL BX ;AX乘乘BX,結(jié)果在,結(jié)果在DX:AX中中MUL BYTE DI ; AL乘存儲器乘存儲器(8位位),結(jié)果在,結(jié)果在AX中中MUL WORDBX ; AX乘存儲器字,結(jié)果在乘存儲器字,結(jié)果在DX:AX中中如果運算結(jié)果的高半部分如果運算結(jié)果的高半部分(在在AH或或DX中中)為零,則狀為零,則狀態(tài)標志位態(tài)標志位(CF)=(OF)=0,否則,否則(CF)=(OF)=1。因此,狀態(tài)。因此,狀態(tài)標志位標志位(CF)=(OF)=1,表示,表示AH或或DX中包
23、含著乘積的有效中包含著乘積的有效位。位。 舉例舉例MOV AL,14H ;(AL)=14H-20MOV CL,05H ;(CL)=05H-5MUL CL ;(AX)=0064H-100本例中結(jié)果的高半部分本例中結(jié)果的高半部分(AH)=0,因此,狀態(tài)標志,因此,狀態(tài)標志位位(CF)=(OF)=0,通過檢測標志,可以去除結(jié)果中的前,通過檢測標志,可以去除結(jié)果中的前導無效零。導無效零。有了乘法有了乘法(和除法和除法)指令,使有些運算程序的編程變指令,使有些運算程序的編程變得簡單方便。但是必須注意,乘法指令的執(zhí)行速度很得簡單方便。但是必須注意,乘法指令的執(zhí)行速度很慢,除法指令也是如此。慢,除法指令也是
24、如此。 IMUL整數(shù)乘法指令I(lǐng)MUL整數(shù)乘法指令 (Integer Multiply)格式 IMUL src。功能 將源操作數(shù)和累加器中的數(shù)都當成有符號數(shù),然后將兩數(shù)相乘,src可以是字(-3276832767)和字節(jié)(-128127)。操作數(shù)要求和運算情況 與MUL要求相同。舉例舉例IMUL CL ;AL乘乘CL,結(jié)果在,結(jié)果在AX中中IMUL BX ;AX乘乘BX,結(jié)果在,結(jié)果在DX:AX中中IMUL BYTE DI ; AL乘存儲器乘存儲器(8位位),結(jié)果在,結(jié)果在AX中中IMUL WORDBX ; AX乘存儲器字,結(jié)果在乘存儲器字,結(jié)果在DX:AX中中如果運算結(jié)果的高半部分如果運算結(jié)果
25、的高半部分(在在AH或或DX中中)為為0或或1,則狀態(tài)標志位則狀態(tài)標志位(CF)=(OF)=0,否則,否則(CF)=(OF)=1。因此,。因此,狀態(tài)標志位狀態(tài)標志位(CF)=(OF)=1,表示,表示AH或或DX中包含著乘積中包含著乘積的有效位。為的有效位。為0,則表示高半部分是符號擴展。,則表示高半部分是符號擴展。 正數(shù),正數(shù),AH或或DX 為全為全0負數(shù),負數(shù),AH或或DX為全為全1舉例舉例MOV AX,04E8H ;(AX)=04E8HMOV BX,4E20H ;(BX)=4E20HIMULBX ;(DX:AX)=(AX) (BX)以 上 指 令 的 執(zhí) 行 結(jié) 果 為 :以 上 指 令
26、的 執(zhí) 行 結(jié) 果 為 : ( D X ) = 0 1 7 F H ,(AX)=4D00H,且,且(CF)=(OF)=1。實際上,以上指令完成。實際上,以上指令完成帶符號數(shù)帶符號數(shù)+1256和和+20000的乘法運算,得到乘積為的乘法運算,得到乘積為+25120000。由于此時。由于此時DX中結(jié)果的高半部分包含著乘積中結(jié)果的高半部分包含著乘積的有效數(shù)字,故狀態(tài)標志位的有效數(shù)字,故狀態(tài)標志位(CF)=(OF)=1。AADBCD調(diào)整指令 除法指令指令指令含義含義時鐘數(shù)時鐘數(shù)DIV無符號除法80168+EAIDIV整數(shù)除法101190+EAAAD除法的ASCII調(diào)整60CBW 把字節(jié)轉(zhuǎn)換成字2CWD
27、 把字轉(zhuǎn)換成雙字5DIV無符號數(shù)除法指令DIV無符號數(shù)除法指令 (Division unsigned)格式格式 DIV src。功能功能 將兩個無符號數(shù)相除,被除數(shù)的長度必須是除數(shù)長度的兩倍,若不夠,必須擴展被除數(shù)的長度。操作數(shù)要求l可以是寄存器、存儲單元,但不能是立即數(shù);l源操作數(shù)是存儲單元時,必須在操作數(shù)前加B或W說明是字節(jié)還是字。舉例舉例MOV AX,0F05H ;(AX)=0F05HMOV DX,068AH ;(DX)=068AHMOV CX,08E9H ;(CX)=08E9HDIV CX ; 運算完畢后,商運算完畢后,商(AX)=BBE1H,余數(shù),余數(shù)(DX)=073CH 注意事項
28、執(zhí)行DIV指令時,如果除數(shù)為0,或字節(jié)除法時AL寄存器中的商大于FFH,或字除法時AX寄存器中的商大于FFFFH,則CPU立即自動產(chǎn)生一個類型號為0的內(nèi)部中斷。IDIV整數(shù)除法指令I(lǐng)DIV整數(shù)除法指令 (Integer Division)格式 IDIV src。功能 將兩個帶符號數(shù)相除,被除數(shù)的長度必須是除數(shù)長度的兩倍,若不夠,必須用CBW或CWD擴展被除數(shù)的長度。操作數(shù)要求與運算情況 同同DIV。注意事項注意事項 執(zhí)行執(zhí)行IDIV指令時,如果除數(shù)為指令時,如果除數(shù)為0,或字節(jié)除法時,或字節(jié)除法時AL寄存器中的商超出寄存器中的商超出-128127范圍,或字除法時范圍,或字除法時AX寄存器中的商
29、超出寄存器中的商超出-3276832767范圍,則范圍,則CPU立即自立即自動產(chǎn)生一個類型號為動產(chǎn)生一個類型號為0的內(nèi)部中斷。的內(nèi)部中斷。關(guān)于余數(shù)的符號關(guān)于余數(shù)的符號 在對有符號數(shù)進行除法運算時,例如在對有符號數(shù)進行除法運算時,例如-30除以除以8,可,可以得到商為以得到商為-4,余數(shù)為,余數(shù)為+2;也可以得到商為;也可以得到商為-3,余數(shù)為,余數(shù)為-6,兩結(jié)果都是正確的。兩結(jié)果都是正確的。 對于對于8086,規(guī)定余數(shù)的符號和被除數(shù)的符號相同,規(guī)定余數(shù)的符號和被除數(shù)的符號相同,因此第二種結(jié)果是因此第二種結(jié)果是8086執(zhí)行完以后的結(jié)果。執(zhí)行完以后的結(jié)果。被除數(shù)擴展問題被除數(shù)擴展問題 無論是無符號
30、數(shù)還是有符號數(shù)除法時,必須滿足被無論是無符號數(shù)還是有符號數(shù)除法時,必須滿足被除數(shù)長度是除數(shù)長度的兩倍。當不夠時,涉及到被除數(shù)除數(shù)長度是除數(shù)長度的兩倍。當不夠時,涉及到被除數(shù)的擴展。的擴展。無符號數(shù):被除數(shù)的擴展比較簡單,添上足夠的零就無符號數(shù):被除數(shù)的擴展比較簡單,添上足夠的零就可以了。以下指令將可以了。以下指令將AL中的一個中的一個8位無符號數(shù)擴展成為位無符號數(shù)擴展成為16位,存放在位,存放在AX中。中。MOV AL,0FBH;(AL)=11111011BXOR AH,AH;(AH)=00000000B 有符號數(shù):被除數(shù)的擴展必須根據(jù)各自的符號來完成,有符號數(shù):被除數(shù)的擴展必須根據(jù)各自的符號
31、來完成,因此,需要借助指令因此,需要借助指令CBW和和CWD完成。完成。CBW把字節(jié)轉(zhuǎn)換成字指令CBW把字節(jié)轉(zhuǎn)換成字指令 (Convert Byte to Word)格式 CBW。功能 把寄存器AL中字節(jié)的符號位擴充到AH的所有位。(AH被稱為AL的符號擴充),),不影響標志位。擴展方法 AL為正數(shù)(AL=80H)時,即D7=1時,使AH=0FFH。擴展方法擴展方法MOV AL,4FH ;(AL)=01001111BCBW ; 由于由于AL7FH,或者說,或者說AL為負數(shù)時,符號位為為負數(shù)時,符號位為1,AH應(yīng)補應(yīng)補1,因此,因此(AH)=11111111B CBW把字節(jié)轉(zhuǎn)換成字指令CWD把字
32、轉(zhuǎn)換成雙字指令CWD把字轉(zhuǎn)換成雙字指令 (Convert Word to Double Word)格式 CWD。功能 把寄存器AX中字的符號位擴充到DX的所有位。擴展方法AX為正數(shù)(AX7FFFH)時,即即D15=1時,使DX=0FFFFHCBW和和CWD指令在帶符號數(shù)的乘法指令在帶符號數(shù)的乘法(IMUL)和除和除法法(IDIV)運算中十分有用,在字節(jié)或字的運算之前,將運算中十分有用,在字節(jié)或字的運算之前,將AL或或AX中數(shù)據(jù)的符號位進行擴展。例如:中數(shù)據(jù)的符號位進行擴展。例如:MOV AL,MUL_BYTE;(AL)8位被乘數(shù)位被乘數(shù)(帶符號數(shù)帶符號數(shù))CBW ;擴展成為;擴展成為16位帶符
33、號數(shù),在位帶符號數(shù),在AX中中IMULBX ;兩個;兩個16位帶符號數(shù)相乘,結(jié)果在位帶符號數(shù)相乘,結(jié)果在DX:AX中中 CBW和CWD常見的用法: 清進位標志位:AND AX,AX 或 OR AL,AL等。 清零操作數(shù):XOR AX,AX 不僅把AX清零,而且也影響了狀態(tài)標志。 把某幾位取反:用XOR指令,把要取反的位和1異或,不變的位和0異或。 清零或置位某幾位:用AND指令清零,用OR指令置位。邏輯運算指令命令命令含義含義時鐘數(shù)時鐘數(shù)NOT取反316+EAAND與317+EAOR或316+EAXOR異或317+EATEST測試311+EANOT取反指令NOT取反指令 (Logical No
34、t)格式 NOT dst。功能 dst dst取反,執(zhí)行完后不影響標志位。操作數(shù)要求可以是8位或16位寄存器、存儲器。對于存儲器操作,需指明是字還是字節(jié)。AND邏輯與指令A(yù)ND邏輯與指令 (Logical AND)格式格式 AND dst,src。 src可以是立即數(shù)。功能功能 dst dstsrc,執(zhí)行完后影響標志位。主要用于使操作數(shù)的某些位保留(和“1”相與),而使某些位清除(和“0”相與)。操作數(shù)要求可以是8位或16位寄存器、存儲器,不能同時為men。對于存儲器操作,需指明是字還是字節(jié)。OR邏輯或指令OR邏輯或指令 (Logical OR)格式 OR dst,src。src可以是立即數(shù)。
35、功能 dst dstsrc,執(zhí)行完后影響標志位。主要用于使操作數(shù)的某些位保留(和“0”相或),而使某些位置1(和“0”相或)。)。操作數(shù)要求可以是8位或16位寄存器、存儲器,不能同時為men。對于存儲器操作,需指明是字還是字節(jié)。AND,OR,NOT舉例舉例 MOV AL, 35H; AL=0011,0101B AND AL, 0FH ; 0000,1111B,得AL=05H OR AL,70H ; 0111,0000B,得AL=75H NOT AL; 取反得1000,1010B ,即AL=8AHXOR異或指令XOR異或指令 (Exclusive OR)格式 XOR dst,src。 src可以是立即數(shù)。功能 dst dst src,執(zhí)行完后影響標志位。主要用于使操作數(shù)的某些位保留(和“0”相異或),而使某些位取反(和“1”相異或)。操作數(shù)要求 可以是8位或16位reg、men,不能同時為men。 對于存儲器操作,需指明是字還是字節(jié)。TEST測試指令TEST測試指令 (Test)格式 TEST dst,src。 src可以是立即數(shù)。功能 dstsrc,執(zhí)行完后影響標志位。但是與完后的結(jié)果不回送。主要用于對某些位數(shù)據(jù)的檢測,編程時,其后往往緊跟條件轉(zhuǎn)移指令。操作數(shù)要求可以是8位或16位寄存器、存儲
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度投資理財代理服務(wù)合同
- 二零二五年度吊車安全操作規(guī)程制定及執(zhí)行合同
- 二零二五年度冬季勞務(wù)掃雪環(huán)境保護協(xié)議
- 2025年度正規(guī)貨車駕駛員勞動合同及貨運業(yè)務(wù)操作規(guī)范合同
- 二零二五年度扶貧項目風險防范與應(yīng)急處理合作協(xié)議
- 二零二五年度合同糾紛賠償調(diào)解服務(wù)協(xié)議
- 二零二五年度名人房產(chǎn)銷售代理合同范本
- 2025年度智能制造股權(quán)抵押貸款合同
- 2025年度電子商務(wù)平臺合作解除終止范本
- 二零二五年度企業(yè)勞動合同解除與離職員工就業(yè)援助服務(wù)協(xié)議
- 2025年黑龍江交通職業(yè)技術(shù)學院單招職業(yè)技能測試題庫必考題
- 個人畫協(xié)議合同范本
- 2024-2025學年高一下學期開學第一節(jié)課(哪吒精神)主題班會課件
- 人教版2025-初中物理實驗室實驗課程安排
- 2024年無錫科技職業(yè)學院高職單招語文歷年參考題庫含答案解析
- 舞蹈藝術(shù)賞析課件
- 2025江蘇泰州興化市陳堡鎮(zhèn)村級后備干部招聘10人歷年高頻重點提升(共500題)附帶答案詳解
- 重慶市2025屆高三第一次學業(yè)質(zhì)量調(diào)研抽測化學試題 (含答案)
- 隔物灸課件:2025年版
- 室外廣告安全生產(chǎn)培訓
- 2025中冶建工集團限公司校園招聘114人高頻重點提升(共500題)附帶答案詳解
評論
0/150
提交評論