链接寄存器

  • 网络link register
链接寄存器链接寄存器
  1. 然后使用lqd$lr,LROFFSET($sp)恢复链接寄存器。

    Then restore the link register using lqd $ lr , LR_OFFSET ( $ sp ) .

  2. 在序言中,所要做的第一件事情是保存链接寄存器。

    In the prologue , the first thing you do is save the link register .

  3. 最后,bi$lr(branchindirect)分支跳转到在链接寄存器内指定的地址(返回地址),进而从函数返回。

    Finally , bi $ lr (" branch indirect ") branches to the address specified in the link register ( the return address ), thus returning from the function .

  4. 正如我先前提到的,LROFFSET是堆栈末端到链接寄存器保存区的偏移量。

    As I mentioned earlier , LR_OFFSET is the offset from the end of the stack to the link register save area .

  5. 链接寄存器保存区与ABI的其他部分不同。

    The link register save area is different from the other parts of the ABI .

  6. 也请注意必须要显式指定链接寄存器。

    Notice also that you have to specify the link register explicitly .

  7. lr-链接寄存器的值。

    Lr-Value of the link register .

  8. 稍后,我会详细介绍链接寄存器,总的来说,它用于临时存储返回地址。

    I will get to the link register shortly , but basically it is used for temporary storage of return addresses .

  9. 链接寄存器保存区存有被调用函数(而非当前函数)的链接寄存器内容。

    The link register save area holds the link register contents of the function being called , rather than for the current function .

  10. 请记住链接寄存器存储在调用函数的堆栈框架内,而非函数自身的堆栈框架。

    Remember that the link register is stored in the calling function 's stack frame , not the function 's own stack frame .

  11. 链接寄存器只在约定的意义上有一些特殊&SPU汇编语言允许在您所选择的任何寄存器内设置链接。

    The link register is only special by convention & the SPU assembly language allows you to set the link in any register you choose .

  12. 所以,在这个函数中,我们使用了回链指针、链接寄存器保存区和一个本地变量。

    So , in this function , we are using the back chain pointer , the link register save area , and one local variable .

  13. 所以该指令会将链接寄存器(存有返回地址)存储到调用函数堆栈框架的恰当位置。

    So this instruction stores the link register ( which holds the return address ) into the proper location in the calling function 's stack frame .

  14. 但由于基线条件并不调用任何其他函数,所以无需从堆栈框架加载链接寄存器&值还在原处。

    However , since the base case doesn 't call any other functions , you don 't need to load the link register from the stack frame & the value is still there .

  15. 当函数开始时,它实际上会将链接寄存器保存到调用函数的堆栈帧中,而不是自己的堆栈帧中,然后只有在需要时才会保存它。

    When a function begins , it actually saves the link register in the calling function 's stack frame , not its own , and then only if it needs to save it .

  16. 由于未调用任何函数,也未使用任何本地存储,所以您根本无需堆栈框架,并可通过链接寄存器退出。

    Since you did not call any functions or use any local storage , you did not need a stack frame at all , so you can now just exit through the link register .