【发布时间】:2021-10-06 16:04:58
【问题描述】:
如果我在汇编中编写(at&t 语法,x86-64):
jmpq 0x4(%rip)
然后跳转到4+rip
但是如果我写的话它会跳到哪里:
jmpq label(%rip)
其中标签 = 4?
我很困惑,因为它可能是相同的答案,也可能与我们移动标签和 NOT 标签 + rip 的 movq 相同。
【问题讨论】:
-
如果
label被定义为常量,例如使用.equ那么它的行为就像你使用4一样。否则汇编器将调整偏移量。请注意,这对mov的作用相同。 -
@Jester 对不起,我的意思是如果 label 是这样的标签:in .text
-
@CherryDT 为什么你同时添加了这两个?在 mov 它忽略 rip...