8086指令系统 操作数地址,双操作数,单操作数,无操作数指令。一,传送类指令;二,二、算数运算类指令
来源:互联网 发布:大数据舆情开源 编辑:程序博客网 时间:2024/05/16 10:55
双操作数指令:OPR DEST,SRC
单操作数指令:OPR DEST
无操作数指令:OPR
按指令功能划分为六大类:
1传送类指令
2算术运算类指令
3位操作类指令
4串操作类指令
5程序转移类指令
6处理器控制类指令
一,传送类指令
1,数据传送指令2交换指令3标志位传送指令4地址传送指令
1数据传送类指令 格式: MOV DEST (R/M),SRC(R/M/立即数)
指令功能:DEST <=(SRC),不影响任何标志位
MOV 指令只允许一个操作数在寄存器中
2交换指令: 指令格式 XCHG DEST(通用R/M),SRC(通用R/M)
指令功能: (DEST) <=>(SRC),不影响任何标志位
XCHG AL, AH
XCHG AX,DAW1
MOV AX,DAW1
XCHG DAW2,AX
MOV DAW1,AX
3标志位传送指令:
(1)取标志指令 指令格式: LAHF
指令功能:AH <=(FR)7~0 ,不影响任何标志位
(2)存标志指令 SAHF
指令格式:FR7~0<=(AH),
影响SF,ZF,AF,PF,CF
进入Debug调试时,标志位状态的字符表示形式:
例子:将SF,ZF置1,AF,PF,CF保持不变,可以用以下指令:
LAHF
OR AH,11000000B(B是二进制,或操作)
SAHF
(3)标志压栈指令
PUSHF
指令功能: I SP<=(SP)-2
II 栈顶字单元<=(FR)
不影响任何标志位
(4)标志出栈指令
POPF
指令功能: I FR <= (栈顶字单元)
II SP <=(SP)+2
影响所有标志位
4地址传送指令
这种指令将存储器操作数的地址传送到指定寄存器
(1) 装入有效地址指令
指令格式:LEA DEST(16位通用R),SRC(M)
指令功能:DSET <= SRC的EA,不影响任何标志位
例子:LEA指令的使用
LEA DI ,TAB
LEA BX,10H[SI]
(2)装入地址指针指令
格式:LDS DSET ,SRC
功能: DEST < = (SRC)
DS <= (SRC)+2
不影响标志位
二、算数运算类指令
这类指令包括加减乘除四种指令
两个操作数不能同时为存储器操作数
1加法运算指令
(1)加法指令
ADD DEST(R/M),SRC(R/M/立即数)
DEST <=(SRC) + (DEST)
按结果置OF,SF,ZF,AF,PF,CF
例子:ADD AX,SI
ADD DAW,0F8CH
ADD DL ,TAB[BX]
(2)带进位加法指令
(3)加1指令
2减法运算指令
(1)减法指令
(2)带借位减法指令
(3)减1指令
(4)求负数指令
(5)比较指令
- 8086指令系统 操作数地址,双操作数,单操作数,无操作数指令。一,传送类指令;二,二、算数运算类指令
- 指令 机器指令 汇编指令 指令系统 汇编指令的基本构成 操作数
- 指令字长与操作数
- 汇编指令imul 与 操作数
- 指令及操作数的寻址方式
- Git操作指令二
- Redis指令操作二
- ARM指令第二操作数#immed_8r常量问题
- ARM指令中灵活的第二操作数
- ARM中当立即数作为第二个操作数(源操作数)时如何使用MOV指令
- 操作数
- 操作数
- 什么是压栈操作?指令:PUSH src ;src为16位操作数
- 出栈是如何操作的?指令:POP dest dest为16位操作数
- 堆栈操作指令、标志寄存器传送指令和地址传送指令
- 算术操作类指令
- 逻辑操作类指令
- 串操作类指令
- 欢迎使用CSDN-markdown编辑器
- 配对碱基链(C程序设计进阶第6周)
- 枚举法_寻找三位数
- 去掉网页从网页中拷贝到word中段落带有的背景颜色
- SSH框架总结(框架分析+环境搭建+实例源码下载)
- 8086指令系统 操作数地址,双操作数,单操作数,无操作数指令。一,传送类指令;二,二、算数运算类指令
- 图像拼接
- 趣味动态图!机械原理与飞机是怎么飞的
- Myeclipse 10 Maven 构建 Java Web 项目
- 寻找山顶(C程序设计进阶第6周)
- Android官方文档阅读之旅——Application Fundamentals
- [C] 老鼠走迷宫(使用回圈+堆叠)
- 程序结构&&程序设计
- 使用Source Insight查看Android Framework 源码