【发布时间】:2020-06-07 13:49:25
【问题描述】:
所以,假设我正在使用寄存器 %rax 和 %rdi。
作为一个基本示例,假设%rax 等价于0xaaaaaaaaaaaaaaaa,%rdi 等价于0xbbbbccccddddeeff。
像movq %rdi, %rax 这样简单的东西对我来说已经足够简单了。我们只需将%rdi 中的值移动到%rax 中。
所以,假设我们有以下内容:
movq %rdi, %rax
movb %dil, %al
第一条指令的%rax 等于0xbbbbccccddddeeff。
但由于我们使用的是%rdi 和%rax 的8 位版本,我不确定在执行第二条指令后如何确定%rax 的值。
我对汇编语言很陌生,有很多事情我很困惑。我一直在做很多研究和研究,但我仍然很迷茫,所以我认为在这里提出一个澄清问题会帮助我。任何有关如何解决此问题的解释将不胜感激!
【问题讨论】:
标签: assembly x86-64 cpu-registers