8086CPU指令系统文档格式.docx

上传人:b****5 文档编号:18364630 上传时间:2022-12-15 格式:DOCX 页数:24 大小:53.27KB
下载 相关 举报
8086CPU指令系统文档格式.docx_第1页
第1页 / 共24页
8086CPU指令系统文档格式.docx_第2页
第2页 / 共24页
8086CPU指令系统文档格式.docx_第3页
第3页 / 共24页
8086CPU指令系统文档格式.docx_第4页
第4页 / 共24页
8086CPU指令系统文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

8086CPU指令系统文档格式.docx

《8086CPU指令系统文档格式.docx》由会员分享,可在线阅读,更多相关《8086CPU指令系统文档格式.docx(24页珍藏版)》请在冰豆网上搜索。

8086CPU指令系统文档格式.docx

INCSI

INCDI

可用指令来完成该功能。

A)REPLODSBB)REPSTOSBC)REPESCASBD)REPMOVSB

2、设(AL)=-68,(BL)=86,执行SUBAL,BL指令后,正确的结果是。

A)CF=1B)SF=1C)OF=1D)ZF=1

3、设(SS)=0FFA0H,(SP)=00B0H,(AX)=8057H,(BX)=0F79H,执行指令“PUSHAX”后,(SP)=

(1);

再执行指令:

PUSHBX

POPAX

后,(SP)=

(2),(AX)=(3),(BX)=(4)。

4、设(AL)=-68,(BL)=86,执行SUBAL,BL指令后,正确的结果是。

A)SF=1B)ZF=0

C)CF=1D)OF=1

5、假设(SS)=2000H,(SP)=0012H,(AX)=1234H,执行PUSHAX后,=12H

A)20014B)20011HC)20010HD)2000FH

6、若要检查BX寄存器中的D12位是否为1,应该用指令。

A)ORBX,1000HB)TESTBX,1000H

JNZNOJNZYES

C)XORBX,1000HD)ANDBX,1000H

JZYESJNZYES

7、用BP作基址变址寻址时,操作数所在的段是当前。

A)数据段B)代码段C)堆栈段D)附加段

8、执行下列指令后:

MOVAX,1234H

MOVCL,4

ROLAX,CL

DECAX

MULCX

HLT

A)8D00HB)9260HC)8CAOHD)0123H

四、判断题

1、MOVAX,[BP]的源操作数的物理地址为16×

(DS)+(BP)。

()

2、判断下列指令是否正确,若错误,请指出原因。

(1)CMP[CX],BYTEPTRSTR+1

(2)MOVDI,OFFSET[BX][SI]

(3)LEADI,[BX][SI]

(4)PUSHAL

(5)SHLAX,3

(6)MOVAX,TAB2-TAB1+100

(7)OUTCX,AL

(8)DIV25

(9)MOVCX,BX

(10)POPCS

(11)PUSHWORDPTR20[BX+SI-2]

(12)LEABX,4[BX]

(13)MOVBYTEPTR[BX],1000

(14)MOVAX,[SI][DI]

(15)MOVSAVE_WORD,DS

(16)MOVAX,ARRAY1+ARRAY2

(17)MOVWORD_OP1,WORD_OP1-WORD_OP2

(18)MOVSP,SS:

DATA_WORD[BX][SI]

(19)MOVAH,BX

(20)MULAX,BX

(21)LEADS,35[DI]

(22)MOVSTR[BX][SI],ES:

AX

(23)MOV[BX][BP],AX

(24)ADDAX,ACH

一、 

 

8086指令的一般格式

概述

指令:

是计算机用以控制各部件协调动作的命令;

 

指令系统:

CPU可执行的指令的集合;

机器指令:

是CPU仅能识别的指令的二进制代码,也称机器码;

指令格式:

由操作码和操作数两部分组成,有些指令无操作数。

操作码规定了指令的操作性质,用助记符表示;

操作数规定了指令的操作对象。

指令可分为无操作数指令、单操作数指令、双操作数指令。

例:

HLT无操作数

DAA约定或隐含操作数

INCAL单操作数

MOVAL,BL双操作数,其中逗号前的操作数AL为目的操作数,逗号后的操作数BL为源操作数。

操作数类型有三种:

立即数:

出现在指令中的常数;

寄存器操作数:

操作数在寄存器中;

存储器操作数:

操作数在存储器中。

 

二、8086寻址方式

是指CPU在执行指令时寻找操作数或操作数地址的方式。

1.立即寻址:

直接放在指令中的常数称为立即数,立即数只能是源操作数,立即数存放在指令操作码之后的存储单元中。

MOVAL,50H

2.寄存器寻址:

