【发布时间】:2019-04-14 15:19:45
【问题描述】:
我很好奇的是执行代码后 %rax 中的剩余值。
例如,让 %rax 为 0xFFFFFFFFFFFFFFFF
我执行了代码。
那么 0xFF...FF 还在 %rax 中吗?
我的最后一个问题是下面的问题。
在一个汇编代码中
解码1:
movq %rax, (%rdi)
回复
为什么函数decode1的c原代码中没有return命令?
我了解到在执行 'ret' 时会返回 %rax 的值。
【问题讨论】:
-
我错过了 decode1: 中的一些汇编代码,但假设 %rdi 是指针,在 "movq ..." 行之前的 %rax 中有一个值
-
mov是只写的。对于 32 位或 64 位操作数大小,寄存器的新内容不依赖于旧的,无论是架构上还是微架构上。