ZHCUAQ1F july 2015 – april 2023
只要遵循 节 8.4 中定义的调用惯例,以及 节 8.3 中定义的寄存器惯例,即可同时使用 C/C++ 与汇编语言函数。C/C++ 代码可访问变量并调用使用汇编语言定义的函数,汇编代码也可访问 C/C++ 变量并调用 C/C++ 函数。
结合使用汇编语言和 C 时,请遵循以下指南:
请记住,C/C++ 编译器仅保留 A10 至 A15 和 B10 至 B15 寄存器。C/C++ 函数可更改任何其他寄存器,保存其内容(即在调用函数前将其内容压入栈),并在函数返回后恢复这些寄存器。
同理,若要从汇编语言中访问 C/C++ 函数或对象,应在汇编语言模块中使用 .ref 或 .global 指令来声明 C/C++ 对象。这样可创建未声明的外部引用,并由链接器解析。