存放在寄存器中的数据为操作数,寄存器操作数可以是源操作数,也可以是目的操作数。

MOVAL,BL

以下寻址方式3~8,操作数都在存储器中。

存储器操作数具有类型属性,如字节(BYTE)、字(WORD)、双字(DWORD)等,反映了数据占用存储单元的字节数,指令书写中,约定用方括号内容表示存储器操作数的偏移地址;

用类型名PTR偏移地址的形式说明指令中存储器操作数的类型,例:

WORDPTR[1000H];

用变量名DB/DW/DD数据序列的形式分别定义具有“变量名”的字节、字或双字存储器操作数,如BUFDB10H,20H。

3.存储器寻址

(1)直接寻址:

存储器操作数的16位偏移地址直接包含在指令的方括号中。

MOVAL,[1000H]约定由DS提供段地址

MOVAL,CS:

[1000H];

段超越,由CS提供段地址

MOVAL,SS:

段超越,由SS提供段地址

(2)寄存器间接寻址:

操作数所在的存储单元的偏移地址放在指令给出的寄存器中。

可用于这种寻址方式的寄存器只能是SI、DI、BP和BX。

其中,SI、DI、BX约定的段寄存器是DS,而BP约定的段寄存器SS。

MOVAX,[SI];

AX←DS:

[SI]

MOV[BX],AX;

DS:

[BX]←AX

(3)基址寻址:

操作数的有效地址是指令给定的位移量(8位或16位)与BX、BP内容之和,段寄存器约定同寄存器间接寻址,允许段超越。

MOVAX,[BX+3AH];

[BX+3AH]

MOV[BP+4EB3H],AX;

SS:

[BP+4EB3H]←AX

(4)变址寻址:

操作数的有效地址是指令给定的位移量与寄存器SI或DI内容之和,段寄存器约定在DS中,允许段超越。

MOV[DI+12H],AX;

[DI+12H]←AX

MOVBX,SS:

[DI+45H];

BX←SS:

[DI+45H]

(5)基址变址寻址:

操作数的有效地址是指令给定的位移量和一个基址寄存器(BX或BP)及一个变址寄存器(SI或DI)的内容之和,段寄存器约定由基址寄存器决定,若为BX,段寄存器约定为DS;

若为BP,段寄存器约定为SS,允许段超越。

MOVBX,[DI+BP+45H];

[DI+BP+45H]

MOVAX,ES:

[SI+BX+76H];

AX←ES:

[SI+BX+76H]

注意:

基址寄存器BX和BP不能同时出现在一个方括号内,变址寄存器DI和SI亦如此。

(6)串寻址:

用于数据串操作指令,它隐含地运用:

SI指出源串偏移地址,DI指出目的串偏移地址,指令执行后,SI和DI的内容自动加1或减1(操作数为字节类型时)、加2或减2(操作数为字类型时);

约定源串段地址在DS中,目的串段地址在ES中。

不允许段超越。

MOVSB;

ES:

[DI]←DS:

[SI],SI←SI

1,DI←DI

1

MOVSW;

2,DI←DI

2

(7)端口寻址:

操作数在外设端口中。

直接端口寻址:

指令中直接给出的8位常数是外设端口地址。

INAL,34H;

AL←[34H]

OUT34H,AL;

[34H]←AL

间接端口寻址:

指令中外设端口的16位地址在DX中。

MOVDX,280H

INAL,DX;

AL←[280H]

OUTDX,AL;

[280H]←AL

(8)隐含寻址:

指令中没有给出操作数,但却隐含在固定对象中。

例:

AAA;

隐含对AL操作,

三、数据传送指令

1.通用数据传送指令

① 

MOVdst,src

指令功能:

dst←src,

标志寄存器:

不影响,

操作数:

src:

通用寄存器、段寄存器、存储器操作数、立即数;

dst:

通用寄存器、段寄存器、存储器操作数。

 

注意点:

src和dst必须类型一致(都是8位或者是16位);

dst不能是立即数;

当操作数不是立即数时,两个操作数不能都是存储器操作数;

源操作数是立即数时,目的操作数不能是段寄存器;

CS不得作目的操作数。

MOVBX,CX;

BX←CX

MOV[2000H],BL;

[2000H]←BL

XCHGdst,src

dst←→src

两操作数可以是通用寄存器和存储器。

两操作数不能都是存储器操作数;

两操作数类型必须一致。

XCHGAX,BX;

AX←→BX

② 

PUSHsrc

SP←SP-1,[SP]←srcH,SP←SP-1,[SP]←srcL

不影响

寄存器(IP除外)或存储单元。

源操作数只能是16位,而不能是8位的。

