寄存器传参和堆栈传参

寄存器传参

MOV ECX,1
MOV EBX,2
CALL XX
MOV EAX,ECX
ADD EAX,EBX
RETN

堆栈传参 –ESP寻址

PUSH 1
PUSH 2
CALL XXX
MOV EAX,DWORD PTR SS:[ESP+8] //当内存中括号中包含ESP或者EBP的话  用SS
ADD EAX,DWORD PTR SS:[ESP+4]
RETN 8

堆栈传参 –EBP寻址

PUSH 1
PUSH 2
CALL XXX
PUSH EBP
MOV EBP,ESP
SUB ESP,10          //提升堆栈
MOV EAX,DWORD PTR SS:[EBP+8]  //通过EBP获得参数  参数位置 +4
ADD EAX,DWPRD PTR SS:[EBP+0xC]
MOV ESP,EBP
POP EBP         //恢复堆栈