亲宝软件园·资讯

展开

函数

没有感情的rainbow 人气:1

jmp

  用jmp实现函数,需要再用jmp调回来,且不可重复

call

  用call实现函数,并且在使用后能跳回来继续下一行指令

 

如实现两个整数的加法

0x00186784  mov ecx,1

0x00186788  mov edx,1

0x0018678C  call 0x0018679C  记录函数的头地址

……

0x0018679C  add ecx,edx  以下三行为函数

0x001867A0  mov eax,ecx

0x001867A4  ret      此行返回到call的下一行

 

如果参数过多,利用堆栈

  将过多的参数压入栈中,使用函数时在取出来用

 

如将计算1+2+3+4+5

push 1

push 2

push 3

push 4

push 5

call m

……

mov eax,dword ptr ds:[esp+4]

mov eax,dword ptr ds:[esp+8]

mov eax,dword ptr ds:[esp+12]

mov eax,dword ptr ds:[esp+16]

mov eax,dword ptr ds:[esp+20]

ret

 

加载全部内容

相关教程
猜你喜欢
用户评论