完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
例4.2 设两个16位无符号数,分别存放在30H、
31H单元和32H、33H单元,求它们的和,结果保存 在34H和35H单元中。默认为(低字节和高字节) MOV A ,30H ADD A ,32H MOV 34H ,A MOV A ,31H ADDC A ,33H MOV 35H ,A 为什么低四位不用ADDC,若有进位就要影响高四位,为什么不用 |
|
相关推荐
5个回答
|
|
楼主有点弄不清楚ADD和ADDC这两条语句。ADD是不带进位加法。ADD A ,32H 就是A+32H.ADDC就是带进位加法。ADDC A ,33H 就是A+33H+C.低位相加就是用ADD A ,32H.值保存在A.进位保存在C.高位相加的时候就用ADDC A ,33H。也就是高位相加还要加上进位C。因为低位相加的时候是个位,没有更低位的进位,只有向高位进位,因此不用ADDC。
|
|
|
|
假设题目中的十六位数是FFFFH和FFFFH,那么低位的30H跟32H相加不是会带进位吗,还是说这题目本身就有个限制说30H跟32H中的数不能太大,以免产生进位。 |
|
|
|
假设题目中的十六位数是FFFFH和FFFFH,那么低位的30H跟32H相加不是会带进位吗,还是说这题目本身就有个限制说30H跟32H中的数不能太大,以免产生进位。 |
|
|
|
不要意思,楼主回的帖子现在才看到,楼主还是有点搞不懂,假如题目十六位数是FFFFH和FFFFH。那么低位相加的时候ADD A ,32H ,运行的是FF+FF,得到的结果是1FEH,其中FE保存在A中,进位1保存在C中。高位相加的时候ADDC A ,33H,运行的是FF+FF+C。因为第一次相加的时候进位保存在C中,那么现在C=1. ADD和ADDC的区别是是否加C.因为低位相加的时候没有低位的进位,因此不用加C. 而高位相加的时候要考虑低位相加的时候是否有进位,因此要用ADDC,和C一起相加。 |
|
|
|
知道了,谢谢! |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
726 浏览 0 评论
777 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
680 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1149 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1120 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11800 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 00:28 , Processed in 0.620879 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号