/..

#CONTENT

#TOP

boot.asm
TEXT
    BITS 16
    ORG  7c00h

_start:
    cli
    cld
    xor   ax,    ax
    mov   ds,    ax
    mov   es,    ax
    mov   ss,    ax
    mov   fs,    ax
    mov   gs,    ax
    mov   sp,    7c00h

    mov byte [boot_media], dl

    mov al, 80h
    int 10h

dump:
    call read

    cmp word [7e00h], `am`
    je show

    add word [packet.lba], 1
    jmp dump

show:
    mov si, 7e00h
    call print

hang:
    jmp hang

print:
    mov ah, 0eh
    mov bx, 000fh
.loop:
    lodsb
    int 10h
    test al, al
    jne .loop
.done:
    ret

read:
    mov ah, 42h
    mov dl, byte [boot_media]
    mov si, packet
    int 13h
    ret

debug: db "HELLO WORLD", 0
boot_media: db 0
    align 4
packet:
.size: dw 16
.sectors: dw 1
.offset: dw 7e00h
.segment: dw 0
.lba: dq 37bh

    times 510 - ($ - $$) db 0
    dw 0aa55h