汇编--算术运算指令:加减乘除
文章目录
- 加法
- 减法
- 乘法
- 除法
- 小结
学习来源:微机原理与接口技术——吴宁,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位存储结果
低位存商,高位存余数
小结
汇编--算术运算指令:加减乘除相关推荐
- 汇编语言--算术运算指令
算术运算指令 add.sub.adc.sbb.inc.dec.cmp.imul.idiv.aaa等都是算术运算指令,这些指令实现存器和内存中的数据的算数运算. 它们的执行结果影响标志寄存器的sf.zf ...
- Pentium的指令系统(3)——算术运算指令
对有符号和无符号数的分析 1.对加法或减法来说,无符号数和有符号数可采用同一套指令,乘法和除法不行: 无符号数和有符号数采用同一套加法指令及减法指令有两个条件: 1.要求参与运算的两个数同为无符号数或 ...
- 【单片机仿真】(九)指令系统 — 算术运算指令 之 ADD、ADDC、SUBB、INC、DEC、DA
目录 1.算术运算指令 2.不带进位加法指令ADD 3.带进位加法指令ADDC和减法指令SUBB
- 2 算术运算指令【微机原理】
算术运算指令 算术运算指令 例 例4.3 算术运算指令 例 例4.3 计算三个数的和 data segmentNUM DB 0FFH,0FFH,0FFHSUM DW '$$' data endscod ...
- 汇编逻辑运算指令笔记
1.AND指令 { 1.同时真为真 否则为假 2.测试练习 利用AND转换小写为大写 原理:小写的二进制码第五位为1 大写的二进制码第五位为0 例如:01100001=61h('a') 0100000 ...
- 32乘法运算_算术运算指令
3.4.1 ADD-----------------------------------------------BIN加法 3.4.2 SUB----------------------------- ...
- 51单片机之算术运算指令ADDC、SUBB等
文章目录 前言 一.加法指令 ADD ADD A, XXX 二.带进位加法指令 ADDC ADDC A, XXX 三.带借位减法指令 SUBB SUBB A, XXX 四.乘除法指令 MUL AB D ...
- 汇编语言---算术运算指令
指令包括:add,adc,inc,sub,sbb,dec,cmp,neg,mul,imul,div,idiv,daa,das,aaa,aas,aam,aad,cbw,cwd 重点掌握:add,adc, ...
- 计组(day5)8086指令系统——算术运算指令(乘除指令)
知识点 1. 乘法指令 1.1 无符号数乘法(示例代码) 1.2 有符号数乘积(示例代码) 1.3 例题 2. 除法指令 2.1 字节除法(示例代码) 2.2 字除法(示例代码) 2.3 0中断(示例 ...
最新文章
- react与jQuery对比,有空的时候再翻译一下
- JavaWeb显示器
- SWIFT入门 Dictionary
- 技本功丨收藏!斜杠青年与你共探微信小程序云开发(上篇)
- WebAPi添加常用扩展方法及思维发散
- GDB and core
- Minimal API Todo Sample
- python时间序列数据分析,Python数据分析之时间序列
- linux怎样判断线程是否暂停_怎样判断股市是否会继续下跌?
- Python菜鸟入门:day12编程学习
- ubuntu 安装 swift 64位
- hadoop put命令的格式_Hadoop Shell命令
- 阿里云抢月饼代码实验,自己写着玩的
- 什么样的网页适合使用框架
- html图片定位代码怎么写,如何在css中设置插入图片定位
- rk3288 android6,RK3288 的 Android 7.1.2 来了!
- Linux C编程一站式学习笔记2
- Mentor Graphics Calibre 2017.1 Linux 1DVD寄生參數萃取
- mysql 复合索引(联合索引) a b c的使用
- 老大让我看baidu他们的查公交是怎么做的,我就看了