首页 > 其他 > 详细

汇编之函数

时间:2020-07-06 20:01:30      阅读:40      评论:0      收藏:0      [点我收藏+]

1.函数:

函数就是一系列指令的集合,为了完成某个会重复使用的特定功能。

  比如:MOV EAX,1 MOV ECX,1 就相当于一个函数(指令的集合)

2.函数的调用:

(1)使用JMP来执行函数

  使用JMP执行函数的话,JMP跳转到相应的指令后指令指针不再返回到原来位置的下一位:

(2)使用CALL来执行函数

  以四条指令向普通寄存器存储值为例:

CALL执行前:

  技术分享图片

 

CALL执行后(F8):

  技术分享图片

 

   可以看到CALL指令把当前指令的下一条指令推入栈中,在执行完四条指令后,RETN回到了当前指令的下一条指令。执行顺序并没有改变。

 

3.参数、返回值

汇编中EAX通常用来存储函数的返回值的。

实现一个简单的加法函数:

方法如下:

  技术分享图片

 

 (1)定义三条指令:

  • 将ECX,EDX中的值相加;(参数)
  • 将相加的值放到EAX中;
  • 返回

(2)调用函数:

  • 先向ECX,EDX中存入要加的两个数;
  • 使用CALL调用对应方法;

F8逐步执行结果:

  技术分享图片

 

 EAX中存储的就是相加的结果

 

汇编之函数

原文:https://www.cnblogs.com/codexlx/p/13256247.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!