51单片机通用寄存器Rn不够用怎么办?(我是新手)

2019-07-16 06:12发布

我在编一个汇编程序的时候把Rn的R1~R6都用了,现在又要编一个延时子程序,需要用到三个Rn,例如R0、R1、R7, 我是把Rn用MOV Rn,direct指令存在一个地方后,再调Rn来编写延时程序。这对吗?如果不对,有什么其他的办法?
    不是听说通用寄存器Rn有四组嘛,是不是切换一组后就又可以从R0用到R7了,然后用R0、R1、R7来编延时子程序,等结束后再换回到原来的那组去?如果这样可以,汇编程序怎么编,请指教。
    还有直接用push 01h 可以把R1压入堆栈吗?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。