标签:调用 img 使用 相加 汇编 入栈 call 方法 存储
函数就是一系列指令的集合,为了完成某个会重复使用的特定功能。
比如:MOV EAX,1 MOV ECX,1 就相当于一个函数(指令的集合)
(1)使用JMP来执行函数
使用JMP执行函数的话,JMP跳转到相应的指令后指令指针不再返回到原来位置的下一位:
(2)使用CALL来执行函数
以四条指令向普通寄存器存储值为例:
CALL执行前:
CALL执行后(F8):
可以看到CALL指令把当前指令的下一条指令推入栈中,在执行完四条指令后,RETN回到了当前指令的下一条指令。执行顺序并没有改变。
汇编中EAX通常用来存储函数的返回值的。
实现一个简单的加法函数:
方法如下:
(1)定义三条指令:
(2)调用函数:
F8逐步执行结果:
EAX中存储的就是相加的结果
标签:调用 img 使用 相加 汇编 入栈 call 方法 存储
原文地址:https://www.cnblogs.com/codexlx/p/13256247.html