flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > Can't understand the DOS HMA stuff. Help. |
Author |
|
sid123 29 Oct 2013, 09:43
The OSDev Wiki Says
Quote:
Alright I set DS to 0xFFFF, then enable the A20 Line, but I am not getting this, DS as a base? The Segment:Offset is as follows (in my opinion) 0xFFFF:0x10, but how am I supposed to use DS as a base with that segment offset? _________________ "Those who can make you believe in absurdities can make you commit atrocities" -- Voltaire https://github.com/Benderx2/R3X XD |
|||
29 Oct 2013, 09:43 |
|
cod3b453 01 Nov 2013, 22:35
The segment represents bits 19:4 as a "base" and the offset is added on for bits 15:0; hence the linear address is "(base*16)+offset". Setting any segment to FFFF will mean you start at linear address FFFF0 and can add an offset of up to FFFF to reach 10FFEF if the A20 (i.e bit 20) line is enabled. (If A20 is disabled, this will truncate to 0FFEF.)
|
|||
01 Nov 2013, 22:35 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.