③ 

POPdst

dstL←[SP],SP←SP+1,dstH←[SP],SP←SP+1

不影响,POPF除外

同PUSH指令,但CS不能作为目的操作数。

目的操作数只能是16位的,而不能是8位的。

④ 

XLAT(查表指令)

AL←DS:

[BX+AL];

不影响;

用途:

用于查表,表首地址的偏移地址在BX中,表长度可达256字节。

2.地址传送指令:

用来传送操作数的地址。

①LEAreg16,src取偏移地址指令

将源操作数的偏移地址送16位通用寄存器;

目的操作数是16位通用寄存器,源操作数是存储器操作数。

②LDSreg16,src和LESreg16,src取地址指针指令

指令功能:

将源操作数的有效地址所对应的双字存储单元的高16位内容送入DS(LES指令送入ES),低16位内容送入指令指定的16位通用寄存器;

不影响。

设某双字存储单元偏移地址为3000H,双字数据为12345678H,则

LDSSI,[3000H];

DS=1234H,SI=5678H

LESDI,[3000H];

ES=1234H,DI=5678H

3.标志传送指令专门用于对标志寄存器进行操作

LAHF;

AH←FL,标志寄存器低8位送AH

SAHF;

FL←AH,AH的内容送标志寄存器低8位

PUSHF;

标志寄存器内容压栈

POPF;

栈顶内容送标志寄存器

SAHF和POPF指令将直接影响标志位,而其他传送均不会对标志位产生影响。

4.输入/输出指令用于主机与外设端口间的数据传送。

INAL,n;

INAL,DX;

INAX,n;

INAX,DX

从端口(地址为n或在DX中)输入8位数据到AL中或输入16位数据到AX中;

OUTn,AL;

OUTDX,AL;

OUTn,AX;

OUTDX,AX

从AL中输出8位数据到端口(地址为n或在DX中)或从AX中输出16位数据到端口(地址为n或在DX中)。

四、算术运算指令

1.加法指令

ADDdst,src

dst←src+dst

影响AF、CF、PF、OF、ZF、SF

目的操作数:

通用寄存器、存储器;

源操作数:

通用寄存器、存储器、立即数;

两操作数必须类型一致;

两操作数不能同时为存储器操作数。

ADDAX,BX;

AX←AX+BX

ADD[BX+DI+64H],AX;

[BX+DI+64H]←AX

ADCdst,src

dst←dst+src+CF

其余同ADD指令。

INCdst

dst←dst+1

影响OF、SF、ZF、AF、PF;

8位/16位通用寄存器或存储器;

不影响CF。

2.减法指令

SUBdst,src

dst←dst-src;

SUBBX,CX;

BX←BX-CX

SBBdst,src

dst←dst-src-CF;

其余同SUB指令。

SBB[BX+SI],AL;

[BX+SI]←[BX+SI]-AL-CF

DECdst

dst←dst-1

其余同INC指令。

NEGdst

dst←0-dst或det←

+1

影响AF、CF、PF、OF、ZF、SF;

8位/16位通用寄存器或存储器。

MOVAH,5

NEGAH;

AH=11111011B,是-5(补码)

MOVAX,-6

NEGAX;

AX=0006H,是+6

⑤ 

CMPdst,src

dst-src

其余同SUB指令;

指令执行后,目的操作数保持原值不变。

3.乘法指令

①MULsrc无符号数乘法指令

AX←AL*src(字节乘法)

DXAX←AX*src(字乘法)

字节乘:

若乘积高8位AH

0,则CF=1,OF=1,

若乘积高8位AH=0,则CF=0,OF=0;

字乘:

若乘积高16位DX

若乘积高16位DX=0,则CF=0,OF=0;

可以是通用寄存器、存储器,不能是立即数。

MULBX;

DXAX←AX*BX

MULBYTEPTR[SI];

AX←AL*(DS:

[SI])

②IMULsrc带符号数乘法指令

同MUL指令;

若乘法结果AH或DX包含有效值,则OF=1、CF=1,

若乘法结果AH或DX只是低半部分的符号扩展,则OF=0、CF=0

同MUL指令。

IMULWORDPTR[DI];

DXAX←AX*(DS:

[DI])

4.除法指令

①DIVsrc无符号除法指令

字节除:

AL←AX/src,余数在AH中,

字除:

AX←DXAX/src,余数在DX中。

若商超过AL(字节除)或AX(字除)所能存放的最大值(FFH或FFFFH)时,系统会自动产生0类中断,且商和余数都不确定。

操作数的规定与乘法指令相同。

DIVBX;

DX,AX←DXAX/BX,DX←余数,AX←商

