[bits 16] ;print_string routine ([bx]) ;this routine will print a null terminated string at [bx] to the screen. print_string: pusha ;push all registers mov ah,0x0e print_string_loop: ;check if value at [bx] is "\0" (end of string) mov cl,[bx] cmp cl,0 je print_string_finish ;otherwise instruct BIOS to print the current char mov al,cl int 0x10 ;proceed with next char inc bx jmp print_string_loop print_string_finish: popa ;pop all registers ret ;return to caller