笔者来聊一下ARC寄存器的获取
在介绍了ARC编程模型的知识点之后,来看一些具体的编程操作,比如如何获取寄存器,如何编写汇编语言实现特定功能?
1、获取寄存器
可以使用内联汇编来实现寄存器的获取,具体格式如下:
- _Asm:汇编宏标识符,指示内联汇编代码
- _Save_all_regs:告诉编译器,宏汇编内部只使用了 r0,r10,r11,r12,没有使用其他寄存器,这样编译器无需要保存寄存器和恢复寄存器
- %reg arg,只是arg 参数使用了寄存器
- %error,如果参数不匹配要求,则会在编译时产生错误
如上面所述,如果修改了寄存器,可能会影响一些行为,因为修改的寄存器,编译器认为是被调用者保存的。