rendered paste body
.intel_syntax noprefix
.global _start
.code16
.org 0x0
.text
_start:
# Update the segment registers
mov ax, cs
mov ds, ax
mov es, ax
reset: # Reset the floppy drive
mov ax, 0 #
mov dl, 0 # Drive=0 (=A)
int 0x3 #
jc reset # ERROR => reset again
mov ax, 0x100 # ES:BX = 1000:0000
mov es, ax #
mov bx, 0 #
read:
mov ah, 2 # Load disk data to ES:BX
mov al, 1 # Load 1 sectors
mov ch, 0 # Cylinder=0
mov cl, 2 # Sector=2
mov dh, 0 # Head=0
mov dl, 0 # Drive=0
int 0x13 # Read!
jc read # ERROR => Try again
hang:
mov ah, 0x0e
mov bx, [0x100]
mov al, [bx]
int 0x10
jmp hang # hang the program
.org 509
.byte 'h'
.word 0xAA55
.byte 'h'
.byte 'i'
.org 1024