1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- .sect .text; .sect .rom; .sect .data; .sect .bss
- .sect .text
- .define printc,printd,prints
- ! argument in eax
- ! uses ebx
- prints:
- xchg eax,ebx
- 1:
- movb al,(ebx)
- inc ebx
- testb al,al
- jz 2f
- call printc
- jmp 1b
- 2:
- ret
- ! argument in eax
- ! uses ecx and edx
- printd:
- xor edx,edx
- mov ecx,10
- div ecx
- test eax,eax
- jz 1f
- push edx
- call printd
- pop edx
- 1:
- xchg eax,edx
- addb al,'0'
- ! argument in eax
- printc:
- push eax
- mov ebx,esp
- mov eax,1
- push eax
- push ebx
- push eax
- call __write
- pop ebx
- pop ebx
- pop ebx
- pop ebx
- ret
|