add simple boot loader example
This commit is contained in:
21
bootloader1/boot.asm
Normal file
21
bootloader1/boot.asm
Normal file
@@ -0,0 +1,21 @@
|
||||
; boot.asm - prints 'A' and halts
|
||||
BITS 16 ; 16-bit real mode
|
||||
ORG 0x7C00 ; boot sector load address
|
||||
|
||||
start:
|
||||
mov ah, 0x0E ; teletype output BIOS function
|
||||
mov al, 'A' ; character to print
|
||||
mov bh, 0x00 ; page number 0
|
||||
mov bl, 0x07 ; text attribute (light grey on black)
|
||||
int 0x10 ; BIOS video interrupt
|
||||
|
||||
cli ; disable interrupts
|
||||
hang:
|
||||
hlt ; halt CPU
|
||||
jmp hang ; infinite loop
|
||||
|
||||
; fill the rest of the sector with zeros
|
||||
times 510-($-$$) db 0
|
||||
|
||||
; boot signature (2 bytes)
|
||||
dw 0xAA55
|
||||
3
bootloader1/compile.sh
Executable file
3
bootloader1/compile.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
nasm -f bin boot.asm -o boot.bin
|
||||
dd if=boot.bin of=floppy.img bs=512 count=1 conv=notrunc
|
||||
qemu-system-x86_64 -fda floppy.img
|
||||
Reference in New Issue
Block a user