8086指令系统中可以包含哪些段(8086指令系统的指令字节)
在生活中,很多人可能想了解和弄清楚8086指令系统的相关问题?那么关于8086指令系统中可以包含哪些段的答案我来给大家详细解答下。
8086指令系统
从功能上分为6大类:数据传送,算术运算,逻辑运算和位移,串操作,程序控制,处理器控制。
一、数据传送指令
①通用数据传送:一般数据传送指令,堆栈操作指令,交换指令,查表转换指令,字位扩展指令,
特点:该类指令的执行对标志位不产生影响
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
温馨提示:通过以上关于8086指令系统内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。