【发布时间】:2021-12-10 05:55:27
【问题描述】:
我正在学习汇编代码。这是一段我不完全理解的代码
0: move %rdi, %rax
3: jmp 8 <loop + 0x8>
5: sar %rax
8: test %rax, %rax
b: jg 5 <loop + 0x5>
d: repz retq
所以 CPU 先运行第 0 行,然后从第 3 行跳转到第 8 行。假设第 b 行运行,则执行跳转到第 5 行。我的问题是执行如何从第 5 行跳转到第 d 行?我假设在第 5 行之后还有另一个 jmp 代码,以便执行可以跳转到第 d 行,但我没有看到它。
【问题讨论】:
标签: assembly x86-64 flow-control