汇编的一些记忆点
32bit
1实际地址 = 段地址*16 + 偏移地址
2 寄存器的ADC是调用者保存 BSD是被调用者保存
3 汇编中栈的调用过程
ebp与esp一头一尾,中间就是目前的栈帧。
1,调用者
保存实际参数
call 保存好return addr 一般是下一条
2,被调用者
push ebp 保存当前ebp
mov esp ebp 将ebp变为最新的esp
保存 被调用者保存的寄存器
做事情
恢复寄存器
mov ebp esp 将esp变为栈首部
pop ebp
ret 将ip转回 调用者程序的下一行,也就是return addr
4 一般eax保存过程的返回值
64bit
1 很多寄存器不存在特殊用途了,比如ebp2