[BITS 16]
[ORG 0x7c00]
main:
xor ax, ax ;Sets ax = 0
mov cs, ax ;All I know is that ds needs
mov ds, ax ;to be offset to 0x00 but Joe did
mov es, ax ;them all so i followed his lead,
mov fs, ax ;bad idea i know.
mov si, Helloworld ;Moves the location of Helloworld to SI
Call putSTR
jmp $ ;big ass loop, how do i get to the next stage?
PutSTR:
mov ah, 0x0E ;Set TTY mode, no idea what 0x10 is in Joe's
mov bh, 0x00 ;sets page = 0
mov bl, 0x09 ;blue screen, white text iirc
.next ;label to get to next character
lodsb ;Pretty much mov al, si
int 0x10 ;Runs BIOS video interrupt
or al, al ;Determines if al = 0
jz .end ;GoTo label .end if al = 0
jmp .next ;GoTo .next
.end ;Label to bypass loop if end of STR
ret ;Return to main
;Data
Helloworld db 'Hello World', 13, 10, 0
times 510-($-$$) db 0
dw 0xAA55
May be some suggestions or you could completely rip it apart if im not even close that would also be helpful.