4 %define KSECTORS (KSIZE + 511) / 512
7 ; init segment registers
16 mov bp, KSTART ; stack grows down, overwriting MBR
23 ; load stage2 and stage3
29 .msg: db 10, 13, "nyax stage1", 10, 13, 0
36 mov ah, 0x02 ; read sectors from drive
37 mov al, KSECTORS ; number of sectors
38 xor ch, ch ; cylinder=0
41 mov bx, KSTART ; buffer
43 jc .fail ; CF set on error
44 cmp al, KSECTORS ; check read sectors count
54 .msg: db "loading stage2 and stage3 from disk", 10, 13, 0
55 .fail_msg: db "disk failure, try rebooting", 10, 13, 0
57 %include "stage1/print.asm"