x64装配程序

时间:2013-01-01 19:22:18

标签: assembly 64-bit procedure masm

假设x64汇编过程中的Entry代码是:

push  rsi
push  r12
sub   rsp,48

现在,我怎样才能在PROC的 body 中找到这些值中的每一个:

  

1)第1参数2)第3参数3)第5参数4)第7参数

如果你可以为我绘制或描述堆栈,那么我理解它会更好。

1 个答案:

答案 0 :(得分:2)

来自Windows x64 calling conventions

前四个整数或指针参数在RCXRDXR8R9中从左向右传递。一旦这些寄存器被填充,其他所有内容都将在堆栈上(前四个浮点参数除外)。

由于我们无法看到代码的调用方式,因此不可能从该序言中推断出参数。您需要查看调用它的代码以找出将存在的内容,这两个push可能只是保存被破坏的寄存器。