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,335 of 4,255   
   mutazilah@gmail.com to Joe Monk   
   Re: segmentation   
   22 Oct 22 13:19:56   
   
   From: muta...@gmail.com   
      
   On Sunday, October 23, 2022 at 4:15:51 AM UTC+8, Joe Monk wrote:   
   > > > https://en.wikipedia.org/wiki/Far_pointer    
   > > It is possible if you manipulate the segment.   
   > "For example, in an Intel 8086, as well as in later processors running   
   16-bit code, a far pointer has two parts: a 16-bit segment value, and a 16-bit   
   offset value. A linear address is obtained by shifting the binary segment   
   value four times to the left,   
    and then adding the offset value. Hence the effective address is 20 bits   
   (actually 21-bit, which led to the address wraparound and the Gate A20). There   
   can be up to 4096 different segment-offset address pairs pointing to one   
   physical address. To compare    
   two far pointers, they must first be converted (normalized) to their 20-bit   
   linear representation."    
   >    
   > char far *p =(char far *)0x55550005;    
   > char far *q =(char far *)0x53332225;    
   >    
   > "Physical Address = (value of segment register) * 0x10 + (value of offset).    
   > Location pointed to by pointer 'p' is : 0x5555 * 0x10 + 0x0005 = 0x55555    
   > Location pointed to by pointer 'q' is : 0x5333 * 0x10 + 0x2225 = 0x55555    
   > So, p and q both point to the same location 0x55555."    
   >    
   > The same is true regardless of the offset.    
      
   Not sure if we're talking cross-purposes here.   
      
   I didn't invent the term "huge pointer". It has a meaning   
   distinct from "far pointer".   
      
   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