匯編語言 (2)ppt課件_第1頁
匯編語言 (2)ppt課件_第2頁
匯編語言 (2)ppt課件_第3頁
匯編語言 (2)ppt課件_第4頁
匯編語言 (2)ppt課件_第5頁
已閱讀5頁,還剩113頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)第第2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.1 尋址方式尋址方式2.2 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令2.3 算術(shù)運算類指令算術(shù)運算類指令2.4 位操作類指令位操作類指令2.5 串操作類指令串操作類指令2.6 控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令2.7 處理機控制類指令處理機控制類指令開開 始始第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)80868086CPUCPU的指令系統(tǒng)的基本指令的指令系統(tǒng)的基本指令 包括數(shù)據(jù)傳送類指令、算術(shù)運算類指令、位操作類指令、串操包括數(shù)據(jù)傳送類指令、算術(shù)運算類指令、位操作類指令、串操作類指令、控制轉(zhuǎn)移類指令

2、、處理機控制類指令。后幾節(jié)將分作類指令、控制轉(zhuǎn)移類指令、處理機控制類指令。后幾節(jié)將分別介紹這些指令的語句格式和功能。別介紹這些指令的語句格式和功能。第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)80868086CPUCPU的指令的共同的規(guī)律的指令的共同的規(guī)律 l l 大多數(shù)數(shù)據(jù)傳送類指令、算術(shù)運算類指令、位操作類指令及串操大多數(shù)數(shù)據(jù)傳送類指令、算術(shù)運算類指令、位操作類指令及串操作類指令,其雙操作數(shù)指令有相同的語句格式和操作規(guī)定。作類指令,其雙操作數(shù)指令有相同的語句格式和操作規(guī)定。 語句格式:語句格式:標(biāo)號:標(biāo)號: 操作符操作符 OPD, OPS ;注釋注釋l l 算術(shù)運算和位操作類指令的

3、部分單操作數(shù)指令有相同的語句格式算術(shù)運算和位操作類指令的部分單操作數(shù)指令有相同的語句格式和操作規(guī)定。和操作規(guī)定。語句格式:語句格式:標(biāo)號:標(biāo)號: 操作符操作符 OPD ;注釋注釋第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.1 尋址方式尋址方式2.1.1 寄存器尋址寄存器尋址2.1.2 寄存器間接尋址寄存器間接尋址2.1.3 變址尋址變址尋址2.1.4 基址加變址尋址基址加變址尋址2.1.5 立即尋址立即尋址2.1.6 直接尋址直接尋址2.1.7 跨段問題跨段問題返回本章首頁返回本章首頁第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.1.1 寄存器尋址寄存器尋址寄存器尋址方式

4、的操作數(shù)在指令指明的寄存器中。寄存器尋址方式的操作數(shù)在指令指明的寄存器中。匯編格式:匯編格式:R 其中其中R表示寄存器名。表示寄存器名。功能:操作數(shù)直接存放在寄存器功能:操作數(shù)直接存放在寄存器R中。中。圖形表示:圖形表示: R 指令指令操作數(shù)操作數(shù)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)【例【例2.12.1】 下列程序執(zhí)行后,下列程序執(zhí)行后,(AX)=?,(?,(BX)=? MOV AX,1234H MOV BX,5678H ADD AX,BX該程序中該程序中MOV指令為數(shù)據(jù)傳送指令操作符,指令為數(shù)據(jù)傳送指令操作符,ADD指令為加法指令操作符,指令為加法指令操作符,三條指令皆為雙操

5、作數(shù)指令。第一、二條指令三條指令皆為雙操作數(shù)指令。第一、二條指令A(yù)X、BX皆為目的操作數(shù)地皆為目的操作數(shù)地址,為寄存器尋址方式。第三條指令中,址,為寄存器尋址方式。第三條指令中,AX為目的操作數(shù)地址,為目的操作數(shù)地址,BX為源為源操作數(shù)地址。源地址和目的地址皆為寄存器尋址方式。操作數(shù)地址。源地址和目的地址皆為寄存器尋址方式。第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)圖形表示:圖形表示:執(zhí)行:執(zhí)行:1234HAX 5678HBX (AX)+(BX)AX執(zhí)行后:(執(zhí)行后:(AX)=68ACH,(,(BX)=5678H返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.

6、1.2 寄存器間接尋址寄存器間接尋址寄存器間接尋址方式中,寄存器的內(nèi)容為操作數(shù)的偏移地址寄存器間接尋址方式中,寄存器的內(nèi)容為操作數(shù)的偏移地址EAEA,操作數(shù)在存儲器中。操作數(shù)在存儲器中。匯編格式:匯編格式: RR功能:操作數(shù)存放在存儲器,寄存器功能:操作數(shù)存放在存儲器,寄存器R R存放操作數(shù)的偏移地存放操作數(shù)的偏移地址址EAEA。第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)偏移地址偏移地址EA計算方法如下:計算方法如下:EA=SISI作間址寄存器。 DIDI作間址寄存器。BXBX作間址寄存器。BPBP作間址寄存器。第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)執(zhí)行指令:執(zhí)行指令:

