我寫彙編程序計算階乘。我有兩個問題。需要解決有關彙編程序:輸出和整型數最大輸出
爲什麼最大輸出數可以達到255?我該如何解決它?
我怎樣才能使自動輸出打印到控制檯,而不是寫「回聲$?」。
這裏是代碼:
SYSCALL = 0X80
STDIN = 0
STDOUT = 1
SYSREAD = 3
SYSWRITE = 4
SYSEXIT = 1
.section .data
NUMBER = 5
.section .text
.globl _start
_start:
pushl $NUMBER
call factorial
addl $4, %esp
movl %eax, %ebx
mov $SYSEXIT, %eax
int $SYSCALL
.type factorial, @function
factorial:
pushl %ebp
movl %esp, %ebp
movl 8(%ebp), %eax
cmpl $1, %eax
jle end_factorial
decl %eax
pushl %eax
call silnia
movl 8(%ebp), %ebx
imull %ebx, %eax
end_factorial:
movl %ebp, %esp
popl %ebp
ret
你需要做的棧上的局部變量區域,這樣就可以將數字轉換爲字符串。閱讀上堆棧幀。 – 2013-03-20 15:18:36