asm中的“ leaq label(register),register”的含义是什么

时间:2019-01-22 16:01:38

标签: assembly x86-64 att

我正在阅读下面的asm代码,但我不知道这是什么意思 声明

finish(%rip)

下面的部分asm:

    /* compute abs address of label finish */
    leaq  finish(%rip), %rcx
    /* save address of finish as return-address for context-function */
    /* will be entered after context-function returns */
    movq  %rcx, 0x40(%rax)

    ret /* return pointer to context-data */

finish:
    /* exit code is zero */
    xorq  %rdi, %rdi
    /* exit application */
    call  _exit@PLT
    hlt

我搜索了很多答案,最可能的答案如下:

lea eax, msg

没有意义-源是标签(地址)味精,它是一个(链接时间)常量,不在内存中的任何地方。 answer from

问题:

我仍然不知道finish(%rip)是什么意思。
我知道finish是标签,rip是寄存器,但是finish(%rip)是什么意思?

0 个答案:

没有答案