在对任何域进行修改之前,都应该将条件寄存器保存到堆栈的这个区域中,然后在返回之前恢复。
The condition register should be saved in its area of the stack before any of these fields are modified, and then restored before returning.
继续调用键不安全的函数,使用所设置的连接寄存器,以便被调用的函数返回下面的下一个步骤。
Proceed to call the key-unsafe function, with the link register set, so that the called function returns to the next step below.
针对有效值限制测试由前面的寄存器地址请求返回的值。
Test the values returned by the preceding register address request against valid value limits.
所以该指令会将链接寄存器(存有返回地址)存储到调用函数堆栈框架的恰当位置。
So this instruction stores the link register (which holds the return address) into the proper location in the calling function's stack frame.
因此,在函数中使用非易失性寄存器之前,它的值必须保存到该函数的堆栈帧中,然后在函数返回之前恢复。
Therefore, before using a non-volatile register in a function, its value must be saved in the function's stack frame, and then restored before the function returns.
brsl代表“branch relative and setlink”,用来分支到函数的入口点并将链接寄存器(LR)设置为返回地址的下一个指令。
BRSL stands for "branch relative and set link." This branches to the function entry point and sets the link register (LR) to the next instruction for the return address.
这意味着函数可以使用这些寄存器,前提是从函数返回之前这些寄存器的值已被恢复。
This means that a function can use them provided their value is restored before returning from the function.
LK位指定了下一个顺序指令的地址是否作为子例程调用的返回地址保存在链接寄存器中。
The LK bit specifies whether the address of the next sequential instruction is saved in the Link Register as a return address for a subroutine call.
注意有些Linux发行版提供了一个名为get _ tb的库函数,它会返回tb寄存器的值。
Note that some Linux distributions provide a library function called get_tb , which returns the value of the TB register.
当这个函数完成时,返回值会通过寄存器3返回,函数本身使用blr指令退出。
When the function is completed, the value is returned through register 3, and the function exits using the BLR instruction.
需要用返回值加载寄存器3并执行函数尾声(epilogue)来恢复堆栈框架并返回。
You load register 3 with the return value and perform the function epilogue to restore the stack frame and return.
因此,参数可能存储在寄存器和/或在堆栈上,和一个返回值也保留。
So the parameters may be stored in registers and/or on the stack, and a place for the return value is also reserved.
内核从中断返回,并且应用程序的上面的浮点寄存器之一被破坏。
Kernel returns from interrupt, and one of the application's upper floating-point registers is destroyed.
控制器返回与其寄存器中不一致的结果。
The floppy disk controller returned inconsistent results in its registers.
如果一个程序改变了一个非易失性寄存器的值,它必须保存在改变这个寄存器之前堆栈中保存旧的值和在返回之前恢复那个值。
If a routine changes the value of a nonvolatile register, it must save the old value on the stack before changing the register and restore that value before returning.
如果一个程序改变了一个非易失性寄存器的值,它必须保存在改变这个寄存器之前堆栈中保存旧的值和在返回之前恢复那个值。
If a routine changes the value of a nonvolatile register, it must save the old value on the stack before changing the register and restore that value before returning.
应用推荐