②IDIVsrc带符号数除法指令

需强调的是余数的符号必须和被除数的符号相同。

当商超过AL或AX所能存放的最大值+127(字节除)或+32767(字除),以及所能存放的最小值-127(字节除)或-32767(字除)时,系统会自动产生0类中断。

5.符号扩展指令扩展带符号数的字节数

CBW

将AL中数的符号位扩展到整个AH中。

CWD

将AX中数的符号位扩展到整个DX中。

MOVAL,-16;

AL=0F0H(-16)

CBW;

AX=0FFF0H(-16)

CWD;

DXAX=0FFFFFFF0H(-16)

IDIVBX;

DX←余数,AX←商

6.BCD数调整指令

压缩型BCD数(也称组合BCD数):

一个字节表示两位BCD数;

非压缩型BCD数(也称非组合BCD数):

一个字节表示一位BCD数,有效位在低4位,高4位为零。

①加法的BCD数调整

a.AAA:

加法的非压缩型BCD数调整指令

对在AL中两个非压缩型BCD数相加的结果,调整成非压缩型BCD数在AL中;

若AL低4位大于9或AF=1,则AL+6,AH+1,CF和AF置1,AL高4位清0;

否则AL高4位清0,CF和AF置0,

该指令不影响PF、ZF、SF、OF。

必须紧跟在加法指令之后且只能对AL中的内容进行调整。

b.DAA:

压缩型BCD数调整指令

对在AL中两个压缩型BCD数相加的结果,调整成压缩型BCD数在AL中;

影响CF、PF、AF、ZF、SF,其中CF=1说明结果大于99。

MOVBL,35H

MOVAL,85H

ADDBL,AL

DAA

结果AL=20H,CF=1,AF=1,PF=0,ZF=0,SF=0

②减法的BCD数调整

a.AAS:

减法的非压缩型BCD数调整指令

对在AL中两个非压缩型BCD数相减的结果,调整成非压缩型BCD数在AL中;

影响AF、CF;

必须紧跟在减法指令之后且只能对AL中的内容进行调整。

SUBAL,BL;

AL和BL中的非压缩BCD数相减

AAS;

调整AL为正确的非压缩BCD数

b.DAS:

减法的压缩型BCD数调整指令

对在AL中两个压缩型BCD数相减的结果,调整成压缩型BCD数在AL中;

同DAA指令。

乘法的BCD数调整

AAM;

非压缩型BCD数调整

对AX中两个非压缩型BCD数在相乘的结果调整成两位非压缩型BCD数,高位非压缩型BCD数在AH中,低位非压缩型BCD数在AL中;

影响PF、SF、ZF。

必须紧跟在乘法指令之后。

除法的BCD数调整

AAD;

用在两位非压缩型BCD数在相除之前进行调整,对AX内容进行调整,使两个未组合的十进制数相除之后可得到非组合的BCD数结果,商在AL中,余数在AH中;

必须紧跟在除法指令之前。

五、位操作指令(包括逻辑运算指令、移位指令)

1.逻辑运算指令

ANDdst,src

dst←dst∩src

影响SF、ZF、PF,OF=0、CF=0,AF不确定

两操作数不能都是存储器操作数。

MOVBX,0F56H

ANDBL,BH;

BL=06H

ORdst,src

dst←dst∪src

其余同AND指令。

NOTdst

dst←

通用寄存器、存储器。

MOVAL,05H

NOTAL;

AL=0FAH

XORdst,src

dst←dst

src

TESTdst,src

dst∩src

其余同AND指令

指令执行后,目的操作数的值保持不变。

2.移位指令

移位次数cnt可以是1,若移位次数大于1时,必须放在CL中,移位结束后,CL值不变。

影响AF以外的各标志位,而AF不定;

当cnt=1时,OF才有意义,当移位前操作数的最高两位相同时,移位后OF=0,当操作数的最高两位不同时,OF=1。

①SALdst,cnt算术左移指令

SHLdst,cnt逻辑左移指令

通用寄存器或存储器的8位或16位内容。

②SARdst,cnt算术右移指令

③SHRdst,cnt逻辑右移指令

3.循环移位指令

只影响CF和OF,同样只有当cnt=1时,OF才有意义。

操作数同移位指令

①ROLdsr,cnt循环左移指令

②RORdst,cnt循环右移指令

③RCLdst,cnt带进位循环左移指令

④RCRdst,cnt带进位循环右移指令

六、程序控制指令

用来控制程序的执行顺序。

程序的执行顺序是由CS和IP确定的

转移指令可分为:

段间转移(也称远转移):

目标属性为FAR,同时改变CS和

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1