Forums before death by AOL, social media and spammers... "We can't have nice things"
|    alt.os.development    |    Operating system development chatter    |    4,255 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 3,329 of 4,255    |
|    mutazilah@gmail.com to Joe Monk    |
|    Re: segmentation    |
|    20 Oct 22 15:27:45    |
      From: muta...@gmail.com              On Thursday, October 20, 2022 at 5:41:27 PM UTC+8, Joe Monk wrote:       > > Far pointers are just segment and offset, and are restricted to 64k.        > >       > Far pointers are 32-bit. They are not restricted to 64k. They are generally       written as segmentoffset. So if the segment is B000 and the offset is 8000       (i.e. video memory), then the far pointer is 0xB0008000. Far simply means, in       pointers, that the        memory is not near (i.e. within the current segment).               A single far pointer (no manipulation of the segment register)       is restricted to accessing a single 64k block of memory.              > The problem with far pointers is that segments overlap, so they are not       normalized.       > >Huge pointers manipulate the segment every time you try to change        > >the pointer, keeping the offset to under 16 and changing the segment        > >so that the entire 1 MB is addressable.       > A huge pointer is just a far pointer, but normalized.              The normalization process, which requires knowledge of       exactly how to manipulate a segment register, is what       allows more than a single 64k block of memory to be       manipulated.              BFN. Paul.              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca