汇编语言

答案是256但我不知为什么,请解析下... 答案是256
但我不知为什么 ,请解析下
展开
 我来答
yzhajlydy
2012-12-15 · TA获得超过240个赞
知道答主
回答量:58
采纳率:0%
帮助的人:67.5万
展开全部
推荐答案说的是对的,循环执行256次。
首先你要明白一点,DJNZ Ri,rel 这种DJNZ类型的语句,都是放在循环体的最后(也就是rel标号放在该条语句的前面)
也就是C语言中的“直到型”循环--do while。这种循环体无论Ri中是什么首先循环体会被执行一遍。
所以,明白了这一点,我们从R7 = 1开始看起。
DJNZ R7,rel,首先执行的是R7 = R7 - 1,此时R7等于0,然后不满足条件,退出循环,继续执行下一行语句。刚才说的,“直到型”循环,所以此时前面的循环体已经被执行一次,正好符合R7 = 1(程序员只想让循环体被执行一次)
以此类推,R7 = 2, R7 = 3, R7 = 255(0xFF)依次循环体会被执行2,3,255次。
我们发现从1~255(0x01~0xFF)我们都用了一遍,分别对应循环体执行的次数。但是0x00我们没有用。当我们另R7=0时,再根据指令的意思:首先R7 = R7 - 1,(8位数据溢出后自动回到0),所以此时0-1会变成255(0xFF)。先看到这里,循环体被执行一次了,对吧!然后你再看看R7等于多少,255!所以接下来的事情就和你直接将R7=255(0xFF)道理一样,再执行255次,所以加上先前的一次循环,一共255+1=256次循环。
回答完毕。
来自:求助得到的回答
乱七胡说八糟乱想
2012-12-14 · 好知、好奇、好问、好学、多语、热心。
乱七胡说八糟乱想
采纳数:5657 获赞数:14884

向TA提问 私信TA
展开全部
因一个字节为八位的二进制数,它的模就是256。你这从0开始回到下一个0。所以它就是256。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wolf0049
2012-12-14 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.7万
采纳率:0%
帮助的人:5861万
展开全部
王爽书TXT它怎么可能呢?去书店,很瘦!一个星期就可以完成了。但我告诉你,这本书酷之王是不是很系统,建议还是看看清华大学“IBM-PC汇编语言程序设计
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leijj06
2012-12-14 · TA获得超过650个赞
知道小有建树答主
回答量:244
采纳率:100%
帮助的人:173万
展开全部
DJNZ R7,rel这句指令的意思是假如R7减1之后不等于0,就继续执行;如果是减1之后等于0,则跳转到rel。
首先R7=00H,八位的寄存器,减1之后等于255(0xFFH),255不等于0,所以继续循环;下一个循环将开始时R7=255,继续减,直到R7=0x1为止。所以说是256次循环。
追问
FFH =1111 1111B =255  对吧
从255减到0才255次啊
但答案是256次,不理解
来自:求助得到的回答
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式