arg = 7
.data
BuforWynikowy:
.skip 100
Buf_size =.- BuforWynikowy
BuforWynikowyP:
.skip 100
Buf_sizeP =.- BuforWynikowyP
.text
.globl _start
_start:
movl $arg, %ecx
movl $1, %eax
xorl %ebx, %ebx
factorial:
mull %ecx
cmpl $0, %ecx
decl %ecx
jne factorial
print:
xorl %edx, %edx
xorl %ecx, %ecx
dziel:
movl $10, %ebx
xorl %edx, %edx
divl %ebx
pushl %eax
movl %edx, %eax
addl $48, %eax
movb %al, BuforWynikowy(,%ecx,1)
incl %ecx
popl %eax
cmpl $0, %eax
jne dziel
movl $0, %edx
incl %ecx
poprawnyNapis:
decl %ecx
movb BuforWynikowy(,%ecx, 1), %al
movb %al, BuforWynikowyP(, %edx, 1)
incl %edx
cmpl $0, %ecx
jnz poprawnyNapis
movl $4, %eax
movl $1, %ebx
movl $BuforWynikowyP , %ecx
movl $Buf_sizeP , %edx
int $0x80
movl %eax, %ebx
movl $1, %eax
int $0x80
Witam, mam problem z programem liczącym silnie, a mianowicie liczy tylko liczb < 15 jak go naprawić aby liczył dla większych liczb oraz jak zrobić wprowadzanie liczb z klawiatury?
Pozdrawiam