8086指令系统

从功能上分为六类:数据传输、算术运算、逻辑运算和位移、串行操作、程序控制、处理器控制。

一、数据传送指令

①通用数据传送:一般数据传送指令,堆栈操作指令,交换指令,查表转换指令,字位扩展指令,

特点:该类指令的执行对标志位不产生影响

1)一般数据传送指令MOV

格式:MOV dest, src

操作:dest →src

例:MOV AL,BL

注意点:

①两操作数字长必须相同

②两操作数不允许同时为存储器操作数

③两操作数不允许同时为段存器

④在源操作数是立即数时,目标操作数不能是段寄存器

⑤IP和CS不作为目标操作数,FLAGS一般也不作为操作数在指令中出现

例:

二、堆栈操作指令

堆栈操作原则:先进后出,以字为单位

堆栈操作指令:

压栈指令PUSH

格式:PUSH OPRD(16位寄存器或寄存器两单元)

出栈指令POP

格式:POP OPRD(16位寄存器或寄存器两单元)

PUSH执行过程:

PUSH操作例:

POP执行过程:

堆栈指令操作说明:

①指令的操作数必须是16位的

②操作数可以是寄存器或存储器两单元,但不能是立即数

③不能从栈顶弹出一个数给CS

④PUSH和POP指令在程序中一般成对出现

⑤PUSH指令的操作方向是从高地址到低地址,POP指令操作刚好相反

例:

三、交换指令

格式:XCHG REG,MEM/REG

注:两操作数必须有一个是寄存器操作数,不允许使用段寄存器

四、查表指令

XLAT

注:用BX的内容代表表格首地址,AL的内容为表内位移量。BX+AL得到要查元素的偏移地址操作:将BX+AL所指单元的内容送AL

五、字位扩展指令

①将符号数的符号扩展到高位

②指令为零操作数的指令,采用隐含寻址,隐含的操作数为AX及AX,DX

③无符号数的扩展规则为在高位补零

字节到字的扩展指令

格式:CBW

操作:将AL内容扩展到AX

规则:

若高位=0,则执行后AH=00H

若高位=1,则执行后AH=FFH

字到双字的扩展指令

格式:CBW

操作:将AL内容扩展到DX AX

规则:

若高位=0,则执行后DX=0000H

若高位=1,则执行后AH=FFFFH

1.《【cs指令】8086指令系统》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《【cs指令】8086指令系统》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.cxvn.com/gl/djyxgl/174787.html