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,330 of 4,255   
   mutazilah@gmail.com to wolfgang kern   
   Re: segmentation   
   20 Oct 22 15:37:20   
   
   From: muta...@gmail.com   
      
   On Thursday, October 20, 2022 at 11:24:42 PM UTC+8, wolfgang kern wrote:   
      
   > On 18/10/2022 21:34, muta...@gmail.com wrote:   
   > > On Thursday, October 13, 2022 at 8:25:01 PM UTC+8, Joe Monk wrote:   
   > >>> You think the entire MSDOS has been written   
   > >>> with no assumptions about 4 bit shifts?   
   >   
   > >>> You could be right. I've never looked at the   
   > >>> MSDOS source code except for one bit   
   > >>> someone pointed me to so that I could see   
   > >>> the word Xenix.   
   >   
   > > I just remembered - if you are using huge pointers for   
   > > any reason, you need to know the shift value in order   
   > > to be able to adjust the segment register.   
   >   
   > > I think it is impossible for MSDOS to manage more than   
   > > 64k of memory, ie 640k or 1 MB or 2 MB without huge   
   > > pointers or equivalent.   
      
   > MSDOS used "far" instead of "huge"   
      
   MSDOS used both. Depending on terminology. The   
   keywords are in the extended C language.   
      
   > and the 16 high bits   
   > came from memory allocation FN anyway (ES or handle).   
      
   Yes, and those high 16 bits can reference a block of memory   
   more than 64k in size. And to traverse such a block requires   
   a huge pointer, either explicitly using the "huge" keyword, or   
   implicitly by using the huge memory model on an appropriate   
   C compiler like Watcom (not Turbo C).   
      
   > programmers may never cared about the 4 bit shift.   
      
   Ideally that would be the case.   
      
   Unfortunately many people would code 0xb8000000 or   
   MK_FP(0xb800, 0).   
      
   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