You need to enlarge **tape** because your initialization zeroes 101 bytes. section .bss tape resb 101 The teletype function uses the BL and BH registers as arguments. mov bx,0007h ;Display page 0 and Color 7 (if in graphics mode) mov ah, 0Eh mov al, byte [tape +di] int 10h