So I'm currently working on a simple chunk of assembly which I hope to turn into an efficient bootloader to load a C-kernel.
My main question right now is. Are there any pointers for how I'm currently storing and printing a string out of the SI register?
It renders the string perfectly. I just want to make sure I'm developing good practice.
Here's my code.
ORG 0x7c00
msg db 'Hello World!', 0
start:
    mov ax, 0x00
    mov ds, ax
    mov ah, 0x0e ;prepare AH register to be written to.
    mov si, msg ;move string into SI register and prepare for read/write
    call print
print:
    lodsb ;load byte string pointed to in SI and DS register
    or al, al ;check if al equals 0
    jz end ; if zero, end execution
    int 0x10 ;print string
    jmp print ;^ above line and this only execute if AL > 0.
end:
    hlt
    jmp end
times 510-($-$$) db 0
dw 0xaa55
 
     
    