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