8086微处理器指令
1. 汇编指令是什么?
-汇编指令是汇编语言中使用的一些操作符和助记符,也包括一些伪指令(如assume,end)。告诉汇编程序如何汇编的指令,它既不控制机器的操作,也不汇编成机器代码,只能识别和指导汇编程序。
2. 汇编指令大全
2.1. MOV(传送)
- 用法:MOV {target},{source}
- 功能描述:把source复制内容target里
- 注意:
-
- T不可为CS(代码段寄存器),CS操作属性应为R只能读,不能写。
-
- T和S不同于内存和段寄存器(CS\DS\ES\SS\FS\GS)
-
- 不能立即将数传送到段寄存器
-
- 必须是相同的类型,即单词,双字
- 写法示例:MOV dl,01H; MOV eax,[bp]; eax =ss:[bp] 双字传送。
2.2. XCHG(交换)
- 用法:XCHG {OBJECT1},{OBJECT2}
- 功能描述:交换object1与object2的值
- 注意:
-
- 对于OBJECT1和OBJECT内存中的值不能相同
-
- OBJECT1 OBJECT必须是通用寄存器(AX\BX\CX\DX)
-
- 类型匹配
2.3. PUSH(进栈)
- 写法:PUSH reg16(32)/seg/mem16(32)/imm
- 功能描述:将通用寄存器/段寄存器/内存数/立即数压入栈中
2.4. POP(出栈)
- POP reg16(32)/seg/mem16(32)CS中】
- 功能描述:向通用寄存器/段寄存器/内存中推出堆栈口16(32)位数据
2.5. ADD(加法)
- 写法:ADD reg/mem reg/mem/imm
- 将后面的操作数添加到前面的操作数中
2.6. ADC(带符号加法)
- 写法同ADD
2.7. INC (加一)
- 写法:INC reg\mem
- 作用:INC AX => AX
2.8. SUB(减法)
- 写法:SUB reg/mem reg/mem/imm
- dest=dest-src;
2.9. SBB(带符号减法)
- 写法同SUB
2.10. DEC(减一)
- 用法:DEC reg\mem
- 作用:DEC AX => AX–
2.11. IN(输入指令)
- 用法:IN reg,A
- A指端口地址,当端口地址为8位时,reg可以时AL(通用寄存器AX低8位);A时16位,reg必须是DX;
- 功能:当发生搜索操作时,数据将通过AL给出端口地址AH;
2.12. OUT(输出指令)
- 用法:OUT DX,AL
- 格式: OUT n,AL ;(n)<–(AL)
2.13. JMP(无条件转移指令)
- 用法:JMP OPRD
- 无条件转移到地址OPRD中
- 相对于条件转移指令JBE/JNA(不高于时间转移)JAE/JNB(不低于时间转移)JNC等等
3. 备注
- 2022/06/30:今天完成了部分笔记的电子化,一些记忆模糊的地方参考了百度到的一些博文;