loader.s
Code: Select all
BITS 16
ORG 07C00h
jmp 00000h:main
main:
mov ax, cs
mov ds, ax
mov es, ax
reset:
xor ax, ax
xor dl, dl
int 13h
jc reset
loadSector:
mov ax, 1000h
mov es, ax
mov bx, 0
mov ah, 2
mov al, 1
mov ch, 0
mov cl, 2
mov dh, 0
mov dl, 0
int 13h
jc loadSector
jmp 1000h:0000
times 512 - ($ - $$) - 2 db 0
dw 0AA55h
Code: Select all
mov ax, cs
mov ds, ax
mov si, helloWorld
jmp printString
jmp $
printString:
mov ah, 00Eh
mov bh, 000h
mov bl, 007h
.nextChar:
lodsb
cmp al, 0
je .doneString
int 10h
jmp .nextChar
.doneString
ret
helloWorld db 'Hello, World', 13, 10, 0