0
给定一个数字,这个程序计算阶乘,但它没有长比9问题汇编代码,计算阶乘
.section .data
.section .text
.globl _start
_start:
pushl $10
movl %eax, %ebx
call func
addl $4, %esp
movl %eax, %ebx
movl $1, %eax
int $0x80
.type func,@function
func:
pushl %ebp
movl %esp, %ebp
movl 8(%ebp), %eax
cmpl $1, %eax
je fim_loop
decl %eax
pushl %eax
call func
movl 8(%ebp), %ebx
imull %ebx, %eax
fim_loop:
movl %ebp, %esp
popl %ebp
ret
更大的作品数量编译后运行程序,回声$?应该返回结果,但这是返回0而不是正确的结果,有人知道这个代码有什么问题吗?
你介意张贴最终的代码,我应该使用SYS_WRITE什么的? – jyz 2010-10-17 21:06:45