码迷,mamicode.com
首页 > 其他好文 > 详细

汇编之函数

时间:2020-07-06 19:28:06      阅读:43      评论:0      收藏:0      [点我收藏+]

标签:调用   img   使用   相加   汇编   入栈   call   方法   存储   

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中存储的就是相加的结果

 

汇编之函数

标签:调用   img   使用   相加   汇编   入栈   call   方法   存储   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!