Factors of an integer: Difference between revisions
Content added Content deleted
No edit summary |
m (factors get saved at reserved RAM space instead of stack now) |
||
Line 4,691:
{{works with|nasm}}
<lang asm>
section .bss
factorArr resd 250 ;big buffer against seg fault
section .text
global _main
_main:
mov ebp, esp;
mov eax,
mov ebx, eax ;save eax
mov ecx, 1 ;n, factor we test for
mov [factorArr], dword 0
looping:
mov eax, ebx ;restore eax
xor edx, edx ;clear edx
div ecx
cmp edx, 0 ;
jne next
inc edx
mov [factorArr+edx*4], ecx ;appending n
mov [factorArr], edx ;storing the new size
next:
mov eax, ecx
cmp eax, ebx ;
jg end ;if yes we end
inc ecx
jmp looping
end:
xor eax, eax ;clear eax
mov esp, ebp ;garbage collecting
ret
</lang>
|