[ORG 0x7c00] jmp short start nop ;Disk description table db "EttinOS " ;Disk label dw 0x200 ;Bytes per sector db 0x1 ;Sectors per cluster dw 0x1 ;Sectors reserved for the boot record db 0x2 ;Number of copies of the FAT dw 0xe0 ;Number of directory entries dw 0xb40 ;Number of logical sectors db 0xf0 ;Media descriptor type dw 0x9 ;Sectors per FAT dw 0x12 ;Sectors per track dw 0x2 ;Number of heads dd 0x0 ;Number of hidden sectors dd 0x0 ;Number of LBA sectors dw 0x0 ;Drive number db 0x29 ;Drive signature dd 0x0 ;Volume ID db "EttinOS " ;Volume label db "FAT12 " ;File system type start: ;Set up the data segment mov ax, 0x0 mov ds, ax ;Set up the stack cli mov ax, 0x0 mov ss, ax mov sp, 0x7c00 sti ;Load the system ;Set the source mov dh, 0x0 mov ch, 0x0 mov cl, 0x2 ;Set the destination mov ax, 0x0 mov es, ax mov bx, 0x7e00 ;Set the size mov al, 0x5 ;Load mov ah, 0x2 int 0x13 ;Boot the system jmp 0x0:0x7e00 ;Padding times 0x1fe-($-$$) db 0x0 ;Boot signature dw 0xaa55