汇编语言学习笔记--使用函数

这篇博客详细介绍了如何在汇编语言中使用函数,包括定义函数、使用堆栈传递参数、独立函数文件的创建以及利用命令行参数。通过讲解函数的开始和结束、寄存器的保存与恢复,以及堆栈在传递数据中的作用,阐述了函数在汇编语言中的工作原理。
摘要由CSDN通过智能技术生成

一 汇编函数

创建汇编函数的三个步骤:

  1. 定义需要的输入值
  2. 定义对输入值的操作
  3. 定义如何生成输出值以及如何输出值传递给发出调用的程序

1、定义输入值的三种技术

      • 使用寄存器
      • 使用全局变量
      • 使用堆栈

2、定义函数处理

在源代码文件中,函数指令必须和主程序的其余指令分离开,函数有别于主程序的其余地方是为汇编器定义函数的方式:

不同汇编器使用不同的方法定义函数

在GNU汇编器中定义函数,使用.type命令把函数名称声明为标签

.type func_name,@function

func_name:
            ............
            函数主体
            ........
            ret

函数的结束有ret指令定义,执行到ret指令时,程序控制返回主程序,返回的位置是紧跟在调用函数的call指令后面的指令

3、定义输出值

有多种方式完成传送结果的工作,但下面两种是最常见的:

  • 把结果存放在一个或多个寄存器中
  • 把结果存放在全局变量的内存位置中

函数可以自由访问主程序定义的内存位置

4、访问函数

创建好函数后,就可以在主程序的任何位置访问它,call指令用于把控制从主程序传递到函数

前,要把所有输入值放在正确位置,再执行call指令

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值