cpu 8086 %define seg 0x060 org 0x7C00 - (seg << 4) init: cli mov ax, seg mov ds, ax mov es, ax mov ss, ax xor sp, sp mov ax, sp push ax .retry: mov ax, 0x0208 mov cx, 2 mov dh, 0 mov bx, 0x100 int 0x13 jc .retry xor di, di mov ax, 0x18CD stosw int 0x12 mov cl, 6 shl ax, cl stosw mov al, 2 stosb mov ax, 0x18CD stosw jmp seg:0x100 times (0x1BE - ($-$$)) db 0 ; assumes 16 heads, 63 sectors per track ; image of 1.44 MB floppy starting on 2nd track part1: db 0x80 db 1, 1, 0 db 1 db 0xFF, 0xFF, 0xFF dd 63 dd 0xb40 times (0x1FE - ($-$$)) db 0 ; Boot signature sig: dw 0xAA55