49 lines
1.3 KiB
Markdown
49 lines
1.3 KiB
Markdown
|
== 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
|