Mbr doing nothing

This commit is contained in:
Mathieu Maret 2017-01-28 22:46:50 +01:00
commit acc01761e0
2 changed files with 52 additions and 0 deletions

48
Readme.md Normal file
View File

@ -0,0 +1,48 @@
== Instruction ==
Build with
nasm -f bin mbr.asm -o mbr
Run with
qemu-system-x86_64 -boot a -fda mbr
== Bios Memory ==
0x0 - 0x03FF ;IVT
0x400 - 0x4FF ;BIOS Data
0x500 - 0x7BFF ;Unused
0x7C00 - 0x7D77 ;Bootloader
0x7E00 - 0x9FFFF ;Unused
0xA0000 - 0xBFFFF ;Video memory
0xB0000 - 0xB7777 ;Video memory monochrome
0xB8000 - 0xBFFFF ;Video memory color
0xC0000 - 0xC7FFF ;BIOS ROM
0x80000 - 0xEFFFF ;BIOS shadow memory
0xF0000 - 0xFFFFF ;BIOS System
== Interrupt Vector Table ==
INT_NUM | Short Description PM
----------- | ----------------------
0x00 | Division by zero
0x01 | Debugger
0x02 | NMI
0x03 | Breakpoint
0x04 | Overflow
0x05 | Bounds
0x06 | Invalid Opcode
0x07 | Coprocessor not available
0x08 | Double fault
0x09 | Coprocessor Segment Overrun (386 or earlier only)
0x0A | Invalid Task State Segment
0x0B | Segment not present
0x0C | Stack Fault
0x0D | General protection fault
0x0E | Page fault
0x0F | reserved
0x10 | Math Fault
0x11 | Alignment Check
0x12 | Machine Check
0x13 | SIMD Floating-Point Exception
0x14 | Virtualization Exception
0x15 | Control Protection Exception

4
mbr.asm Normal file
View File

@ -0,0 +1,4 @@
bits 16 ; mode 16bits
org 0x7C00 ; mbr ae loaded at 0x7C00
times 510 - ($ - $$) db 0 ; fill up to 510 with 0
dw 0xAA55 ; MBR magic number