1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| .data
str: .zero 11
i: .long 46396
d: .long 1
j: .zero 4
.text
.globl _start
_start:
movl i, %ebx
L1: movl i, %eax
movl $0, %edx
movl d, %ecx
movl d, %ecx
divl %ecx
push %edx
movl $10, %eax
mull %ecx
pop %edx
movl %eax, d
cmpl %edx, %ebx
jne L1
movl $str, %ebx
movl d, %eax
movl $0, %edx
movl $10, %ecx
divl %ecx
movl %eax, d
L2: movl d, %eax
movl $0, %edx
movl $10, %ecx
divl %ecx
movl %eax, d
movl i, %eax
movl $0, %edx
movl d, %ecx
divl %ecx
movl %edx, i
movl j, %ecx
movl $0, %edx
addl $'0', %eax
movb %al, %ds:(%ebx,%ecx,1)
incl %ecx
movl %ecx, j
movl i, %edx
movl $0, %edx
cmpl %eax, %edx
jne L2
movl j, %eax
addl $str, %eax
movl $0, %edx
movb $0, %ds:(%edx,%eax,1)
movl $1, %eax
movl $0, %ebx
int $0x80 |
Partager