Linux汇编教程12:函数范例

本文是Linux汇编教程的一部分,旨在通过编写一个计算乘方的power函数来巩固栈和函数的知识。程序设计简洁,主要展示了函数和栈在汇编中的应用。作者强调了版权信息,并鼓励正确引用。
摘要由CSDN通过智能技术生成

上一讲,我们介绍了函数和栈,这一讲我们就来写一个程序来巩固前面的内容。我们要写一个计算乘方的函数power,这个函数接受两个函数。

我们先完成程序的整体框架,之后再来写power函数,或者这两个部分相互完成。

.section .data

.section .text

.globl _start
_start:
pushl $2
pushl $10
call power

.type power, @function
power:
pushl %ebp
movl %esp, %ebp
subl $4, %esp

movl 8(%ebp), %ebx
movl 12(%ebp), %ecx

movl %ebx, -4(%ebp)

power_loop_start:
cmpl $1, %ecx
je end_power
movl -4(%ebx), %eax
imull %ebx, %eax
movl %eax, -4(%ebp)

decl %ecx
jmp power_loop_start

end_power:
movl -4(%ebp), %eax
movl %ebp, %esp
popl %ebp
ret

这个程序十分简单,是对函数和栈的简单运用

版权声明

Moriarty_221为本文的CSDN博客

如未注明,均为原创,转载请注明出处

转载请注明:coskimo » Linux汇编教程12:函数范例

版权所有 © 科斯基摩 | 本网站采用cc by-nc-sa 3.0协议进行授权

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值