7、MOV AX MOV AX ,BP BP 執(zhí)行后:(執(zhí)行后:(AXAX)=?=?,(,(BPBP)=?=?,(,(SSSS)=?=?,(,(20030H20030H)=?=?圖形表示如下:圖形表示如下: 【例【例2.2】寄存器和存儲器內(nèi)容分別為:(】寄存器和存儲器內(nèi)容分別為:(AX)=0,(,(BP)=0030H,(,(SS)=2000H,(,(20030H)=1234H返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.1.3 變址尋址變址尋址變址尋址方式操作數(shù)的偏移地址變址尋址方式操作數(shù)的偏移地址EAEA為寄存器的內(nèi)容加位移量,操作數(shù)在存為寄存器的內(nèi)容加位移量,操作數(shù)在

8、存儲器中。儲器中。匯編格式:匯編格式:XRXR(X X表示位移量,是表示位移量,是8 8位或位或1616位二進制補碼表示的有符號數(shù))位二進制補碼表示的有符號數(shù))功能:操作數(shù)存放在存儲器,寄存器功能:操作數(shù)存放在存儲器,寄存器R R的內(nèi)容加位移量的內(nèi)容加位移量X X為操作數(shù)的偏移地為操作數(shù)的偏移地址址EAEA。圖形表示如下:圖形表示如下:第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)偏移地址偏移地址EA計算方法如下:計算方法如下:第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)【例【例2.32.3】 設(shè)執(zhí)行前:設(shè)執(zhí)行前: (AX)=0

9、040H,(,(BX)=0030H,(,(DS)=2000H,(20036H)=0050H 執(zhí)行指執(zhí)行指令:令:ADD 6BX,AX執(zhí)行后:執(zhí)行后:(AX)=?,(,(BX)=?,(,(DS)=?,(,(20036H)=?圖形表示如下:圖形表示如下: 第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)執(zhí)行:(執(zhí)行:(20036H)+(AX) 20036H執(zhí)行后:(執(zhí)行后:(AX)=0040H,(,(BX)=0030H,(,(DS)=2000H,(20036H)=0090H。返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.1.4 基址加變址尋址基址加變址尋址基址加變址尋

10、址方式中,操作數(shù)的偏移地址基址加變址尋址方式中,操作數(shù)的偏移地址EAEA是指令中基址寄存器內(nèi)容、是指令中基址寄存器內(nèi)容、變址寄存器內(nèi)容、位移量三項之和,操作數(shù)在存儲器中。變址寄存器內(nèi)容、位移量三項之和,操作數(shù)在存儲器中。匯編格式:匯編格式:X BR+IRX BR+IR功能:操作數(shù)存放在存儲器,功能:操作數(shù)存放在存儲器,BRBR的內(nèi)容加的內(nèi)容加IRIR的內(nèi)容加位移量的內(nèi)容加位移量X X是操作數(shù)的是操作數(shù)的偏移地址偏移地址EAEA。圖形表示:圖形表示:第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)操作數(shù)偏移地址操作數(shù)偏移地址EA計算方法如下

11、計算方法如下返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.1.5 立即尋址立即尋址立即尋址方式中,指令操作碼和操作數(shù)都在存儲器代碼段中。立即尋址方式中,指令操作碼和操作數(shù)都在存儲器代碼段中。匯編格式:匯編格式:n n(n n為立即操作數(shù),是用為立即操作數(shù),是用8 8位或位或1616位二進制補碼表示的有符號位二進制補碼表示的有符號數(shù))數(shù))功能:操作數(shù)存放在存儲器,指令下一單元的內(nèi)容為立即操作數(shù)功能:操作數(shù)存放在存儲器,指令下一單元的內(nèi)容為立即操作數(shù)n n。圖形表示:圖形表示: 第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)【例【例2.52.5】 【例【例2.5】M

12、OV AX, 10執(zhí)行后(執(zhí)行后(AX)=?該例中源操作數(shù)為立即尋址方式,立即數(shù)為該例中源操作數(shù)為立即尋址方式,立即數(shù)為10,存放在指令的下一,存放在指令的下一單元。單元。圖形表示:圖形表示:執(zhí)行:執(zhí)行:10AX執(zhí)行后:執(zhí)行后:(AX)=000AH 返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.1.6 直接尋址直接尋址匯編格式:含有變量的地址表達式。匯編格式:含有變量的地址表達式。段寄存器名:段寄存器名: EA EA 。功能:指令下一字單元的內(nèi)容是操作數(shù)的偏移地址功能:指令下一字單元的內(nèi)容是操作數(shù)的偏移地址EAEA。圖形表示:圖形表示:第第2 2章章 尋址方式和指令系

13、統(tǒng)尋址方式和指令系統(tǒng)【例【例2.62.6】 【例【例2.6】寄存器和存儲器內(nèi)容為】寄存器和存儲器內(nèi)容為:(AX)=1212H,BUF為數(shù)據(jù)段定義為數(shù)據(jù)段定義的變量,其偏移地址是的變量,其偏移地址是2000H,(,(DS)=3000H,(,(32000H)=4545H。執(zhí)行指令執(zhí)行指令:MOV AX ,BUF執(zhí)行后:(執(zhí)行后:(AX)=?圖形表示:圖形表示:執(zhí)行:(執(zhí)行:(32000H)AX執(zhí)行后:(執(zhí)行后:(AX)=4545H返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.1.7 跨段問題跨段問題按前述規(guī)定:若選用按前述規(guī)定:若選用BPBP作間址基址寄存器、變址寄存器或

14、基址寄存器,則作間址基址寄存器、變址寄存器或基址寄存器,則操作數(shù)在堆棧段,操作數(shù)的物理地址操作數(shù)在堆棧段,操作數(shù)的物理地址PAPA由堆棧段寄存器由堆棧段寄存器SSSS的內(nèi)容左移的內(nèi)容左移4 4位位與偏移地址與偏移地址EAEA相加后形成;否則,操作數(shù)在數(shù)據(jù)段,操作數(shù)的物理地址相加后形成;否則,操作數(shù)在數(shù)據(jù)段,操作數(shù)的物理地址PAPA由數(shù)據(jù)段寄存器由數(shù)據(jù)段寄存器DSDS的內(nèi)容左移的內(nèi)容左移4 4位與偏移位與偏移EAEA相加后形成。該規(guī)定為系統(tǒng)默相加后形成。該規(guī)定為系統(tǒng)默認狀態(tài)。當(dāng)要否定默認狀態(tài),到非約定段尋找操作數(shù)時,必須用跨段前綴認狀態(tài)。當(dāng)要否定默認狀態(tài),到非約定段尋找操作數(shù)時,必須用跨段前綴指

15、明操作數(shù)的段寄存器名。指明操作數(shù)的段寄存器名。匯編格式:段寄存器名:操作數(shù)地址。匯編格式:段寄存器名:操作數(shù)地址。功能:段寄存器名指明操作數(shù)屬哪個段。功能:段寄存器名指明操作數(shù)屬哪個段。 第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)【例【例2.72.7】跨段前綴示例。】跨段前綴示例。 MOVMOVAXAX,DSDS:BP BP MOVMOVCXCX,SSSS:SI SI 該例中,該例中,DSDS:,:,SSSS:均為跨段前綴,此時默認狀態(tài)無效,操作數(shù)的物理地均為跨段前綴,此時默認狀態(tài)無效,操作數(shù)的物理地址址PAPA由段寄存器內(nèi)容左移由段寄存器內(nèi)容左移4 4位加偏移位加偏移EAEA形成。

16、上述形成。上述2 2條指令的源操作數(shù)物理條指令的源操作數(shù)物理地址分別為:地址分別為:PA1 =PA1 =(DSDS)左移左移4 4位位+BPBPPA2 =PA2 =(SSSS)左移左移4 4位位+SISI返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.2 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令2.2.1 通用數(shù)據(jù)傳送指令通用數(shù)據(jù)傳送指令2.2.2 堆棧操作指令堆棧操作指令2.2.3 標(biāo)志寄存器傳送指令標(biāo)志寄存器傳送指令2.2.4 地址傳送指令地址傳送指令2.2.5 輸入輸出指令輸入輸出指令返回本章首頁返回本章首頁第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.2.1 2.

17、2.1 通用數(shù)據(jù)傳送指令通用數(shù)據(jù)傳送指令1傳送指令傳送指令MOV2數(shù)據(jù)交換指令數(shù)據(jù)交換指令XCHG3查表轉(zhuǎn)換指令查表轉(zhuǎn)換指令 XLAT第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)1 1傳送指令傳送指令MOVMOV語句格式:語句格式:MOV OPDMOV OPD,OPSOPS功能:將源操作數(shù)傳送入目的地址,源地址內(nèi)容不變。即功能:將源操作數(shù)傳送入目的地址,源地址內(nèi)容不變。即(OPSOPS)OPDOPD。下圖下圖2.12.1描述了描述了MOVMOV指令在傳送數(shù)據(jù)時允許傳送的路徑及類型。指令在傳送數(shù)據(jù)時允許傳送的路徑及類型。第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)圖圖2.1 MO

18、V指令所允許的數(shù)據(jù)傳送路徑及類型指令所允許的數(shù)據(jù)傳送路徑及類型第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)【例【例2.82.8】存儲器與寄存器間數(shù)據(jù)傳送?!看鎯ζ髋c寄存器間數(shù)據(jù)傳送。MOV AX,BUF ;BUF是變量,源操作數(shù)為直接尋址是變量,源操作數(shù)為直接尋址MOV BH,DI ;源操作數(shù)為寄存器間接尋址源操作數(shù)為寄存器間接尋址MOV DI,ES:3SI ;源操作數(shù)為變址尋址,使用跨段前綴源操作數(shù)為變址尋址,使用跨段前綴MOV BP,3BX+SI;源操作數(shù)為基址加變址尋址源操作數(shù)為基址加變址尋址MOV BUFA,DL;BUFA是一字節(jié)變量是一字節(jié)變量MOV BP,AX ;使用使用S

19、S段寄存器段寄存器MOV DS:BP,DL;使用跨段前綴使用跨段前綴MOV BUF,DS ;BUF是個字變量是個字變量MOV ES ,BUF第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2 2數(shù)據(jù)交換指令數(shù)據(jù)交換指令XCHGXCHG語句格式:語句格式:XCHG OPD,OPS功能:將源地址與目的地址中的內(nèi)容互換。即(功能:將源地址與目的地址中的內(nèi)容互換。即(OPD)OPS,(,(OPS)OPD?!纠?.9】寄存器與存儲器之間數(shù)據(jù)交換寄存器與存儲器之間數(shù)據(jù)交換。MOVAX,5678H;(;(AX)=5678HMOVBX,0FFFFH;(;(BX)=0FFFFHXCHGAX,BX ;(;(

20、AX)=0FFFFH ,(,( BX)=5678H第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)3 3查表轉(zhuǎn)換指令查表轉(zhuǎn)換指令 XLAXLA語句格式:語句格式:XLAT OPSXLAT OPS或或XLATXLAT功能:將(功能:將(BXBX)為首址(為首址(ALAL)為位移量的字節(jié)存儲單元中的數(shù)為位移量的字節(jié)存儲單元中的數(shù)據(jù)送據(jù)送ALAL寄存器。即(寄存器。即( BX+ALBX+AL)ALAL。返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.2.2 2.2.2 堆棧操作指令堆棧操作指令1進棧指令進棧指令PUSH2出棧指令出棧指令POP第第2 2章章 尋址方式和指令

21、系統(tǒng)尋址方式和指令系統(tǒng)1 1進棧指令進棧指令PUSHPUSH語句格式:語句格式: PUSH OPSPUSH OPS功能:將寄存器、段寄存器或存儲器中的一個字數(shù)據(jù)壓入堆棧,堆功能:將寄存器、段寄存器或存儲器中的一個字數(shù)據(jù)壓入堆棧,堆棧指針減棧指針減2 2。即:(即:(SPSP)SPSP(OPSOPS)158SP158SP(SPSP)SPSP(OPSOPS)70SP70SP第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2 2出棧指令出棧指令POPPOP語句格式:語句格式: POP OPDPOP OPD功能:功能: 將棧頂元素彈出送至某一寄存器、段寄存器(除將棧頂元素彈出送至某一寄存器、段寄存

22、器(除CSCS外)或存儲外)或存儲器,堆棧指針加器,堆棧指針加2 2。從從POPPOP指令功能可看出,該指令為指令功能可看出,該指令為PUSHPUSH指令的逆過程。指令的逆過程。即:(即:( SPSP)(OPDOPD)7070(SPSP)+ +SP SP (SPSP)(OPDOPD)158158 (SPSP)+ +SPSP返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.2.3 2.2.3 標(biāo)志寄存器傳送指令標(biāo)志寄存器傳送指令1 1標(biāo)志送標(biāo)志送AHAH指令指令LAHFLAHF2 2AHAH送標(biāo)志指令送標(biāo)志指令SAHFSAHF3 3標(biāo)志寄存器進棧指令標(biāo)志寄存器進棧指令PUS

23、HFPUSHF4 4標(biāo)志寄存器出棧指令標(biāo)志寄存器出棧指令POPFPOPF第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)1 1標(biāo)志送標(biāo)志送AHAH指令指令LAHFLAHF語句格式:語句格式:LAHFLAHF功能:將標(biāo)志寄存器的低功能:將標(biāo)志寄存器的低8 8位送入位送入AHAH寄存器。寄存器。即(即(FLAGSFLAGS)7-0AH7-0AH。該指令的執(zhí)行對標(biāo)志位無影響。該指令的執(zhí)行對標(biāo)志位無影響。【例【例2.132.13】標(biāo)志寄存器傳送。】標(biāo)志寄存器傳送。執(zhí)行前:(執(zhí)行前:(FLAGSFLAGS)=0485H=0485H,(,(AXAX)=0FFFFH=0FFFFH執(zhí)行指令:執(zhí)行指令:LA

24、HFLAHF第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2 2AHAH送標(biāo)志指令送標(biāo)志指令SAHFSAHF語句格式:語句格式:SAHFSAHF功能:將功能:將AHAH的內(nèi)容送入標(biāo)志寄存器的低的內(nèi)容送入標(biāo)志寄存器的低8 8位,高位,高8 8位不變。即(位不變。即(AHAH) FLAGS7-0.FLAGS7-0.。從該指令功能可看出,從該指令功能可看出,SAHFSAHF為為LAHFLAHF的逆過程。的逆過程。 第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)3 3標(biāo)志寄存器進棧指令標(biāo)志寄存器進棧指令PUSHFPUSHF語句格式:語句格式:PUSHF功能:將標(biāo)志寄存器的內(nèi)容壓入堆棧。功能

25、:將標(biāo)志寄存器的內(nèi)容壓入堆棧。即即(FLAGS)(SP)。)。第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)4 4標(biāo)志寄存器出棧指令標(biāo)志寄存器出棧指令POPFPOPF功能:功能: 將棧頂內(nèi)容彈出送入標(biāo)志寄存器中。即將棧頂內(nèi)容彈出送入標(biāo)志寄存器中。即(SPSP)FLAGSFLAGS。POPFPOPF指令與指令與PUSHFPUSHF指令互為逆過程。指令互為逆過程?!纠纠?.142.14】將標(biāo)志寄存器的單步標(biāo)志】將標(biāo)志寄存器的單步標(biāo)志TFTF置位。置位。PUSHFPUSHF;(;(FLSGSFLSGS)(SPSP)POP AXPOP AX ;(;(SPSP)AXAXOR AXOR AX, 0

26、100H 0100H;設(shè)置設(shè)置D8=TF=1D8=TF=1PUSH AXPUSH AX ;(;(AXAX)(SPSP)POPFPOPF;(;(SPSP)FLAGSFLAGS,即(即(AXAX)FLAGSFLAGS返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.2.4 2.2.4 地址傳送指令地址傳送指令1 1傳送偏移地址指令傳送偏移地址指令 LEALEA2 2傳送偏移地址及數(shù)據(jù)段首址指令傳送偏移地址及數(shù)據(jù)段首址指令LDSLDS3 3傳送偏移地址及附加數(shù)據(jù)段指令傳送偏移地址及附加數(shù)據(jù)段指令LESLES第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)1 1傳送偏移地址指

27、令傳送偏移地址指令 LEALEA語句格式:語句格式: LEA OPDLEA OPD,OPSOPS功能:主存按源地址的尋址方式計算偏移地址,將偏移地址送入指定寄存功能:主存按源地址的尋址方式計算偏移地址,將偏移地址送入指定寄存器。器?!纠纠?.152.15】主存偏移地址的獲取?!恐鞔嫫频刂返墨@取。MOV BXMOV BX,0100H0100H;(;(BXBX)=0100H=0100HMOV SIMOV SI, 0210H 0210H;(;(SISI) =0210H =0210HLEA BXLEA BX,1234BX+SI1234BX+SI; (BXBX)=1544H=1544H第第2 2章章

28、 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2 2傳送偏移地址及數(shù)據(jù)段首址指令傳送偏移地址及數(shù)據(jù)段首址指令LDSLDS語句格式:語句格式:LDS OPDLDS OPD,OPSOPS功能:將主存中指定字單元數(shù)據(jù)送入指定存儲器,下一字單功能:將主存中指定字單元數(shù)據(jù)送入指定存儲器,下一字單元數(shù)據(jù)送元數(shù)據(jù)送DSDS寄存器。寄存器。第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)3 3傳送偏移地址及附加數(shù)據(jù)段指令傳送偏移地址及附加數(shù)據(jù)段指令LESLES語句格式:語句格式:LES OPDLES OPD,OPSOPS功能:將主存某字單元內(nèi)容送指定寄存器。即(功能:將主存某字單元內(nèi)容送指定寄存器。即(OPSOP

29、S)OPDOPD,(OPS+2OPS+2)ESES。返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.2.5 2.2.5 輸入輸出指令輸入輸出指令1輸入指令輸入指令I(lǐng)N2輸出指令輸出指令OUT第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)1 1輸入指令輸入指令I(lǐng)NIN輸入指令用來從指定的外設(shè)寄存器取信息送入累加器。它有輸入指令用來從指定的外設(shè)寄存器取信息送入累加器。它有四種形式:四種形式:(1 1)語句格式:)語句格式:ININALAL,PORT PORT 功能:(功能:(PORTPORT)ALAL(2 2)語句格式:語句格式:ININAXAX,PORTPORT 功

30、能:(功能:(PORTPORT)AXAX(3 3)語句格式:語句格式:ININALAL,DXDX 功能:(功能:( DXDX)ALAL(4 4)語句格式:語句格式:ININAXAX,DXDX 功能:(功能:( DXDX)ALAL第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2 2輸出指令輸出指令OUTOUT輸出指令用來把累加器的內(nèi)容送往指定的外設(shè)存儲器,輸出指令用來把累加器的內(nèi)容送往指定的外設(shè)存儲器,它有四種形式:它有四種形式:(1)語句格式:)語句格式:OUTPORT,AL 功能:(功能:(AL)PORT(2)語句格式:語句格式:OUTPORT,AX 功能:(功能:(AX)PORT(3

31、)語句格式:語句格式:OUTDX,AL 功能:(功能:(AL)DX(4)語句格式:語句格式:OUTDX,AX 功能:(功能:(AX)DX返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.3 算術(shù)運算類指令算術(shù)運算類指令2.3.1 加法指令加法指令2.3.2 減運算指令減運算指令2.3.3 乘運算指令乘運算指令2.3.4 除運算指令除運算指令2.3.5 符號擴展指令符號擴展指令 2.3.6 十進制調(diào)整指令十進制調(diào)整指令返回本章首頁返回本章首頁第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.3.1 加法指令加法指令1加加1指令指令 INC2加指令加指令A(yù)DD3帶進位加

32、指令帶進位加指令A(yù)DC第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)1 1加加1 1指令指令 INCINC語句格式:語句格式:INC OPDINC OPD功能:將目的操作數(shù)加功能:將目的操作數(shù)加1 1,結(jié)果送目的地址。即(,結(jié)果送目的地址。即(OPDOPD)+1OPD+1OPD。INCINC指令是一個單操作數(shù)指令,操作數(shù)可以是寄存器或存儲器操作數(shù)。指令是一個單操作數(shù)指令,操作數(shù)可以是寄存器或存儲器操作數(shù)。如:如:INC BXINC BX,即(即(BXBX)+1BX+1BX。加加1 1指令可用于對計數(shù)器和地址指針進行調(diào)整。指令可用于對計數(shù)器和地址指針進行調(diào)整。 第第2 2章章 尋址方式和指

33、令系統(tǒng)尋址方式和指令系統(tǒng)2 2加指令加指令A(yù)DDADD語句格式:語句格式:ADD OPDADD OPD, OPS OPS功能:將目的操作數(shù)與源操作數(shù)相加,結(jié)果存入目的地址中,源地功能:將目的操作數(shù)與源操作數(shù)相加,結(jié)果存入目的地址中,源地址的內(nèi)容不改變。址的內(nèi)容不改變。即(即(OPDOPD)+ +(OPSOPS)OPDOPD。第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)3 3帶進位加指令帶進位加指令A(yù)DCADC語句格式:語句格式:ADC OPDADC OPD,OPSOPS功能:將目的操作數(shù)加源操作數(shù)再加低位進位,結(jié)果送目的地址。功能:將目的操作數(shù)加源操作數(shù)再加低位進位,結(jié)果送目的地址。即

34、(即(OPDOPD)+ +(OPSOPS)+CF OPD+CF OPD?!纠纠?.202.20】無符號雙字加法運算?!繜o符號雙字加法運算。MOVMOVAXAX,4652H4652H;(;(AXAX)=4652H=4652HADDADDAXAX,0F0F0H0F0F0H;(;(AXAX)=3742H=3742H,CF=1CF=1MOVMOVDXDX,0234H0234H;(;(DXDX)=0234H=0234HADCADCDXDX,0F0F0H0F0F0H;(;(DXDX)=0F325H=0F325H,CF=0CF=0返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.3.

35、2 減運算指令減運算指令1減減1指令指令DEC2減指令減指令SUB3求補指令求補指令NEG4帶借位減指令帶借位減指令 SBB5比較指令比較指令 CMP第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)1 1減減1 1指令指令DECDEC語句格式:語句格式:DEC OPD DEC OPD 功能:將目的操作數(shù)減功能:將目的操作數(shù)減1 1,結(jié)果送目的地址。即(,結(jié)果送目的地址。即(OPDOPD)1OPD1OPD。DECDEC指令是一個單操作數(shù)指令,操作數(shù)可以是寄存器或存儲器操指令是一個單操作數(shù)指令,操作數(shù)可以是寄存器或存儲器操作數(shù)。作數(shù)。如:如:DEC CXDEC CX。即(即(CXCX)1CX1

36、CX。減減1 1指令指令DECDEC也一般用于對計數(shù)器和地址指針的調(diào)整。也一般用于對計數(shù)器和地址指針的調(diào)整。第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2 2減指令減指令SUBSUB語句格式:語句格式:SUB OPDSUB OPD,OPSOPS功能:目的操作數(shù)減源操作數(shù),結(jié)果存于目的地址,源功能:目的操作數(shù)減源操作數(shù),結(jié)果存于目的地址,源地址內(nèi)容不變。地址內(nèi)容不變。即(即(OPDOPD)()(OPSOPS)OPDOPD【例例2.212.21】減法運算。】減法運算。MOVMOVAX AX ,5678H5678H;(;(AXAX)=5678H=5678HSUBSUBAX AX ,1234H

37、1234H;(;(AXAX)=4444H=4444HMOVMOVBX BX ,3354H3354H;(;(BXBX)=3354H=3354HSUBSUBBX BX ,3340H3340H;(;(BXBX)=0014H=0014H第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)3 3求補指令求補指令NEGNEG語句格式:語句格式:NEG OPDNEG OPD功能:將目的操作數(shù)的每一位求反(包括符號位)后加功能:將目的操作數(shù)的每一位求反(包括符號位)后加1 1,結(jié)果送目的地址。結(jié)果送目的地址。即(即(OPDOPD)+1OPD+1OPD?!纠?.222.22】求補運算?!壳笱a運算。MOVMOV

38、AXAX,0FF64H0FF64HNEGNEGALAL;(;(AXAX)=0FF9CH=0FF9CHSUBSUBALAL,9DH9DH ;(;(AXAX)=0FFFFH=0FFFFHNEGNEGAXAX;(;(AXAX)=0001H=0001HDECDECALAL;(;(AXAX)=0000H=0000HNEGNEGAXAX;(;(AXAX)=0000H=0000H第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)4 4帶借位減指令帶借位減指令 SBBSBB語句格式:語句格式:SBB OPD SBB OPD ,OPSOPS功能:目的操作數(shù)減源操作數(shù)再減低位借位功能:目的操作數(shù)減源操作數(shù)再減低

39、位借位CFCF,結(jié)果送目結(jié)果送目的地址。的地址。即(即(OPDOPD)(OPSOPS)CF OPDCF OPD第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)5 5比較指令比較指令 CMPCMP語句格式:語句格式:CMP OPDCMP OPD,OPSOPS功能:目的操作數(shù)減源操作數(shù),結(jié)果只影響標(biāo)志位,不送入目的地址。功能:目的操作數(shù)減源操作數(shù),結(jié)果只影響標(biāo)志位,不送入目的地址。即(即(OPDOPD)()(OPSOPS)。)?!纠纠?.242.24】比較】比較ALAL的內(nèi)容數(shù)值大小。的內(nèi)容數(shù)值大小。CMPCMPALAL,5050;(;(ALAL)5050JBJBBELOWBELOW;(;(

40、ALAL)50=50=50,(,( AL AL)50AL50ALINCINCAHAH;(;(AHAH)+1AH+1AHBELOWBELOW: 返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.3.3 乘運算指令乘運算指令1無符號數(shù)乘法指令無符號數(shù)乘法指令MUL2有符號乘指令有符號乘指令I(lǐng)MUL第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)1 1無符號數(shù)乘法指令無符號數(shù)乘法指令MULMUL語句格式:語句格式: MUL OPSMUL OPS功能:功能: 若是字節(jié)數(shù)據(jù)相乘,(若是字節(jié)數(shù)據(jù)相乘,(ALAL)與與OPSOPS相乘得到字數(shù)據(jù)存入相乘得到字數(shù)據(jù)存入AXAX中;若是

41、中;若是字數(shù)據(jù)相乘,則(字數(shù)據(jù)相乘,則(AXAX)與與OPSOPS相乘得到雙字數(shù)據(jù),高字存入相乘得到雙字數(shù)據(jù),高字存入DXDX、低字存入低字存入AXAX中。中。即字節(jié)乘法:(即字節(jié)乘法:(ALAL)* * (OPSOPS) AX AX,字乘法:(字乘法:(AXAX) * * (OPSOPS) DX DX,AX AX 【例【例2.252.25】無符號數(shù)】無符號數(shù)0 0A3HA3H與與1111H H相乘。相乘。MOVMOVALAL,0A3H0A3H;(;(ALAL)=0A3H=0A3HMOVMOVBLBL, 11H 11H;(;(BLBL)=11H=11HMULMULBLBL ;(;(AXAX)=

42、0AD3H=0AD3H第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2 2有符號乘指令有符號乘指令I(lǐng)MULIMUL語句格式:語句格式:IMUL OPSIMUL OPS功能:字節(jié)乘法:(功能:字節(jié)乘法:(ALAL)* *(OPSOPS)AXAX,字乘法:(字乘法:(AXAX)* *(OPSOPS)DXDX、AXAX。IMULIMUL指令除計算對象是帶符號二進制數(shù)外,其他都與指令除計算對象是帶符號二進制數(shù)外,其他都與MULMUL一樣,但計算結(jié)一樣,但計算結(jié)果不同。果不同。 【例【例2.262.26】有符號數(shù)】有符號數(shù)0 0B4HB4H與與1111H H相乘。相乘。MOVMOVALAL,0B4

43、H0B4H;(;(ALAL)=B4H=B4HMOVMOVBLBL,11H11H ;(;(BLBL)=11H=11HIMULIMULBLBL ;(;(AXAX)=0FAF4H=0FAF4H返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.3.4 除運算指令除運算指令1無符號除指令無符號除指令DIV2有符號有符號除指令除指令I(lǐng)DIV第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)1 1無符號除指令無符號除指令DIVDIV語句格式:語句格式:DIV OPSDIV OPS功能:字節(jié)除法:(功能:字節(jié)除法:(AXAX)/ /(OPSOPS) AL AL(商)、商)、AHAH(余

44、數(shù))余數(shù))字除法:(字除法:(DXDX、AXAX)/ /(OPSOPS) AX AX(商)、商)、DXDX(余數(shù))余數(shù))【例【例2.272.27】寫出實現(xiàn)無符號數(shù)】寫出實現(xiàn)無符號數(shù)04000400H / 0B4HH / 0B4H運算的程序段。運算的程序段。MOVMOVAXAX,0400H0400H;(;(AXAX)=0400H=0400HMOVMOVBLBL,0B4H0B4H;(;(BLBL)=0B4H=0B4HDIVDIVBLBL ;商(商(ALAL)=05H=05H,余數(shù)(余數(shù)(AHAH)=7CH =7CH 第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2 2有符號除指令有符號除指令

45、IDIVIDIV語句格式:語句格式:IDIV OPSIDIV OPS功能:字節(jié)除法:(功能:字節(jié)除法:(AXAX)/ /(OPSOPS) AL AL(商)、商)、AHAH(余數(shù))余數(shù))字除法:(字除法:(DXDX,AXAX)/ /(OPSOPS) AX AX (商)、商)、DXDX(余數(shù))余數(shù))除法指令除法指令DIVDIV和和IDIVIDIV雖然對標(biāo)志的影響未定義,但可產(chǎn)生溢出。雖然對標(biāo)志的影響未定義,但可產(chǎn)生溢出?!纠纠?.282.28】寫出實現(xiàn)有符號數(shù)】寫出實現(xiàn)有符號數(shù)04000400H /0B4HH /0B4H運算的程序段。運算的程序段。MOVMOVAXAX,0400H0400H;(;

46、(AXAX)=0400H=0400HMOVMOVBXBX,0B4H0B4H;(;(BXBX)=0B4H=0B4HIDIVIDIVBXBX ;(;(ALAL)=0F3H=0F3H,(,(AHAH)=24H=24H返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.3.5 符號擴展指令符號擴展指令 1字節(jié)轉(zhuǎn)換成字指令字節(jié)轉(zhuǎn)換成字指令CBW2將字轉(zhuǎn)換成雙字指令將字轉(zhuǎn)換成雙字指令CWD第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)1 1字節(jié)轉(zhuǎn)換成字指令字節(jié)轉(zhuǎn)換成字指令CBWCBW語句格式:語句格式:CBWCBW功能:將功能:將ALAL中的符號位數(shù)據(jù)擴展至中的符號位數(shù)據(jù)擴展至A

47、HAH。【例例2.292.29】將字節(jié)數(shù)據(jù)擴展成字數(shù)據(jù)。】將字節(jié)數(shù)據(jù)擴展成字數(shù)據(jù)。MOVMOVALAL,0A5H0A5H;(;(ALAL)=0A5H=0A5HCBWCBW ;(;(AXAX)=0FFA5H=0FFA5HADDADDALAL,70H70H ;(;(ALAL)=25H=25HCBWCBW ;(;(AXAX)=0025H=0025H第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2 2將字轉(zhuǎn)換成雙字指令將字轉(zhuǎn)換成雙字指令CWDCWD語句格式:語句格式:CWDCWD功能:將功能:將AXAX中的符號位數(shù)據(jù)擴展至中的符號位數(shù)據(jù)擴展至DX DX 。【例例2.302.30】將字數(shù)據(jù)擴展成雙

48、字數(shù)據(jù)?!繉⒆謹?shù)據(jù)擴展成雙字數(shù)據(jù)。MOVMOVDXDX, 0 0 ;(;(DXDX)=0=0MOVMOVAXAX, 0FFABH 0FFABH;(;(AXAX)=0FFABH=0FFABHCWDCWD;(;(DXDX)=0FFFFH =0FFFFH (AXAX)=0FFABH=0FFABH返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.3.6 十進制調(diào)整指令十進制調(diào)整指令1壓縮壓縮BCD碼調(diào)整指令碼調(diào)整指令2非壓縮非壓縮BCD碼調(diào)整指令碼調(diào)整指令第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)(1 1)加法的十進制調(diào)整指令)加法的十進制調(diào)整指令DAA DAA 語句格

49、式:語句格式:DAADAA功能:如果功能:如果ALAL寄存器中低寄存器中低4 4位大于位大于9 9或輔助進位(或輔助進位(AFAF)=1=1,則(則(ALAL)= =(ALAL)+6+6且(且(AFAF)=1=1;如果(如果(ALAL)=0A0H=0A0H或(或(CFCF)=1=1,則(則(ALAL)= =(ALAL)+60H+60H且且(CFCF)=1=1。同時,同時,SFSF、ZFZF、PFPF均有影響。均有影響?!纠纠?.312.31】壓縮】壓縮BCDBCD碼的加法運算。碼的加法運算。MOV ALMOV AL,68H68H;(;(ALAL)=68H=68H,表示壓縮表示壓縮BCDBCD

50、碼碼6868MOV BLMOV BL,28H28H;(;(BLBL)=28H=28H,表示壓縮表示壓縮BCDBCD碼碼2828ADD ALADD AL,BLBL;二進制加法:(二進制加法:(ALAL)=68H+28H=90H=68H+28H=90HDAADAA ;十進制調(diào)整:(十進制調(diào)整:(ALAL)=96H=96H ;實現(xiàn)壓縮實現(xiàn)壓縮BCDBCD碼加法:碼加法:68+28=9668+28=96第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)(2 2)減法的十進制調(diào)整指令)減法的十進制調(diào)整指令DASDAS語句格式:語句格式:DASDAS功能:如果(功能:如果(AFAF)=1=1或或ALAL

51、寄存器中低寄存器中低4 4位大于位大于9 9,則(,則(ALAL)= =(ALAL)6 6且且(AFAF)=1=1;如果(如果(ALAL)=0A0H=0A0H或(或(CFCF)=1=1,則(則(ALAL)= =(ALAL)60H60H且且(CFCF)=1=1。同時同時SFSF、ZFZF、PFPF均受影響。均受影響?!纠纠?.322.32】壓縮】壓縮BCDBCD碼的減法運算。碼的減法運算。MOVMOVALAL,68H 68H ;(;(ALAL)=68H=68H,表示壓縮表示壓縮BCDBCD碼碼6868MOVMOVBLBL,28H 28H ;(;(BLBL)=28H=28H,表示壓縮表示壓縮BC

52、DBCD碼碼2828SUBSUBALAL,BLBL ;二進制減法:(二進制減法:(ALAL)=68H=68H28H=40H28H=40HDASDAS ;十進制調(diào)整:(十進制調(diào)整:(ALAL)=40H=40H ;實現(xiàn)壓縮實現(xiàn)壓縮BCDBCD碼減法:碼減法:686828=4028=40 第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2 2非壓縮非壓縮BCDBCD碼調(diào)整指令碼調(diào)整指令(1)加法的非壓縮)加法的非壓縮BCD碼調(diào)整指令碼調(diào)整指令A(yù)AA(2)減)減法的非壓縮法的非壓縮BCD碼調(diào)整指令碼調(diào)整指令A(yù)AS(3)乘法的非壓縮)乘法的非壓縮BCD碼調(diào)整指令碼調(diào)整指令A(yù)AM(4)除法的非壓縮除法

53、的非壓縮BCD碼調(diào)整指令碼調(diào)整指令A(yù)AD第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)(1)加法的非壓縮)加法的非壓縮BCD碼調(diào)整指令碼調(diào)整指令A(yù)AA語句格式:語句格式:AAA 功能:如果功能:如果AL的低的低4位大于位大于9或(或(AF)=1,則:則:(AL)=(AL)+6(AH)=(AH)+1(AF)=(CF)=1 且且AL高高4位清零。位清零。否則:(否則:(CF)=(AF)=0AL高高4位清零。位清零。第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)(2 2)減法的非壓縮)減法的非壓縮BCDBCD碼調(diào)整指令碼調(diào)整指令A(yù)ASAAS語句格式:語句格式:AAS AAS 功能:如果功

54、能:如果ALAL的低的低4 4位大于位大于9 9或(或(AFAF)=1=1,則:則:(ALAL)= =(ALAL)6 6(AHAH)= =(AHAH)1 1(AFAF)= =(CFCF)=1=1ALAL高高4 4位清零。位清零。否則:(否則:(CFCF)= =(AFAF)=0=0 AL AL高高4 4位清零。位清零。其他標(biāo)志位其他標(biāo)志位OFOF、PFPF、SFSF、ZFZF不確定。不確定。第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)(3 3)乘法的非壓縮)乘法的非壓縮BCDBCD碼調(diào)整指令碼調(diào)整指令A(yù)AMAAM語句格式:語句格式:AAM AAM 功能:被調(diào)整的乘積在功能:被調(diào)整的乘積在

55、AXAX中,對中,對ALAL按按1010取模,則:取模,則: (ALAL)0AHAH0AHAH(商):商):ALAL(余數(shù))余數(shù))其中其中AHAH為商,為商,ALAL為余數(shù),標(biāo)志位為余數(shù),標(biāo)志位AFAF、CFCF、OFOF、PFPF、SFSF、ZFZF受影響。受影響。 第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)(4 4)除法的非壓縮)除法的非壓縮BCDBCD碼調(diào)整指令碼調(diào)整指令A(yù)ADAAD語句格式:語句格式:AAD AAD 功能:除法運算前,先調(diào)整被除數(shù)功能:除法運算前,先調(diào)整被除數(shù)AXAX內(nèi)容,使:內(nèi)容,使: (ALAL)= =(ALAL)+ +(AHAH)* *0AH0AH (A

56、HAH)=0=0即把非壓縮型十進制數(shù)變成二進制數(shù)。即把非壓縮型十進制數(shù)變成二進制數(shù)。返回本節(jié)返回本節(jié)第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.4 位操作類指令位操作類指令2.4.1 邏輯運算指令邏輯運算指令2.4.2 移位指令移位指令 返回本章首頁返回本章首頁第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2.4.1 邏輯運算指令邏輯運算指令1 1求反指令求反指令NOTNOT2 2邏輯乘指令邏輯乘指令A(yù)NDAND3 3測試指令測試指令TESTTEST4 4邏輯加指令邏輯加指令OROR5 5按位加指令按位加指令XORXOR第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)1

57、1求反指令求反指令NOTNOT語句格式:語句格式:NOT OPDNOT OPD功能:將目的地址中的內(nèi)容逐位取反后送入目的地址。即(功能:將目的地址中的內(nèi)容逐位取反后送入目的地址。即(OPDOPD)OPD OPD 【例例2.372.37】邏輯非運算?!窟壿嫹沁\算。MOVMOVAXAX,878AH878AH;(;(AXAX)=878AH=878AHNOTNOTAXAX, ;(;(AXAX)=7875H=7875H第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)2 2邏輯乘指令邏輯乘指令A(yù)NDAND語句格式:語句格式:AND OPDAND OPD, OPS OPS功能:將目的操作數(shù)和源操作數(shù)進行

58、邏輯乘運算,結(jié)果存目的地址。功能:將目的操作數(shù)和源操作數(shù)進行邏輯乘運算,結(jié)果存目的地址。即(即(OPDOPD)(OPSOPS)OPDOPD。該指令用于清除目的操作數(shù)中與源操作數(shù)置該指令用于清除目的操作數(shù)中與源操作數(shù)置0 0的對應(yīng)位。說明:邏輯乘的的對應(yīng)位。說明:邏輯乘的運算法則為:運算法則為:11=111=1,10=010=0,01=001=0,00=000=0【例【例2.382.38】將】將ALAL中第中第3 3位和第位和第7 7位清零。位清零。MOVMOVALAL,0FFH 0FFH AND ANDALAL,77H 77H 第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)3 3測試指令

59、測試指令TESTTEST語句格式:語句格式:TEST OPDTEST OPD,OPSOPS功能:源地址和目的地址的內(nèi)容執(zhí)行按位的邏輯乘運算,結(jié)果不送入功能:源地址和目的地址的內(nèi)容執(zhí)行按位的邏輯乘運算,結(jié)果不送入目的地址。目的地址。即(即(OPDOPD)(OPSOPS)。)?!纠纠?.392.39】測試】測試AXAX中的第中的第1212位是否為位是否為0 0,不為,不為0 0則轉(zhuǎn)則轉(zhuǎn)L L。TESTTESTAXAX,1000H1000HJNEJNEL L 第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)4 4邏輯加指令邏輯加指令OROR語句格式:語句格式:OR OPDOR OPD,OPSO

60、PS功能:將目的操作數(shù)和源操作數(shù)進行邏輯加運算,結(jié)果存目的地址。功能:將目的操作數(shù)和源操作數(shù)進行邏輯加運算,結(jié)果存目的地址。即(即(OPDOPD)(OPSOPS)OPDOPD。說明:邏輯加的運算法則為:說明:邏輯加的運算法則為:11=111=1,10=110=1,01=101=1,00=000=0。【例【例2.402.40】將】將ALAL寄存器中第寄存器中第3 3位和第位和第7 7位置位置1 1。MOVMOVALAL,0 0 OR OR ALAL,88H 88H 第第2 2章章 尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)5 5按位加指令按位加指令XORXOR語句格式:語句格式: XOR OPDXOR

溫馨提示

  • 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

提交評論