0 a 0 a 0 a 0 a 0 a 0 a 0 a 0 a 0 a 0 a 0 a 0 a 0 a 0 a 0 a 0 a 0 a 0 a 0 a 0 a 0 a //setup subroutine call stack 254 rh 0 rl 0 rh,rl call :tty_init //call :tty_cls 255 rh 0 rl 'T' rh,rl call :tty_putch 255 rh 0 rl 'E' rh,rl call :tty_putch 255 rh 0 rl 'S' rh,rl call :tty_putch 255 rh 0 rl 'T' rh,rl call :tty_putch 255 rh 0 rl 10 rh,rl call :tty_putch .loop //get line 255 rh 2 rl ::getline_buf rh,rl(i) :getline_buf rh,rl 255 rh 3 rl 20 rh,rl call :tty_get_line //print line ::i rh :i rl 0 rh,rl .print_loop ::i rh rh,:i rl ::getline_buf rh rh,rl a 0 b branch :print_loop_done a=b 255 rh a rh,0 call :tty_putch ::i rh rh,:i a 1 b 0 flags add a 0 b branch :print_loop_done a=b a rh,:i branch :print_loop 1 .print_loop_done 255 rh 0 rl 10 rh,rl call :tty_putch branch :loop 1 @include ../template/tty_template.asm .i dw 0 @section bss ..getline_buf dw 0