各位老师,
近来在看arm-cortex-m3,里面提到通用寄存器R0~R14,描叙不是很详细,想想应该和51的通用寄存器功能差不多,于是去查51的资料。51对通用寄存器这么描叙:有R0~R7八组寄存器,通过对PSW的设置选择任意一组使用,其余三组被屏蔽。优点为:避免进栈保护,减少堆栈深度,节省入栈指令和事件,不用的工作寄存器可以作为片内RAM访问。
疑惑:访问寄存器为“直接”访问,如果不用寄存器,而使用内存,则为间接访问?需要进行压栈?51中对内存RAM,貌似可以直接寻址的。
平时都是写C的,对这些操作不大明白。C中会自动分配通用寄存器,以便达到最快速度?
十分感谢!
|