ZHCUAQ1F july 2015 – april 2023
将值返回到 C 可调用过程
.return [argument]
.return 指令函数与 C/C++ 代码中的 return 语句等效。根据 C/C++ 调用约定,它将可选参数放置在相应的寄存器中,以便返回值(请参阅节 8.4)。
可选 argument 具有以下含义:
.return 指令的参数可以是符号寄存器名称或机器寄存器名称。
在 .cproc 区域中的所有 return 语句必须与返回值的类型一致。在同一 .cproc 区域中将 .return arg 与 .return hi:lo 混合是不合法的。
.return 指令是无条件的。若要执行条件 .return,只需在 .return 周围使用条件分支。汇编优化器会删除分支并生成适当的条件代码。例如,要在条件 cc 为真时返回,将返回编码为:
[!cc] B around
.return
around:
此示例使用符号寄存器 tmp 和机器寄存器 A5 作为 .return 参数:
.cproc ...
.reg tmp
...
.return tmp= legal symbolic name
...
.return a5 = legal actual name