%define cr 0x0a %define lf 0x0d %define endl 0x0 ; Reads a character ; out: ; al = asci character ; ah = scan code read_char: mov ah, 0 int 0x16 ret ; Prints a character ; in: ; al = asci character to print print_char: mov ah, 0x0e int 0x10 ret ; Prints a null terminated string ; in: ; si = null terminated string pointer print_line: .loop: cmp byte [si], 0 je .done mov al, [si] call print_char inc si jmp .loop .done: ret