求帮忙解答一下这道题,详细一点,还有这个程序的功能是什么
展开全部
这段程序的本意是将R0开始的100个寄存器清0 ,但由于开始R0赋值为00H,而计数用的是R1,所以将达不到期望的效果。循环第一次可以顺利执行,第二次循环R1被清0,接着执行减1指令,R1编程255,所以cjne r1,( ),loop中要填入一个适当的值,可以保证100次循环,这个数是256-98.
更多追问追答
追问
所以CJNE R1后面填的是256, 下面那行(R0)等于98?是这样吗?
将R0开始的100个寄存器清0 ,是片外RAM R0吗
追答
是片内RAM,这段程序是达不到目的的,00H~1FH是工作寄存器区域,最好不要占用,特别是00~07H,默认状态下是R0~R7的地址。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询