2022年课单片机算术运算指令 .pdf

上传人:H****o 文档编号:38620137 上传时间:2022-09-04 格式:PDF 页数:6 大小:29.72KB
返回 下载 相关 举报
2022年课单片机算术运算指令 .pdf_第1页
第1页 / 共6页
2022年课单片机算术运算指令 .pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《2022年课单片机算术运算指令 .pdf》由会员分享,可在线阅读,更多相关《2022年课单片机算术运算指令 .pdf(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1 / 6 不带进位位的单片机加法指令ADD A,#DATA 。例: ADD A ,#10H ADD A,direct 。例: ADD A ,10H ADD A,Rn 。例: ADD A ,R7 ADD A,Ri 。例: ADD A ,R0 用途:将 A 中的值与其后面的值相加,最终结果否是回到A 中。例: MOV A , #30H ADD A ,#10H 则执行完本条指令后,A 中的值为40H。下面的题目自行练习MOV 34H ,#10H MOV R0 ,#13H MOV A ,34H ADD A ,R0 MOV R1 ,#34H ADD A ,R1 带进位位的加法指令ADDC A ,Rn

2、ADDC A,direct 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 6 页2 / 6 ADDC A,Ri ADDC A,#data 用途:将 A 中的值和其后面的值相加,并且加上进位位C 中的值。说明:由于51 单片机是一种8 位机,所以只能做8 位的数学运算,但8 位运算的范围只有0-255,这在实际工作中是不够的,因此就要进行扩展,一般是将2 个 8 位的数学运算合起来,成为一个16 位的运算,这样,能表达的数的范围就能达到0-65535。如何合并呢?其实很简单,让我们看一个10 进制数的例程:66+78。这两个数相加,我们

3、根本不在意这的过程,但事实上我们是这样做的:先做6+8低位),然后再做6+7,这是高位。做了两次加法,只是我们做的时候并没有刻意分成两次加法来做罢了,或者说我们并没有意识到我们做了两次加法。之所以要分成两次来做,是因为这两个数超过了一位数所能表达的范置0-9)。在做低位时产生了进位,我们做的时候是在适当的位置点一下,然后在做高位加法是将这一点加进去。那么计算机中做16位加法时同样如此,先做低8 位的,如果两数相加产生了进位,也要 “ 点一下 ” 做个标记,这个标记就是进位位C,在 PSW 中。在进行高位加法是将这个 C 加进去。例: 1067H+10A0H ,先做 67H+A0H=107H ,

4、而 107H 显然超过了0FFH,因此最终保存在A 中的是 7,而 1则到了 PSW 中的 CY 位了,换言之,CY 就相当于是100H。然后再做10H+10H+CY ,结果是21H,所以最终的结果是2107H。带借位的单片机减法指令SUBB A , Rn SUBB A,direct SUBB A,Ri SUBB A,#data 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 6 页3 / 6 设每个 H, R2)=55H, CY=1,执行指令SUBB A , R2 之后, A 中的值为73H。说明:没有不带借位的单片机减法指令,如果需

5、要做不带位的减法指令在做第一次相减时),只要将CY 清零即可。乘法指令MUL AB 此单片机指令的功能是将A 和 B 中的两个8位无符号数相乘,两数相乘结果一般比较大,因此最终结果用1个 16 位数来表达,其中高8 位放在 B 中,低 8 位放在 A 中。在乘积大于 FFFFFH65535 )时, 0V 置 1溢出),不然OV 为 0,而 CY 总是 0。例: A)=4EH ,B)=5DH ,执行指令MUL AB后,乘积是1C56H,所以在B 中放的是1CH,而 A 中放的则是56H。除法指令DIV AB 此单片机指令的功能是将A 中的 8 位无符号数除了B 中的 8位无符号数 A/B )。除

6、法一般会出现小数,但计算机中可没法直接表达小数,它用的是我们小学生还没接触到小数时用的商和余数的概念,如13/5,其商是2,余数是 3。除了以后,商放在A 中,余数放在B中。 CY 和 OV 都是 0。如果在做除法前B 中的值是00H,也就是除数为0,那么 0V=1。加 1 指令INC A INC Rn INC direct INC Ri 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 6 页4 / 6 INC DPTR 用途很简单,就是将后面目标中的值加1。例: A )=12H,R0 )=33H,21H)=32H,34H)=22H,D

7、PTR=1234H 。执行下面的指令:INC A A )=13H INC R2 R0 )=34H INC 21H 21H )=33H INC R0 34H )=23H INC DPTR DPTR )=1235H 后结果如上所示。说明:从结果上看INC A 和 ADD A ,#1 差不多,但INC A 是单字节,单周期指令,而ADD #1 则是双字节,双周期指令,而且INC A 不会影响PSW 位,如 A )=0FFH,INC A后A )=00H,而 CY 依然保持不变。如果是ADD A ,#1,则 A )=00H,而 CY 一定是 1。因此加 1 指令并不适合做加法,事实上它主要是用来做计数、

8、地址增加等用途。另外,加法类指令都是以A 为核心的 � 。� 。其中一个数必须放在A 中,而运算结果也必须放在 A 中,而加1 类指令的对象则广泛得多,能是寄存器、内存地址、间址寻址的地址等等。减 1 指令减 1 指令DEC A DEC RN DEC direct DEC Ri 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 6 页5 / 6 与加 1 指令类似,就不多说了。综合练习:MOV A ,#12H MOV R0 ,#24H MOV 21H ,#56H ADD A ,#12H MOV DPTR ,#4316H ADD A

9、 ,DPH ADD A ,R0 CLR C SUBB A , DPL SUBB A , #25H INC A SETB C ADDC A ,21H INC R0 SUBB A , R0 MOV 24H ,#16H CLR C 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 6 页6 / 6 ADD A ,R0 先写出每步运行结果,然后将以上题目建入,并在软件仿真中运行,观察寄存器及有关单元的内容的变化,是否与自已的预想结果相同。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 6 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com