#pragma zilog_syntax import default_readword array __readline_out[33] const pointer readline_out = __readline_out.addr asm pointer readline() { rst $20 [$10] ld hl, ($16) ld de, readline_out ld bc, $20 ldir ld b, $20 ld hl, readline_out+31 ld a, 32 .loop: cp (hl) jr nz, .found dec hl djnz .loop .found: inc hl ld (hl), nullchar ld hl, readline_out ret } inline asm void putchar(byte register(a) char) { rst $20 [0] ? ret } inline void new_line() { putchar(13) } asm void __init() { // printing $0c clears the screen ld a,$c rst $20 [0] }