上一講,我們介紹了函數和棧,這一講我們就來寫一個程序來鞏固前面的內容。我們要寫一個計算乘方的函數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協議進行授權