要求汇编:用“与”运算判断某8位二进制数是奇数还是偶数个1。 (单片机作业……)

 我来答
勤奋的哈七八答
高粉答主

2020-04-16 · 醉心答题,欢迎关注
知道小有建树答主
回答量:262
采纳率:100%
帮助的人:4.9万
展开全部

假设R3中存放待判数值,R4存放临时结果。如果寄存器不足,就用内存代替。 MOV R0,1,MOV R1,0 //1个数计数器,MOV R2,0 //循环次数,共循环8次。

LABEL_LOOP,CMP R2,8 //循环次数比较,BE LOOP_END //如果已经循环8次则跳转到LOOP_END。

AND R4,R3,R0 //R3,R0按位与运算,结果存入R4,CMP R4,0 //依次取出相应的位与0比较,BE LOOP_NEXT //若相等则跳转到LOOP_NEXT,否则计数器加1再跳转INC R1,B LOOP_NEXT//到这里结束了,R1如果等于1那么有奇数个“1”,否则偶数个“1”。

由于共有8位数,最多0b1000个"1",只有R1最低位为1时才是奇数个“1”,单片机中似乎没有三个操作数的指令。                 

扩展资料:

在以上的程序代码中,考虑到单片机系统的RAM限制,不能像一些实时OS那样将任务栈建立在RAM中。

将任务栈建立在代码的空间,因而不能在程序运行的时候,动态地加入任务,因此要求在程序编译时,任务栈已经确定。

同时,定义一组计数值旗标time_val,记录程序运行时的时间量,并在一个定时器中断中对其进行刷新。时间片刷新中断过程语句Time_Counter:=Time_Unit;中的Time_Unit,可以改变系统时间片的刷新粒度,一般这个值由系统的最小时间度量值确定。

同时,由任务的执行流程可知,此种系统构造并没有改变其前/后台系统的性质,只是对后台逻辑操作序列进行了有效管理。同时,如果将任务执行流程进行一些更改,并保证时间片小的任务前置。                     

当代教育科技知识库
高能答主

2020-04-21 · 擅长科技新能源相关技术,且研究历史文化。
当代教育科技知识库
采纳数:1828 获赞数:387397

向TA提问 私信TA
展开全部

二进制数只是正数的话,那百么只看末尾的数字就行了,如果是0,那么就是偶数,如果是1,那么就是奇数。

因为,除过末尾数字,其他数字都是当前位乘以2^n后的结果,那么不管是偶数还是奇数,只要乘了2,都会是偶数,偶数加度偶数还是偶数。因此,只要判问断末尾数字的奇偶就行了,当然,如果二进制数是负数的话,那么就得转化成原码再看。

扩展资料

常用的有二进制、八问进制、十进制、十六进制。任何数据在计算机内存中都是以二进制的形式存放的。二进制数是以2为计算单元,满内2进1位的数;八进制数是以8为计算单元,满8进1位的数。

对于任何一个数字,都可以用不同的容进制来表示,比如,十进制数12,用二进制表示为1100,用八进制表示为14,用十六进制表示为0xC。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千叶郎君
推荐于2017-11-25 · TA获得超过288个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:123万
展开全部
ARM的汇编还可以,单片机的没学过。

以下是伪代码,翻译成单片机汇编即可。
//假设R3中存放待判数值,R4存放临时结果。如果寄存器不足,就用内存代替。
MOV R0,1
MOV R1,0 //1个数计数器
MOV R2,0 //循环次数,共循环8次

LABEL_LOOP:

CMP R2,8 //循环次数比较
BE LOOP_END //如果已经循环8次则跳转到LOOP_END
AND R4,R3,R0 //R3,R0按位与运算,结果存入R4
CMP R4,0 //依次取出相应的位与0比较
BE LOOP_NEXT //若相等则跳转到LOOP_NEXT,否则计数器加1再跳转
INC R1
B LOOP_NEXT

LOOP_NEXT:
INC R2
SHL R0 //R0左移一位,以便取出下一位
B LABEL_LOOP

LOOP_END:
AND R1,R1,1 //R1中存放了"1"的个数
CMP R1,1
...
//到这里结束了,R1如果等于1那么有奇数个“1”,否则偶数个“1”

由于共有8位数,最多0b1000个"1",只有R1最低位为1时才是奇数个“1”
大概单片机中似乎没有三个操作数的指令, 像AND R4,R3,R0,自己再单独实现以下吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式