版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
大平臺課程系列《微機(jī)原理及接口技術(shù)》
38086尋址方式和指令系統(tǒng)
第三章8086/8088的指令系統(tǒng)
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)2/138
3-1匯編語言概述
■編程語言
■機(jī)器語言:計(jì)算機(jī)能直接識別并執(zhí)行某
種操作的二進(jìn)制代碼串
匯編語言:面向機(jī)器的用指令助記符、
符號地址和標(biāo)號等書寫程序的低級語
言;是對機(jī)器語言的符號化描述,不同
類型的CPU,其匯編指令也不盡相同
高級語言:面向過程的用自然語言書寫
的語言,不依賴于機(jī)器。如C語言等
■J:大平臺課程《微機(jī)原理及接口技術(shù)》C.J.Zhu第3章指令系統(tǒng)3/138
準(zhǔn)匯編語言概述
■機(jī)器語言與匯編語言
地址機(jī)器代碼對應(yīng)的匯編指令
E380:0000B40FMOVAH,OFH
E380:00023COACMPAL,OAH
E380:00047202JBNUM
E380:00060407ADDAL,07H
E380:00080430NUM:ADDAL,30H
E380:000AC3RET
大平臺課程《微機(jī)原理及接口技術(shù)》C.J.Zhu第3章指令系統(tǒng)4/138
穌匯編語言指令格式
標(biāo)號:助記符操作數(shù)1,操作數(shù)2
■標(biāo)號:指明符號地址(可選項(xiàng))
■助記符(操作碼)
標(biāo)明需要計(jì)算機(jī)執(zhí)行的操作,如MOV、ADD等
■操作數(shù)
■存放指令執(zhí)行過程中的操作數(shù)和操作結(jié)果
■數(shù)量取決于操作碼
■對雙操作數(shù)指令,操作數(shù)1為目的操作數(shù),操作數(shù)2為
源操作數(shù)
指令中說明操作數(shù)所在地址的方法稱尋址方法
■I:大平臺課程《微機(jī)原理及接口技術(shù)》C.J.Zhu第3章指令系統(tǒng)5/“4
毋3?28086操作數(shù)尋址方式
■立即數(shù)尋址
■寄存器操作數(shù)尋址
■存儲器操作數(shù)尋址
■1O端口操作數(shù)尋址
大平臺課程《微機(jī)原理及接口技術(shù)》C.J.Zhu第3章指令系統(tǒng)6/138
處立即數(shù)尋址
■格式:操作數(shù)以常數(shù)形式直接表示在指令中
■操作數(shù)的物理地址:緊跟在指令操作碼之
后,存放在存儲器的代碼段內(nèi)
■例:MOVAX,1234H;AH-12H,AL-34H
大平臺課程《微機(jī)原理及接口技術(shù)》C.J.Zhu第3章指令系統(tǒng)7/138
立即數(shù)尋址
■適用于:給寄存器或存儲單元賦初值
■注意:
■不能直接用立即數(shù)給段寄存器賦值;
■立即數(shù)不能作目的操作數(shù);
用立即數(shù)給存儲器操作數(shù)賦值時(shí),要指明類型
WORD/BYTEPTR,如
MOVBYTEPTR[1OOH],5FH
以A-F打頭的數(shù)字出現(xiàn)在指令中時(shí),前面要加數(shù)
字0,以免與變量名等符號混淆,如
MOVBX,0F77H
■I:大平臺課程《微機(jī)原理及接口技術(shù)》C.J.Zhu第3章指令系統(tǒng)8/138
-3-28086操作數(shù)尋址方式
iJWi—「
■立即數(shù)尋址
■寄存器操作數(shù)尋址
■寄存器尋址
■存儲器操作數(shù)尋址
■1O端口操作數(shù)尋址
大平臺課程《微機(jī)原理及接口技術(shù)》C.J.Zhu第3章指令系統(tǒng)9/138
寄存器尋址
■格式:操作數(shù)是通用寄存器或段寄存器
通用寄存器(AX,BX,CX,DX,SP,BP,
SI,DI,AH,AL,BH,BL,CH,CL,DH,
DL)
段地址寄存器(CS,SS,DS,ES)
標(biāo)志寄存器(PSW)
■操作數(shù)的物理地址:操作數(shù)在CPU的寄存器
中,不用訪問內(nèi)存,執(zhí)行時(shí)間短
■注意:
不要對段寄存器CS賦值,否則執(zhí)行時(shí)會出錯
兩個(gè)操作數(shù)的長度必須一致
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)10/138
旺寄存器尋址
■例
INCCX;CX-CX+1
MOVSS,AX;SS-AX
ADDCL,BH;CL-CL+BH
MOVAX,BX;AX-BX
AXBX
34Hk------------34H
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)11/138
工3?28086操作數(shù)尋址方式
■立即數(shù)尋址
■寄存器操作數(shù)尋址
■存儲器操作數(shù)尋址
■直接尋址
寄存器間接尋址
寄存器相對尋址
基址變址尋址
相對基址變址尋址
■1O端口操作數(shù)尋址
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)12/138
存儲器尋址
■操作數(shù)在除代碼段以外的存儲區(qū)中
■物理地址:PA=段寄存器vv4+EA
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)13/138
回顧:邏輯地址來源
操作類型正常使用的(隱含)段基址可替換段地址偏移地址物理地址計(jì)算
__._____
取指令CS無IPCSX16+IP
堆棧操作SS無SPSSX16+SP
BP為間址SSCS,DS,ES有效地址EASSX16+EA
存取變量DSCS,ES,SS有效地址EADSX16+EA
源字符串DSCS,ES,SSSIDSX16+SI
目標(biāo)字符串ES無DIESX16+DI
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)14/138
電存儲器操作數(shù)表示和尋址方式
■EA(有效地址)
操作數(shù)的偏移地址
直接尋址寄存器間接尋址寄存器間接尋址
[立即數(shù)][基址寄存器BX/BP][變址寄存器SI/DI]
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)15/138
處直接尋址
—IF?■
■格式1:操作數(shù)表示成“[立即數(shù)廣、"[變量名]”
或“變量名”(稱為符號地址)
MOVAX,[2000H]
VALUEDW0867H;VALUE為變量名
MOVAX,VALUE<MOVAX,[VALUE]
MOVAX,[VALUE+2]或MOVAX,[VALUE]+2
■操作數(shù)的物理地址
■默認(rèn)使用數(shù)據(jù)段寄存器DS
■PA=DSvv4+立即數(shù)或變量的偏移
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)16/138
直接尋址
■有效地址緊跟在指令操作碼之后,存放在存
儲器的代碼段內(nèi)
代
■例:4000HDS
操作碼碼
MOVAL,[2000H]40000H操作碼段
的執(zhí)行結(jié)果00H
AL-56H2000H
720H
42000H
數(shù)
4200056H
據(jù)
直接尋址
段
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)17/138
舉直接尋址
■格式2:操作數(shù)加段超越前綴“段寄存器廠
(":”稱為修改屬性運(yùn)算符)
MOVAX,ES:[2000H]
MOVAX,CS:VALUE
■操作數(shù)的物理地址
■使用段超越指定的段寄存器
■PA=段寄存器vv4+立即數(shù)或變量的偏移
如,PA=ESx16+2000H
PA=CSx16+VALUE
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)18/13a
旺寄存器間接尋址
■格式:操作數(shù)表示成[BX]、[BP]、[SI]或
[DI],寄存器內(nèi)容作為操作數(shù)的有效地址
■MOVBX,[DI]
MOV[SI],DS
MOV[BP],AX
MOVES:[DI],AX
MOVDX,DS:[BP]
■操作數(shù)的物理地址(默認(rèn)情況)
PA=DS?4+BX/SI/DI或
■PA=SS?4+BP
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)19/138
,寄存器間接尋址
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)20/138
.寄存器間接尋址
■適用于:不知道內(nèi)存單元的確切地址;存取
一維數(shù)組或表格中的元素
■例:求從VAL開始的30字節(jié)內(nèi)存中各值之和
LEASI,VAL;WVAL的偏移地址
MOVCX,30;設(shè)循環(huán)次數(shù)
MOVAL,0;初始化和為0
AGAIN:ADDAL,[SI]
INCSI;指針加1
LOOPAGAIN;循環(huán)
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)21/1?a
叁寄存器相對尋址
格操作數(shù)表示成[BX/BP/SI/DI+立即數(shù)/
變],直接尋址和寄存器間接尋址的組
合
MOVBX,[SI+1003H]
MOVAL,[DI+TABLE]
MOVAL,TABLE[BX]
MOVAL,[BP]+TABLE
MOVBX,ES:[SI+1003H]
MOVTABLE[BP],AX
適用于:存取一維數(shù)組或表格中的元素
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)22/138
寄存器相對尋址
-JW11P酬一JJ.〔Illi
■操作數(shù)的物理地址(默認(rèn)情況下)
■PA=DS?4+(BX/SI/DI)+立即數(shù)或變量的偏移
■PA=SS?4+(BP)+立即數(shù)或變量的偏移
例
MOVAL,[BX+5]
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)23/138
專寄存器相對尋址
■例:求從VAL開始的30字節(jié)內(nèi)存中各值之和
寄存器間接尋址方式寄存器相對尋址方式
;WVAL首字節(jié)的偏移MOVSI,0
LEASI,VAL;設(shè)循環(huán)次數(shù)
;設(shè)循環(huán)次數(shù)
MOVCX,30
MOVCX,30
;初始化和為0
;初始化和為0
MOVAL,0
MOVAL,0
AGAIN:ADDAL,[SI]AGAIN:ADDAL,VAL[SI]
;指針加1;指針加1
INCSIINCSI
LOOPAGAINLOOPAGAIN
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)24/13a
.基址變址尋址
■格式:操作數(shù)表示成[BX/BP+SI/DI]
MOVAX,[BX][DI]
MOVCL,[BP+DI]
MOVES:[BX][SI],AH或
MOV[SI][BX],AH
■操作數(shù)的物理地址:(段寄存器缺省情況)
■PA=DS?4+(BX)+(SI/DI)
■PA=SS?4+(BP)+(SI/DI)
■適用于:一維或二維數(shù)組或表格
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)25/138
旌基址變址尋址
例,MOVAX,[BX+SI]
DS5000H代
BXI2000H|碼
段
SI|0006H|50000H
小
EA
EA=2000H+06H
=2006H教
52006H
AXABH78H<<據(jù)
段
基址變址尋址方式
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)26/13a
相對基址變址尋址
格式:操作數(shù)表示成[BX/BP+SI/DI+立即數(shù)/
變量名]
MOVAX,COUNT[BX][SI]
MOVAX,COUNT[SI][BX]
MOVAX,[BX+COUNT][SI]
MOVAX,[BX+SI+COUNT]
MOVAX,[BX]COUNT[SI]
ADDVALUE[BX][DI],DX
■操作數(shù)的物理地址:(缺省情況)
■PA=DS?4+BX+SI/DI+立即數(shù)或變量的偏移
PA=SS?4+BP+SI/DI+立即數(shù)或變量的偏移
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)28/138
相對基址變址尋址
裝存儲器操作數(shù)尋址
----
。注意:為限制指令代碼長度,不
允許兩個(gè)操作數(shù)都用存儲器尋址
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)30/138
工3?28086操作數(shù)尋址方式
■立即數(shù)尋址
■寄存器操作數(shù)尋址
■存儲器操作數(shù)尋址
■IO端口操作數(shù)尋址
■直接尋址
間接尋址
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)31/138
10端口尋址
■操作數(shù)在外設(shè)端口
■物理地址:PA=端口地址(端口號)
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)32/138
10端口尋址
工■??=7—
■直接尋址:指令中直接給出8位端口地
址
只能尋址前256個(gè)端口(端口號00?
FFH)
INAL/AX,8位立即數(shù);輸入
OUT8位立即數(shù),AL/AX;輸出
例,INAL,20H;[端口20H]-AL
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)33/138
旌10端口尋址
■間接尋址:將16位端口地址放入DX
可尋址216個(gè)端口(端口號o?FFFFH)
MOVDX,16位立即數(shù);設(shè)端口號
INAL/AX,DX;輸入
OUTDX,AL/AX;輸出
例,MOVDX,210H
OUTDX,AL;AL^[^n210H]
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)34/138
旌8086操作數(shù)尋址方式小結(jié)
,R35___--?―5簿-jra^T,
■立即數(shù)尋址
■寄存器尋址
■存儲器操作數(shù)尋址
■直接尋址、寄存器間接尋址、寄存器相
對尋址、基址變址尋址、相對基址變址
尋址
■1O端口操作數(shù)尋址
10直接尋址、10間接尋址
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)35/138
尋址方式示例
■假設(shè):DS=2000H,ES=2100H,SS=1500H,
SkOOAOH,DI=0,BX=O1OOH,BP=OO1OH,數(shù)
據(jù)變量VAL在數(shù)據(jù)段中的偏移地址為0050H,指出
下列指示的源操作數(shù)是什么尋址方式,寫出它的物
理地址:
(1)MOVAL,OABH立即數(shù),代碼段內(nèi)
(2)MOVAX,VAL存-直接,PA=20050H
(3)MOVAX,VAL[DI]存-寄相,PA=20050H
(4)MOVAX,VAL[BX][SI]存-相基變,PA=201F0
(5)MOVAX,BX寄存器,寄存器中
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)36/138
?尋址方式示例
■假設(shè):DS=2000H,ES=2100H,SS=1500H,
SkOOAOH,DI=0,BX=O1OOH,BP=OO1OH,數(shù)
據(jù)變量VAL在數(shù)據(jù)段中的偏移地址為0050H,指出
下列指示的源操作數(shù)是什么尋址方式,寫出它的物
理地址:
(6)MOVAX,[100H]存-直接,PA=20100H
(7)MOVAX,[BX]存-寄間,PA=20100H
(8)MOVAX,ES:[BX]存-寄間,PA=21100H
(9)MOVAX,[BP]存-寄間,PA=15010H
(10)MOVAX,[SI+10H]存一寄相,PA=200B0H
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)37/138
尋址方式示例
■例:(DS)=3000H,(BX)=110OH,(CS)=0062H,
(SI)=0002H,(31100H)=52H,(31101H)=8FH,
(31162H)=6BH,(31163H)=99H,(31103H)=F6H,
(32200H)=AAH,(32201H)=B6H,(32800H)=55H,
(32801H)=77H,寫出下列指令執(zhí)行后AX的內(nèi)容:
(1)MOVAX,1100H[BX]
AX=(DS:1100H+BX)=(32200H)=B6AAH
(2)MOVAX,[2800H]
AX=(DS:2800H)=(32800H)=7755H
(3)MOVAX,BX
AX=BX=1100H
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)38/138
?尋址方式示例
■例:(DS)=3000H,(BX)=110OH,(CS)=0062H,
(SI)=0002H,(31100H)=52H,(31101H)=8FH,
(31162H)=6BH,(31163H)=99H,(31103H)=F6H,
(32200H)=AAH,(32201H)=B6H,(32800H)=55H,
(32801H)=77H,寫出下列指令執(zhí)行后AX的內(nèi)容
(4)MOVAX,[BX]
AX=(DS:BX)=(31100H)=8F52H
(5)MOVAX,[1160H+SI]
AX=(DS:1160H+SI)=(31162H)=996BH
(6)MOVAX,4200H
AX=4200H
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)39/138
我尋址方式示例:找錯
1.MOV3,SI1,立即數(shù)不能做目的
2.MOVCH,1234H2,類型不一致
類型不明確,
3.MOV[BX],33H3.BYTEPTR
4.類型不一致
4.MOVAX,CL
5.正確
5.MOVAL,[BX]
6,不能兩個(gè)存儲器尋址
6.MOVX,[100H]
7,不能兩個(gè)變址寄存器器
7.MOVAX,[DI][SI]
8.不能對段寄存器直接寫
8.MOVDS,1000H立即數(shù)
9.MOVCS,AX9.改變CS會使程序出錯
10.MOV[AX],BX10.AX不能用作間接尋址
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)40/1
重3?38086轉(zhuǎn)移地址尋址方式
■程序在存儲器中的訪問程序段
MOVAX,3065H指令被翻譯成機(jī)器
碼(B86530)后存儲在存儲器的程
B8H
序段中65H
當(dāng)前指令由CS:IP得到,執(zhí)行完指令30H
后IP會自動增加以指向下一條指令
■如果要改變這種方式,則需要引入
數(shù)據(jù)段
控制程序流程的指令
轉(zhuǎn)移(JMP,JZ等)、循環(huán)(LOOP)、
過程調(diào)用(CALL)、中斷(INT)
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.Zfiu第3章指令系統(tǒng)41/138
8086轉(zhuǎn)移地址的尋址方式
■程序跳轉(zhuǎn)也存在64K大小的限制
64K之內(nèi)稱段內(nèi)轉(zhuǎn)移
64K之外稱段間轉(zhuǎn)移
■轉(zhuǎn)移地址的尋址方式
■段內(nèi)直接轉(zhuǎn)移
■段內(nèi)間接轉(zhuǎn)移
■段間直接轉(zhuǎn)移
段間間接轉(zhuǎn)移
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)42/138
旺段內(nèi)直接(相對)轉(zhuǎn)移尋址
■格式:
操作碼[SHORT|NEARPTR]短/近標(biāo)號
JMPNEXT;NEXT為短標(biāo)號或近標(biāo)號
CALLSUB;SUB為段內(nèi)子過程名
JMP110H㈠先轉(zhuǎn)到CS:110H處
■短轉(zhuǎn)移:8位偏移,近轉(zhuǎn)移:16位偏移
■轉(zhuǎn)移的目標(biāo)地址:
■CS不變,IP=當(dāng)前IP+指令中的8/16位偏移量
■注意:條件轉(zhuǎn)移只能段內(nèi)直接短轉(zhuǎn)移
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)43/138
.段內(nèi)間接轉(zhuǎn)移尋址
■格式:
操作碼16位通用寄存器|字類型存儲器
■JMPBX
JMPAX
■JMPSI
JMPTABLE[BX];TABLE是字變量
JMPWORDPTR[BP][DI]
JMP[BX];缺省表示是字
■轉(zhuǎn)移的目標(biāo)地址:
■CS不變
■IP=寄存器內(nèi)容或連續(xù)2字節(jié)存儲單元的內(nèi)容
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)44/138
段間直接轉(zhuǎn)移尋址
■格式:
操作碼[FARPTR]遠(yuǎn)標(biāo)號
JMPLABEL;LABEL為遠(yuǎn)標(biāo)號
■轉(zhuǎn)移的目標(biāo)地址:
■CS=標(biāo)號的段地址
■IP=標(biāo)號的偏移地址
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)45/138
我段間間接轉(zhuǎn)移尋址
■格式:
操作《馬FAR[PTR]|DWORDPTR
存儲器操作數(shù)
JMPDWORDPTR[BP][SI]
JMPVAR;VAR是雙字變量
■轉(zhuǎn)移的目標(biāo)地址:
■CS=高2字節(jié)存儲單元的內(nèi)容
■IP=低2字節(jié)存儲單元的內(nèi)容
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)46/138
轉(zhuǎn)移地址尋址
,短(條件轉(zhuǎn)移只能這種)
標(biāo)號<近
、—**
匹
轉(zhuǎn)移指令寄存器(只能段內(nèi))
字(段內(nèi))
內(nèi)存
雙字(段間)
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)47/138
3-48086的指令系統(tǒng)
一-__
■數(shù)據(jù)傳送指令》
■算術(shù)運(yùn)算指令?
■邏輯運(yùn)算與移位指令A(yù)
■字符串處理指令?
■控制轉(zhuǎn)移指令?
■處理器控制指令?
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)48/138
旌數(shù)據(jù)傳送指令
■通用傳送
MOV、PUSH、POP、XCHG
■累加器專用傳送
IN、OUT、XLAT
■地址傳送
LEA、LDS、LES
■標(biāo)志寄存器傳送
LAHF、SAHF、PUSHF、POPF
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)49/138
MOV傳送指令
■格式:MOVDST,SRC(字/字節(jié))
■執(zhí)行:將源操作數(shù)傳送到目操作數(shù),DST-SRC
■操作數(shù)類型:立即數(shù),寄存器操作數(shù)和存儲器操作
數(shù)。(字或字節(jié))
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)50/138
MOV傳送指令
■不影響標(biāo)志位
■注意:
■兩個(gè)操作數(shù)不能全為存儲器
■兩個(gè)操作數(shù)不能全為段寄存器
■CS和立即數(shù)不能作目的操作數(shù)
■不能將立即數(shù)直接傳送給段寄存器
源和目的操作數(shù)的類型必須一致
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)51/138
PUSH和POP
■堆棧操作
堆棧是一個(gè)只有一個(gè)出入口的存儲器區(qū)域,存
取數(shù)據(jù)是“先進(jìn)后出,后進(jìn)先出”
■有特殊的數(shù)據(jù)傳輸指令,即“PUSH”和“POP”;
有特殊的專為其服務(wù)的堆棧指針SP,PUSH和
POP后自動修改
新的數(shù)據(jù)進(jìn)棧時(shí),棧中原存的信息不受破壞,
而只改變棧頂位置;數(shù)據(jù)從堆棧中彈出時(shí),彈
出的是棧頂位置的數(shù)據(jù),彈出后自動調(diào)整棧頂
位置
每次傳送的數(shù)據(jù)為16位,16位數(shù)據(jù)在堆棧中的
存放順序是按照“高高低低”原則
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)52/138
PUSH和POP堆棧操作指令
------一
■格式:PUSHSRC(字)
POPDST(字)
■執(zhí)行:
PUSH入棧:SP-29SP;SRC9(SS:SP)
POP出才戔:(SS:SP)9DST;SP+2-?SP
■操作數(shù)類型:16位寄存器操作數(shù)或16位內(nèi)存操作數(shù)
(除立即數(shù)、字節(jié)寄存器、CS以外的各種尋址方
式)
PUSHDS
POPVAL[SI]
■不影響標(biāo)志位
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)53/138
PUSH和POP堆棧操作
SS:0000H低地址MOVAX,25FEH
MOVBX,3120H
PUSHBX
PUSHAX
POPBX
POPAX
SP棧大小
AX25FE
BX3120
高地址
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)54/138
旌PUSH和POP堆棧操作指令
■注意:
以字為單位
不允許POPcs
■不允許對立即數(shù)操作
■用于保護(hù)數(shù)據(jù):
PUSH和POP指令保護(hù)和恢復(fù)寄存器和
內(nèi)存內(nèi)容
CALL和RET或INT和IRET指令自動保護(hù)
和恢復(fù)主程序斷點(diǎn)處的段和偏移地址
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)55/138
-XCHG交換指令
■格式:XCHG0PR1,0PR2(字節(jié)/字)
■執(zhí)行:交換源、目操作數(shù),0PR1—0PR2
■操作數(shù)類型:
存儲器通用寄存器
例,XCHGAX,[BX+DI]
■不影響標(biāo)志位
■注意:不能兩個(gè)都是存儲器;不能有段寄存
器
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)56/138
JN和OUT輸入輸出指令
■格式:INAX/AL,端口地址
OUT端口地址,AX/AL
■執(zhí)行:OUT
AL/AX1》(端口)
IN
■端口操作數(shù)類型:
立即數(shù)(0-255),DX(0-65535)
MOVDX,210H
INAL,DX
OUT20H,AX
■不影響標(biāo)志位
■注意:只能用AX/AL,DX寄存器
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)57/138
XLAT換碼或查表指令
jfa^
■格式:XLAT[OPRD]
■功能:以查表方式實(shí)現(xiàn)修一個(gè)字節(jié)從一種代
碼轉(zhuǎn)化成另一種代碼。使用之前先建立轉(zhuǎn)換
表,表的起始地址裝入BX寄存器,AL為偏
移量
■執(zhí)行:((BX)+(AL))f(AL)
■操作數(shù):由隱含的BX和AL尋址的內(nèi)存字節(jié)
單元和AL
■不影響標(biāo)志位
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)58/138
XLAT換碼或查表指令
■例,十進(jìn)制數(shù)字七段顯示碼十進(jìn)制數(shù)字七段顯示碼
040H512H
179H602H
224H778H
330H800H
419H918H
TABLEDB40H,79H,24H,30H,19H;建轉(zhuǎn)換表
DB12H,02H,78H,00H,18H
MOVBX,OFFSETTABLE;BX-表首偏移
MOVAL,05H;AL-數(shù)字5的位移
XLATTABLE;查表AL-12H
大平臺課程《微機(jī)原理及接口技術(shù)》L.J.Zftu第3章指令系統(tǒng)59/138
旌LEA取有效地址指令
■■
■格式:LEAREG,SRC
■執(zhí)行:SRC的EAfREG(取SRC的內(nèi)存偏
移地址)
■操作數(shù)類型:SRC必須是內(nèi)存操作數(shù);REG
必須是字通用寄存器
LEASI,VAL
LEABX,[100H];BX=100H
LEAAX,[BX+SI+62H];AX=BX+SI+62H
■不影響標(biāo)志位
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)60/138
LDS和ILES取雙字指針指令
—___—
■格式:LDSREG,SRC
LESREG,SRC
■執(zhí)行:
LDS:(SRC)-REG,(SRC+2)-DS
LES:(SRC)-REG,(SRC+2)9ES
■操作數(shù)類型:SRC必須是雙字內(nèi)存操作數(shù);REG必
須是字通用寄存器(LDS常用SI,LES常用DI)
■例,LDSSI,[10H]
■執(zhí)行前(DS)=COOOH,(C0010H)=0180H,(C0012H)
=2000H
■執(zhí)行后(SI)=(C0000H+10H)=180H,(DS)=2000H
■不影響標(biāo)志位
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)61/138
LDS和LES指令
■例,LESDI,[2130H]
彳員設(shè)DS=3000H,刃F么
源操作數(shù)就存儲在:
30000H+2130H=
32130H位置
■則指令執(zhí)行后:
■Dl=[32130H]=5678H
■ES=[32132H]=1234H
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu
LAHF和SAHF標(biāo)志傳送指令
■格式:LAHF
SAHF
LAHF
■執(zhí)行:標(biāo)志寄存器的低字節(jié)<AH
SAHF
■操作數(shù):FLAG和AH(隱含)
■LAHF不影響標(biāo)志位;SAHF影響標(biāo)志位
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)63/138
PUSHF和POPF標(biāo)志入出棧才旨令
■格式:PUSHF
POPF
PUSHF(SP-SP-2)
■執(zhí)行:標(biāo)志寄存器二二堆棧
POPF(SP-SP+2)
■操作數(shù):FLAG和堆棧(隱含)
■PUSHF不影響標(biāo)志位;POPF影響標(biāo)志位
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)64/138
3-48086的指令系統(tǒng)
一-__
■數(shù)據(jù)傳送指令?
■算術(shù)運(yùn)算指令?
■邏輯運(yùn)算與移位指令A(yù)
■字符串處理指令?
■控制轉(zhuǎn)移指令?
■處理器控制指令?
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)65/138
■加法
ADD、ADC、INC、DAA、AAA
■減法
SUB、SBB、DEC、NEG、CMP、DAS、AAS
■乘法
MUL、IMUL、AAM
■除法
DIV、IDIV、CBW、CWD、AAD
■除了除法類指令,其余指令都影響標(biāo)志
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)66/138
3aADD和ADC力口法才旨令
■格式:ADD/ADCDST,SRC(字/字節(jié))
■執(zhí)行:
ADD:DST-DST+SRC
ADC:DST-DST+SRC+CF(用于多字節(jié)力口)
■操作數(shù)類型:?日通用寄存器
ADDAX,[30H]
ADDBP,20H亡立即數(shù)
ADDVAL,DX
A存儲器操作數(shù)
ADDBYTEPTR[SI+10H],5H
■影響標(biāo)志位C,O,P,S,Z和A
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)67/138
ADD和ADC加法指令
BXAX
I—1234一執(zhí)行前I5678
[1234執(zhí)行時(shí):~5678
68AC執(zhí)行后|5678
1234H+5678H=68ACH
ADDBX,AX的執(zhí)行過程
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)68/138
■例:完成兩個(gè)雙字
據(jù)
數(shù)
數(shù)的相加:兩個(gè)加高地址段
1,
數(shù)分別存放在DS段AX=[SI+2]+[DI+2]+CFDs
的0x2000和0x3000AX=[SI]+[DI]
處,結(jié)果存放到
0x4000處。BX=4000H[BX]——
MOVSI,2000H
MOVDI,3000H
MOVBX,4000HDI=3000H[DI]——
MOVAX,[SI]
ADDAX,[DI]
MOV[BX],AXSI=2000H[SI]——
MOVAX,[SI+2]
ADCAX,[DI+2]低地址
MOV[BX+2],AX
摩加法指令對標(biāo)志位的影響
■程序如下:
MOVAL,5EH01011110
MOVBL,3CH+00111100
ADDAL,BL10011010(9AH)
■ZF=0,AF=15CF=0,SF=15PF=15OF=1
■標(biāo)志位的解釋取決于編寫的程序:
看作無符號數(shù):9AH=154,CF、ZF有意義
看作有符號數(shù):結(jié)果溢出,SF、OF、ZF有意
義
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)70/138
SUB和SBB減法才旨令
■格式:SUB/SBBDST,SRC(字/字節(jié))
■執(zhí)行:
SUB:DST=DST-SRC
SBB:DST=DST-SRC-CF(多字節(jié)減法)
■操作數(shù):
_n通用寄存:*1
立即數(shù)
一I即存儲器操作數(shù)
■影響標(biāo)志位C,O,P,S,Z和A
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)71/138
SUB和SBB減法才旨令
AX_BX
5678執(zhí)行前|~1234
|56?8執(zhí)行時(shí):~1234
4444執(zhí)行后~1234
5678H-1234HM444H
SUBAX,BX的執(zhí)行過程
大平臺課程《微機(jī)原理及接口技術(shù)》£.7Z初第3章指令系統(tǒng)72/138
疆減法指令對標(biāo)志位的影響
■程序如下:
MOVAL,0B1H10110001
MOVBL,4AH-01001010
SUBAL,BL
01100111(67H)
■ZF=0,AF=1,CF=0,SF=0,PF=0,OF=1
■標(biāo)志位的解釋取決于編寫的程序:
無符號數(shù):67H=103,CF、ZF有意義
有符號數(shù):結(jié)果溢出,SF、OF、ZF有意義
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)73/138
旌CMP比較指令
■格式:CMP0PR1,0PR2(字/字節(jié))
■執(zhí)行:
0PR1-OPR2T影響標(biāo)志位,不改變操作數(shù)
■操作數(shù):
I.通用寄存器
立即數(shù)
存儲器操作數(shù)
■影響標(biāo)志位C,O,P,S,Z和A
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)74/138
=CMP比較指令
■CMPA,B:用于判斷兩個(gè)數(shù)之間關(guān)系
■A=B?................ZF
■ZF=1-A=B
■A>B?
■無符號數(shù).........CF
■CF=0->A>B
■CF=1->A<B
■有符號數(shù).........SF?OF(異或)
■SF十OF=0-A>B
■SF十OF=1-AvB
您^大平臺課程
《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)75/138
INC和DEC增量減量指令
■格式:INC/DECOPRD
■執(zhí)行:
INC:OPRD+1-OPRD
DEC:OPRD-1-OPRD
■操作數(shù)類型:通用寄存器、存儲器
■INCSI
INCVAL
■DECBX
■影響標(biāo)志位A,0,P,S和乙但不影響C
主要用于在循環(huán)程序中修改地址指針和循環(huán)次
數(shù)并數(shù)等
大平臺課程《微機(jī)原理及接口技術(shù)》LJ.ZHu第3章指令系統(tǒng)76/138
NEG取負(fù)指令
■格式:NEGOPR
■執(zhí)行:求補(bǔ)、符號取反力口負(fù)號
OPR=Q-OPR或正數(shù)?,A負(fù)數(shù)
取絕對值
OPR=OPR+1
■操作數(shù):通用寄存器、存儲器
MOVAX,93A4H
NEGAX;A
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 近視防控黃紅橙預(yù)警制度
- 機(jī)器學(xué)習(xí)技術(shù)在醫(yī)療健康領(lǐng)域的應(yīng)用前景展望
- 車間環(huán)保自律制度
- 財(cái)務(wù)部會計(jì)工作交接制度
- 語言文字持證上崗制度
- 2025年青島國企公司招聘筆試及答案
- 2025年三甲護(hù)士筆試??贾R點(diǎn)及答案
- 2025年大足事業(yè)單位招聘考試題及答案
- 2025年封丘縣人事考試及答案
- 2025年平安信用卡銀行筆試及答案
- 手術(shù)室感染課件
- 06MS201-3排水檢查井規(guī)范
- T-CACM 1362-2021 中藥飲片臨床應(yīng)用規(guī)范
- 《常用辦公用品》課件
- 四川省南充市2024-2025學(xué)年高一上學(xué)期期末質(zhì)量檢測英語試題(含答案無聽力原文及音頻)
- 山東省淄博市2023-2024學(xué)年高二上學(xué)期期末教學(xué)質(zhì)量檢測數(shù)學(xué)試題(解析版)
- 數(shù)據(jù)中心安全生產(chǎn)管理制度
- 2024至2030年中國紙類香袋數(shù)據(jù)監(jiān)測研究報(bào)告
- 面向工業(yè)智能化時(shí)代的新一代工業(yè)控制體系架構(gòu)白皮書
- 2024年四川省成都市青羊區(qū)中考數(shù)學(xué)二診試卷(含答案)
- 左心導(dǎo)管檢查及造影操作技術(shù)規(guī)范
評論
0/150
提交評論