rdos/lisp/print.asm
2019-03-23 20:13:05 +00:00

26 lines
395 B
NASM

; dump contents of a node to screen
; in si
print:
push si ; byte iterator
push cx ; position of next item
push ax ; al is byte value
mov word cx, [si] ; fetch position of next item
cmp cx, 0x40
jng .loop
mov cx, 0x40
.loop:
lodsb
call kprint8
mov al, 0x20
call kputc
loopnz .loop
mov al, 0x0A
call kputc
mov al, 0x0D
call kputc
pop ax
pop cx
pop si
ret