x86汇编帮助:对于rax的值是什么有一般规则?

时间:2017-11-13 01:57:10

标签: assembly x86 disassembly

所以我试图找出这个功能的作用,但我对这个指令序列感到有些困惑:

mov    -0x4(%rsp),%eax
lea    0x0(,%rax,8),%edx

在此之前,函数中没有提到rax。 rax寄存器中的值是什么 - 它只是堆栈的顶部?

前一行是mov -0x4(%rsp),%eax,它只是eax中的任何内容吗?

1 个答案:

答案 0 :(得分:0)

"一般规则"?不,除了重言式之外,它不是一般规则(例如"无论你最后加入它,隐式或明确地#34;)还是非常详细的规则涵盖隐含使用的所有内容rax ,像:

写eax总是零延伸到rax(Why do most x64 instructions zero the upper part of a 32 bit register),但写AL,AH或AX与旧的RAX值合并。