I'm learning assembly and of course I'm experimenting with the classic 0x10 bios interrupt. The resources I've looked at show using lodsb
to print a string, so to understand that opcode I'm trying to mimic it's behavior. This works fine with lodsb
, but not with what I have. What am I doing wrong?:
start: mov ah, 0Eh ;for bios interrupt mov si, text_string ;set source index to begining of text_string .repeat: ;I'm trying to emulate the behavior of lodsb to learn how it works: mov al, [si] ;put character at si in al register add si, 1 ;increment source index cmp al, 0 ;if the character is a zero (end of the string) je done ;end execution int 10h ;bios interrupt to put character on screen jmp .repeat text_string db 'Hello, World!', 0 done: ret