mbr_asm/Readme.md

52 lines
1.4 KiB
Markdown
Raw Normal View History

2017-01-28 22:46:50 +01:00
== 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
2017-01-28 22:58:59 +01:00
== BIOS IRQ ==
https://en.wikipedia.org/wiki/BIOS_interrupt_call