39 lines
354 B
ArmAsm
39 lines
354 B
ArmAsm
|
.define printf
|
||
|
|
||
|
printf:
|
||
|
! $Header$
|
||
|
pop bx ! return address
|
||
|
xchg ax,di
|
||
|
mov si,sp
|
||
|
1:
|
||
|
movb al,(di)
|
||
|
inc di
|
||
|
testb al,al
|
||
|
jz 6f
|
||
|
cmpb al,'%'
|
||
|
je 3f
|
||
|
2:
|
||
|
call printc
|
||
|
jmp 1b
|
||
|
3:
|
||
|
movb al,(di)
|
||
|
inc di
|
||
|
cmpb al,'c'
|
||
|
jne 4f
|
||
|
lods
|
||
|
jmp 2b
|
||
|
4:
|
||
|
cmpb al,'d'
|
||
|
jne 5f
|
||
|
lods
|
||
|
call printd
|
||
|
jmp 1b
|
||
|
5:
|
||
|
cmpb al,'s'
|
||
|
jne 2b
|
||
|
lods
|
||
|
call prints
|
||
|
jmp 1b
|
||
|
6:
|
||
|
jmp bx
|