|
|
|
|
@ -1,10 +1,20 @@
|
|
|
|
|
; MEMORY LAYOUT
|
|
|
|
|
; 0x0000 - 0x7000: stack
|
|
|
|
|
; 0x7000 - 0x7c00: globals
|
|
|
|
|
; 0x7000 - 0x7001: boot drive number
|
|
|
|
|
; 0x7001 - 0x7002: number of hard disk drives
|
|
|
|
|
; 0x7002 - 0x7003:
|
|
|
|
|
; 0x7c00 - 0x7e00: boot sector
|
|
|
|
|
; R = reserved, U = usable
|
|
|
|
|
; --------------------------------------------------------------------
|
|
|
|
|
; R | 0x000000 - 0x000400: real-mode interrupt vector table
|
|
|
|
|
; R | 0x000400 - 0x000500: bios data area
|
|
|
|
|
; U | 0x000500 - 0x007000: stack
|
|
|
|
|
; U | 0x007000 - 0x007c00: globals
|
|
|
|
|
; | 0x007000 - 0x007001: boot drive number
|
|
|
|
|
; | 0x007001 - 0x007002: number of hard disk drives
|
|
|
|
|
; | 0x007002 - 0x007003:
|
|
|
|
|
; U | 0x007c00 - 0x007e00: boot sector
|
|
|
|
|
; U | 0x007e00 - 0x080000: conventional usable memory
|
|
|
|
|
; R | 0x080000 - 0x0a0000: extended bios data area (maximum possible size)
|
|
|
|
|
; R | 0x0a0000 - 0x0c0000: video memory
|
|
|
|
|
; R | 0x0c0000 - 0x0c8000: video bios
|
|
|
|
|
; R | 0x0c8000 - 0x0f0000: bios expansiosn
|
|
|
|
|
; R | 0x0f0000 - 0x100000: motherboard bios
|
|
|
|
|
|
|
|
|
|
; BIOS puts our boot sector at 0000:7c00
|
|
|
|
|
org 0x7c00
|
|
|
|
|
|