51单片机R0-R7怎样压栈2
发布网友
发布时间:2023-09-19 09:40
我来回答
共2个回答
热心网友
时间:2023-10-13 19:41
首先你得知道R0~R7并不对应绝对地址,而PUSH只能对绝对地址压栈的。
对于自己编写的汇编程序,你得清楚当前PSW.RS位域选中的是哪一组RegBank,并将相应地址的寄存器压栈。例如如果选中了第2组寄存器(10b),那么应当压栈的是10h~17h单元。
如果是编译器写的伪代码,可以直接书写成 PUSH Rn 形式,编译器自动根据当前的RS位域来换算成对应的绝对地址。
百度嫌我字数不够追问亲,如果是第一组RO-R7,是不是压栈00H-07H吗
追答是的。
热心网友
时间:2023-10-13 19:41
AT89S51