day20.函数和参数、返回值的概念

本文详细介绍了函数的基本概念,包括函数定义、调用方式及其在程序中的应用实例,并通过具体示例解释了参数传递与返回值的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第20节:函数和参数、返回值的概念


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


函数例子:向寄存器中赋值
MOV EAX,1
MOV ECX,1
MOV EDX,1
MOV EBX,1


2、什么是函数的调用
函数调用我首先回想到调用一个值使用的JMP,但是JMP不能被调用多次,这时候我们想到了CALL指令
和RET指令组合。


例子:
0041EFCE CALL 0414FFDC


0414FFDC MOV EAX,1
RET


CALL指令会把0041EFCE 下一行的地址写到ESP-4中,跟JMP不同,JMP是直接跳到你要指定的那行。


3、什么是参数,什么是返回值
我们用例子来解释什么是参数和返回值:


MOV ECX,1
MOV EDX,2
CALL 004183FD


004183FD ADD ECX,EDX
004183FE MOV EAX,ECX
RET


ADD 这行就是要传入的参数的变量,分别是1和2,然后进行相加,加完后的值返回给EAX(也就是MOV EAX,ECX)。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随行之旅

python国产化自动化

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值