
x86_64
文章平均质量分 95
田园诗人之园
我是一位平凡的诗人,也是一位平凡的工程师。
展开
-
X86_64函数调用汇编程序分(2)
有关 ENTER 和 LEAVE 指令使用的详细信息,请参见《英特尔® 64 和 IA-32 体系结构软件开发人员手册》第 1 卷第 7 章 “块结构语言的过程调用”。LEAVE 指令将帧指针(在 EBP 寄存器中)复制到堆栈指针寄存器(ESP)中,从而释放分配给堆栈帧的堆栈空间。然后,旧的帧指针(由 ENTER 指令保存的调用存储过程的帧指针)会从堆栈中弹出,进入 EBP 寄存器,从而恢复调用存储过程的堆栈帧。在 LEAVE 指令之后通常会执行 RET 指令,将程序控制返回给调用存储过程。原创 2023-09-12 22:57:31 · 1319 阅读 · 81 评论 -
X86_64函数调用汇编程序分析
将函数参数rdi的值存储到当前栈帧的-0x28位置。将函数参数rdx的值存储到当前栈帧的-0x38位置。将当前栈帧的-0x40位置的值加载到寄存器rax中。将当前栈帧的-0x28位置的值加载到寄存器rax中。将当前栈帧的-0x10位置的值加载到寄存器rax中。将当前栈帧的-0x10位置的值加载到寄存器rdx中。将当前栈帧的-0x28位置的值加载到寄存器rax中。将当前栈帧的-0x20位置的值加载到寄存器rax中。将寄存器rax的值存储到当前栈帧的-0x20位置。原创 2023-09-07 23:07:16 · 1917 阅读 · 116 评论