文章目录

  • 加法
  • 减法
  • 乘法
  • 除法
  • 小结

学习来源:微机原理与接口技术——吴宁,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位存储结果
    低位存商,高位存余数


小结

汇编--算术运算指令:加减乘除相关推荐

  1. 汇编语言--算术运算指令

    算术运算指令 add.sub.adc.sbb.inc.dec.cmp.imul.idiv.aaa等都是算术运算指令,这些指令实现存器和内存中的数据的算数运算. 它们的执行结果影响标志寄存器的sf.zf ...

  2. Pentium的指令系统(3)——算术运算指令

    对有符号和无符号数的分析 1.对加法或减法来说,无符号数和有符号数可采用同一套指令,乘法和除法不行: 无符号数和有符号数采用同一套加法指令及减法指令有两个条件: 1.要求参与运算的两个数同为无符号数或 ...

  3. 【单片机仿真】(九)指令系统 — 算术运算指令 之 ADD、ADDC、SUBB、INC、DEC、DA

    目录 1.算术运算指令 2.不带进位加法指令ADD 3.带进位加法指令ADDC和减法指令SUBB

  4. 2 算术运算指令【微机原理】

    算术运算指令 算术运算指令 例 例4.3 算术运算指令 例 例4.3 计算三个数的和 data segmentNUM DB 0FFH,0FFH,0FFHSUM DW '$$' data endscod ...

  5. 汇编逻辑运算指令笔记

    1.AND指令 { 1.同时真为真 否则为假 2.测试练习 利用AND转换小写为大写 原理:小写的二进制码第五位为1 大写的二进制码第五位为0 例如:01100001=61h('a') 0100000 ...

  6. 32乘法运算_算术运算指令

    3.4.1 ADD-----------------------------------------------BIN加法 3.4.2 SUB----------------------------- ...

  7. 51单片机之算术运算指令ADDC、SUBB等

    文章目录 前言 一.加法指令 ADD ADD A, XXX 二.带进位加法指令 ADDC ADDC A, XXX 三.带借位减法指令 SUBB SUBB A, XXX 四.乘除法指令 MUL AB D ...

  8. 汇编语言---算术运算指令

    指令包括:add,adc,inc,sub,sbb,dec,cmp,neg,mul,imul,div,idiv,daa,das,aaa,aas,aam,aad,cbw,cwd 重点掌握:add,adc, ...

  9. 计组(day5)8086指令系统——算术运算指令(乘除指令)

    知识点 1. 乘法指令 1.1 无符号数乘法(示例代码) 1.2 有符号数乘积(示例代码) 1.3 例题 2. 除法指令 2.1 字节除法(示例代码) 2.2 字除法(示例代码) 2.3 0中断(示例 ...

最新文章

  1. react与jQuery对比,有空的时候再翻译一下
  2. JavaWeb显示器
  3. SWIFT入门 Dictionary
  4. 技本功丨收藏!斜杠青年与你共探微信小程序云开发(上篇)
  5. WebAPi添加常用扩展方法及思维发散
  6. GDB and core
  7. Minimal API Todo Sample
  8. python时间序列数据分析,Python数据分析之时间序列
  9. linux怎样判断线程是否暂停_怎样判断股市是否会继续下跌?
  10. Python菜鸟入门:day12编程学习
  11. ubuntu 安装 swift 64位
  12. hadoop put命令的格式_Hadoop Shell命令
  13. 阿里云抢月饼代码实验,自己写着玩的
  14. 什么样的网页适合使用框架
  15. html图片定位代码怎么写,如何在css中设置插入图片定位
  16. rk3288 android6,RK3288 的 Android 7.1.2 来了!
  17. Linux C编程一站式学习笔记2
  18. Mentor Graphics Calibre 2017.1 Linux 1DVD寄生參數萃取
  19. mysql 复合索引(联合索引) a b c的使用
  20. 老大让我看baidu他们的查公交是怎么做的,我就看了

热门文章

  1. IPTV系统搭建选择Linux系统的四大优势
  2. 北邮22年信通机考题目
  3. 文本、语义和社交分析技术,未来几年市场发展趋势的预测
  4. Python+OpenCV图像处理(二)——打印图片属性、设置图片存储路径、电脑摄像头的调取和显示...
  5. Python数据分析:折线图和散点图的绘制
  6. 公司企业邮箱怎么选择?买企业邮箱要考虑什么?
  7. Excel中常用的函数
  8. 地基基础检测远程监控系统 易云系统 中易云
  9. python安装时选justme_详解Anaconda 的安装教程
  10. [总结] 大神成神之路?你会了吗?