89c52单片机 寄存器问题 keil编译器 汇编语言

2024-12-16 00:41:09
推荐回答(2个)
回答1:

在51的指令集中00是NOP,FF是MOV R7,A。一般情况下未使用的空间是FF,即擦除后的结果。单片机之所以会,主程序没有设置反复执行(快END时jmp到START),单片机会反复执行主程序。是因为执行完程序后,继续执行后面的内容,即FF(MOV R7,A),之后执行一遍后SP加满溢出,重头又开始执行。51的sp是16位的,最大65535。FF是单指令周期。以12MHz的晶振为例,一个指令周期1us(1E-6),执行一遍不到66ms,所以看似循环运行。如果真的需要循环执行还是应该在程序中设置循环。毕竟后面的程序是不确定的,出什么结果也是不确定的。读完片内的程序开始读片外存储器,当没有时读出的数据就不知道是什么了。如果P0有上拉电阻,这是FF。
r1-r6很可能是原值,r7很可能是A的值,因为FF是MOV R7,A。

回答2:

原值。