home bbs files messages ]

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