您的位置:首页 > 运维架构 > Linux

Linux汇编教程12:函数范例

2015-09-15 22:45 701 查看
上一讲,我们介绍了函数和栈,这一讲我们就来写一个程序来巩固前面的内容。我们要写一个计算乘方的函数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协议进行授权
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: