8. ESP寻址 EBP寻址

寄存器传参和堆栈传参

寄存器传参

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         //恢复堆栈

posted @ 2017-09-20 10:15  罗道义  阅读(400)  评论(0编辑  收藏  举报
本站总访问量