mirror of
https://github.com/cfenollosa/os-tutorial.git
synced 2024-10-27 20:34:19 +00:00
33 lines
898 B
NASM
33 lines
898 B
NASM
|
[org 0x7c00]
|
||
|
mov bp, 0x8000 ; set the stack safely away from us
|
||
|
mov sp, bp
|
||
|
|
||
|
mov bx, 0x9000 ; es:bx = 0x0000:0x9000 = 0x09000
|
||
|
mov dh, 2 ; read 5 sectors
|
||
|
; the bios sets 'dl' for our boot disk number
|
||
|
; if you have trouble, use the '-fda' flag: 'qemu -fda file.bin'
|
||
|
call disk_load
|
||
|
|
||
|
mov dx, [0x9000] ; retrieve the first loaded word, 0xdada
|
||
|
call print_hex
|
||
|
|
||
|
call print_nl
|
||
|
|
||
|
mov dx, [0x9000 + 512] ; first word from second loaded sector, 0xface
|
||
|
call print_hex
|
||
|
|
||
|
jmp $
|
||
|
|
||
|
%include "../05-bootsector-functions-strings/boot_sect_print.asm"
|
||
|
%include "../05-bootsector-functions-strings/boot_sect_print_hex.asm"
|
||
|
%include "boot_sect_disk.asm"
|
||
|
|
||
|
; Magic number
|
||
|
times 510 - ($-$$) db 0
|
||
|
dw 0xaa55
|
||
|
|
||
|
; boot sector = sector 1 of cyl 0 of head 0 of hdd 0
|
||
|
; from now on = sector 2 ...
|
||
|
times 256 dw 0xdada ; sector 2 = 512 bytes
|
||
|
times 256 dw 0xface ; sector 3 = 512 bytes
|