我正在阅读下面的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)
是什么意思?