社区
非技术区
帖子详情
51单片机指令求双字节有符号数补码的问题
好儿郎-志在四方
2015-10-12 09:44:04
最近看了一道题,要求是“用汇编程序求R6R7中双字节有符号数的补码,将结果存入R1R0”,初学汇编,木有头绪,其实也有一点想法,就是先判断正负,若是负数,则取反再加一,若是正数,则原码反码补码都相同,但是由于这个是双字节数,低字节、高字节,是不是都要判断正负等等,不成熟,还请大牛多多指教。
...全文
1297
5
打赏
收藏
51单片机指令求双字节有符号数补码的问题
最近看了一道题,要求是“用汇编程序求R6R7中双字节有符号数的补码,将结果存入R1R0”,初学汇编,木有头绪,其实也有一点想法,就是先判断正负,若是负数,则取反再加一,若是正数,则原码反码补码都相同,但是由于这个是双字节数,低字节、高字节,是不是都要判断正负等等,不成熟,还请大牛多多指教。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
好儿郎-志在四方
2015-10-19
打赏
举报
回复
代码如下: ORG 0000H MOV A,R6 JNB ACC.7,NEXT XRL A,#7FH MOV R1,A MOV A,R7 CPL A ADD A,#1 MOV R0,A MOV A,#0 ADDC A,R1 MOV R1,A SJMP $ NEXT: MOV A,R7 MOV R0,A MOV A,R6 MOV R1,A SJMP $ END 谢谢各位的讲解
好儿郎-志在四方
2015-10-19
打赏
举报
回复
谢谢各位的讲解,这个问题已经搞懂了,感谢各位
sinat_25020831
2015-10-17
打赏
举报
回复
小哥哥,既然你知道补码的求法,你也知道正数的补码是本身,计算机存的负数是补码,你写个程序存补码不就完了么
worldy
2015-10-14
打赏
举报
回复
单片机一般是大头系统,判断R6最高位是否是1,如果是1,即为负数 算源码,则【R6R7】减1,取反 如-1(1111 1111 1111 1111),减1=1111 1111 1111 1110,取反=0000 0000 0000 0001
mangoalx
2015-10-13
打赏
举报
回复
双字节数,只判断高字节是否负数,两字节同样处理
51单片机
原理及汇编教程(一)之
51单片机
结构及原理
51单片机
原理,汇编,存储器结构,
51单片机
内部结构
用汇编程序求R6R7中的双
字节
有
符号
数
的
补码
,并将结果存入R1R0
用汇编程序求R6R7中的双
字节
有
符号
数
的
补码
,并将结果存入R1R0。 双
字节
有
符号
数
求
补码
,首先要判断这个
数
的
符号
,如果是正
数
,那么它的
补码
就是它本身,如果是负
数
, 那么就得求反、再加一。
51单片机
笔记(二)
指令
系统汇总
51单片机
笔记(二)
51单片机
指令
系统3.1
指令
系统基础3.1.1
指令
格式3.1.2 通用
符号
3.2 寻址方式3.3
数
据传送
指令
3.4 算
数
运算
指令
3.4.1 加法
指令
3.4.2 减法
指令
3.4.3 乘法3.4.4 除法3.4.5 十进制调整
指令
3.5 逻辑操作
指令
3.6 控制转移
指令
3.7 位操作
指令
3.8 伪
指令
51单片机
指令
系统 3.1
指令
系统基础 机器语言-汇编-高级语言 全部
指令
的集合叫
指令
系统 80C51有111条
指令
,还有8条伪
指令
指令
分类:
字节
数
分类 单
字节
49 双
字节
46
单片机又称单片微计算机,最初的英文缩写是SCM
单片机又称单片微计算机,最初的英文缩写是SCM; ACSII码1111111B对应字符是DEL; 十进制
数
+27在8位微机中的反码和
补码
分别是00011011B,00011011B; -0的反码为11111111B,+0的反码为00000000B 十进制
数
21转换为二进制
数
为00010101B; 10111101B转换为十六进制
数
为BD 1001B转换为十进制
数
为9 单片机的特点:集成度高,功耗低,性价比高 来源于单片机原理及应用第四版,林立老师所编的书 ...
【无标题】
程序存储器中,依次存放0~F的七段
数
码显示器的字模码3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH、77H、7CH、39H、5EH、79H、71H,则当需要在P1口输出某一
数
码,假设需要显示的
数
码存放在20H。若被乘
数
和乘
数
均为16位无
符号
数
,被乘
数
存放的地址为30H和31H(低位先、 高位后), 乘
数
存放的地址为32H和33H(低位先、 高位后),乘积存入34H、35H、36H、37H。20H、21H、22H为位地址编程实现(20H)=(21H)⨁(22H)异或运算。
非技术区
1,076
社区成员
6,258
社区内容
发帖
与我相关
我的任务
非技术区
硬件/嵌入开发 非技术区
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章