微处理器笔记(1)

微处理器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和OBJECT2不可以同为内存里的值
    • OBJECT1 OBJECT2必须是通用寄存器(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:今天完成一部分笔记的电子化,有一些记忆模糊的地方参考了一些百度到的博文;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值