使用编译器选项,是否可以限制例程使用某些寄存器集?
例如:限制例程仅使用R0-R8;
目的:如果某些编译器选项可用,那么我可以确保某些例程(如中断服务例程)仅使用有限的寄存器集,从而进行有限的上下文保存和恢复。
上次讨论这个问题时,共识是在逐个功能的基础上这是不可能的。
有多种方法可以在整个编译过程中限制寄存器的使用,因此,如果将中断例程放在单独的编译单元中,则可以使用the gcc switch -ffixed-reg。我相信它会像这样使用-ffixed-R0
如果您希望编译器不使用生成代码R0
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)