flat assembler
Message board for the users of flat assembler.
Index
> Main > Memory Layout |
Author |
|
scientica 24 Jul 2004, 11:25
iirc you (the "user" code) allways(read: for most sane IBM PC compatible) start at 7C00h.
Basically you can summ up the memory like this: Code: ;Memmory Map: ; RM: Linear: Desc: ; 0000:0000 -> 0000:03FF 0h -> 3FFh No-no. ; 0040:0000 -> 0040:00FF 400h -> 4FFh No-no. ; 0050:0000 -> 0050:7DFF 500h -> 7BFF Free! ; 0000:7C00 -> 0000:7DFF 7C00h -> 7DFFh Boot sect (free). ; 0000:7E00 -> 9000:FBFF 7E00h -> 9FBFFh Free! ; 9000:FC00 -> 9000:FFFF 9FC00h -> 9FFFFh No-no. ; A000:0000 -> F000:FFFF A0000h -> FFFFFh No-No. (B0000h ok...) ; FFFF:000F -> FFFF:FFFF 100000h -> 10FFEF Free! (HMA) ; --------- -> --------- 10FFF0h -> oo Free! ; ; RM -> Linear: (BASE{slector}*16)+OFFSET=LINEAR iirc A000:0000 is realted to video mem, and B000:0000 is the text mode "buffer" - if you write something at B000:0000h you'll see some sort of output in text mode - iirc the size and with of an char (byte or word) depends on the viedo mode. btw, this thread should be in "OS Construction" |
|||
24 Jul 2004, 11:25 |
|
decard 24 Jul 2004, 12:12
Actually the text mode video memory (in BIOS modes) since VGA starts at 0xb800, but you can change it manually by tweaking VGA registers, if you want to do somethig tricky
Take a look at OS Developement links on my website, on that sites you will find more references about memory. |
|||
24 Jul 2004, 12:12 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.