flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > Memory locations |
Author |
|
edfed 07 Apr 2008, 10:24
you can write and read in ram.
some locations have effects, some other don't. win and lin CHOOSED their location. meaning that you have to make a choice. theses choices are made based on experience and preferences. for more details, look at the revolution's web site and type "helppc" . glad to help you! edfed |
|||
07 Apr 2008, 10:24 |
|
f0dder 07 Apr 2008, 11:26
You can't just blindly write to RAM, various regions are reserved, for purposes like memory-mapped device I/O and systems-management mode. You need to discover the memory map, using methods like E280 BIOS call. Check out OS development sites
|
|||
07 Apr 2008, 11:26 |
|
bitRAKE 07 Apr 2008, 16:52
Programming to a specific chipset is also an option, but the BIOS can lock settings in modern chipsets.
_________________ ¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup |
|||
07 Apr 2008, 16:52 |
|
nihilist:P 26 May 2008, 19:43
sorry for excavating this thread...
Is there a memory-address above which there are no more such special locations? Where is this point (in general)? |
|||
26 May 2008, 19:43 |
|
bogdanontanu 26 May 2008, 22:24
nihilist:P wrote: sorry for excavating this thread... No _________________ "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." |
|||
26 May 2008, 22:24 |
|
calpol2004 12 Dec 2008, 16:58
EDIT: wow this thread is old, it was on the first page. Apologies, didnt realise how slow this part of the forum moves.
Just use the int 0x15 0xe820 call. it returns all the available ram regions. They're quite big. 99% of ram is useable, just a case of avoiding that 1%. I suggest loading your kernel/kernel loader at 0x7E00 (600kb region here till you hit the video ram) or 0x500 (30kb) and then get your memory map there. If its a small kernel you could probably run in the 600kb or 30kb regions (actually right next to eachother, the bootsector gets in the way :p) and just load everything else in the free regions above the 1MB mark. |
|||
12 Dec 2008, 16:58 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.