汇编--算术运算指令:加减乘除

学习来源:微机原理与接口技术——吴宁,C51单片机汇编程序设计

加法

  • 普通加法ADD:两个字节运算
  • 带进位的加法ADDC:多位运算,使用前要先将CF清零(8086是ADC,c51是ADDC)
  • 加一指令INC:前两条会影响全部六个标志位,这一条不会影响CF(则其后面不能跟JNC类根据CY转移类指令)
    INC OPRD 其中操作数不能是立即数,不能是段寄存器,常用于修改地址指针。

标志位补充:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

减法

单片机:

  • 带借位减法指令SUBB
  • 减一指令DEC

8086:

  • 普通减法指令SUB
  • 带借位减法指令SBB
  • 减一指令DEC
  • 比较指令CMP
  • 求补指令NEG

SUB:对标志位的影响与ADD指令同,只适合两字节操作
SBB:OPRD1-OPRD2-CF–>OPRD1
DEC:OPRD-1–>OPRD
在这里插入图片描述

HLT用于暂停执行
NEG:
在这里插入图片描述
在这里插入图片描述
CMP:
在这里插入图片描述
这个指令对目标操作数没有影响,主要用于比较两个数的大小,然后影响标志位
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
XCHG是交换两数的存储位置,这段代码的作用是找最大数
在这里插入图片描述


在这里插入图片描述

乘法

单片机:
在MCS-51单片机中,乘法指令只有一条: MUL AB 该指令执行时将对存放于累加器A中的无符号乘数相乘,积的高字节存于B寄存器中,低字节存于累加器A中。指令执行后将影响CY和OV标志,CY复位,对于OV:当积大于255时(即B中不为0),OV为1;否则,OV为0。

8086:

  • 无符号数的乘法指令MUL
  • 带符号数的乘法指令IMUL

在这里插入图片描述
DX用于存放运算 结果的高16位
MUL:
在这里插入图片描述
在这里插入图片描述
IMUL:
在这里插入图片描述

除法

单片机:
在MCS-51单片机中,除法指令也只有一条: DIV AB 该指令执行时将用存放在累加器A中的无符号被除数与存放在B寄存器中的无符号除数相除,除得的结果,商的存于累加器A中,余数存于B寄存器中。 指令执行后将影响CY和OV标志,一般情况CY和OV都清0,只有当B寄存器中的除数为0时,CY和OV才被置1。

8086:

  • 无符号数的除法指令DIV
  • 带符号数的除法指令IDIV
    格式:DIV OPED
    注意:除法要求被除数是除数的双倍字长
    在这里插入图片描述
    字节数:8位 用AX:16位存储结果
    双字节数:16位 用DXAX共32位存储结果
    低位存商,高位存余数

小结
在这里插入图片描述

小结

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值