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