Parcourir la source

boot sector with interrupts

Carlos Fenollosa il y a 10 ans
Parent
commit
e220e68eb0
2 fichiers modifiés avec 0 ajouts et 62 suppressions
  1. 0 56
      01-boot-sector/README.md
  2. 0 6
      01-boot-sector/boot_sect_simple.asm

+ 0 - 56
01-boot-sector/README.md

@@ -1,56 +0,0 @@
-This is very exciting, we're going to create our own boot sector!
-
-Theory
-------
-
-When the computer boots, the BIOS doesn't know how to load the OS, so it
-delegates that task to the boot sector. Thus, the boot sector must be
-placed in a known, standard location. That location is the first sector
-of the disk (cylinder 0, head 0, sector 0) and it takes 512 bytes.
-
-To make sure that the "disk is bootable", the BIOS checks that bytes
-511 and 512 of the alleged boot sector are bytes `0xAA55`.
-
-This is the simplest boot sector ever:
-
-```
-e9 fd ff 00 00 00 00 00 00 00 00 00 00 00 00 00
-00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-[ 29 more lines with sixteen zero-bytes each ]
-00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
-```
-
-It is basically all zeros, ending with the 16-bit value
-`0xAA55` (beware of indianness, x86 is little-endian). 
-The first three bytes perform an infinite jump
-
-Simplest boot sector ever
--------------------------
-
-You can either write the above 512 bytes
-with a binary editor, or just write a very
-simple assembler code:
-
-```nasm
-; Infinite loop (e9 fd ff)
-loop:
-    jmp loop 
-
-; Fill with 510 zeros minus the size of the previous code
-times 510-($-$$) db 0
-; Magic number
-dw 0xaa55 
-```
-
-To compile:
-`nasm -f bin boot_sect_simple.asm -o boot_sect_simple.bin`
-
-> OSX warning: if this drops an error, read chapter 00 again
-
-I know you're anxious to try it out (I am!), so let's do it:
-
-`qemu boot_sect_simple.bin`
-
-You will see a window open which says "Booting from Hard Disk..." and
-nothing else. When was the last time you were so excited to see an infinite
-loop? ;-)

+ 0 - 6
01-boot-sector/boot_sect_simple.asm

@@ -1,6 +0,0 @@
-; A simple boot sector program that loops forever
-loop:
-    jmp loop
-
-times 510-($-$$) db 0
-dw 0xaa55