.sect .text; .sect .rom; .sect .data; .sect .bss .sect .text .define printf .extern printc, printd, prints printf: 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