mirror of https://github.com/nmlgc/ReC98.git
27 lines
428 B
NASM
27 lines
428 B
NASM
|
; int printf(const char *format, ...)
|
||
|
_printf proc DIST
|
||
|
@@format = DPTR_ (2 + cPtrSize)
|
||
|
@@va = byte ptr (2 + cPtrSize + dPtrSize)
|
||
|
|
||
|
push bp
|
||
|
mov bp, sp
|
||
|
push si
|
||
|
push di
|
||
|
mov ax, offset __fputn
|
||
|
push ax
|
||
|
push ds
|
||
|
mov ax, offset stdout
|
||
|
push ax
|
||
|
if LDATA
|
||
|
push word ptr [bp+@@format+2]
|
||
|
endif
|
||
|
push word ptr [bp+@@format]
|
||
|
lea ax, [bp+@@va]
|
||
|
push ax
|
||
|
call __vprinter
|
||
|
pop di
|
||
|
pop si
|
||
|
pop bp
|
||
|
ret
|
||
|
_printf endp
|