home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.asm.x86      Ahh, the lost art of x86 assembly      4,675 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 3,192 of 4,675   
   Robert Redelmeier to Bartc   
   Re: asm improvements?   
   21 Dec 17 18:25:40   
   
   From: redelm@ev1.net.invalid   
      
   Bartc  wrote in part:   
   > Internal code    Register name   
   >   0               AX   
   >   1               CX   
   >   2               DX   
   >   3               BX   
   >   4               SP   
   >   5               BP   
   >   6               SI   
   >   7               DI   
   >   
   > Why aren't they named AX,BX,CX,DX instead of AX,CX,DX,BX?   
      
   This may be getting uncomfortably close to the "symmetric register"   
   flamewar.  x86 has been successful with asymmetric specific-purpose   
   registers.  Which are perhaps best explained by the full register names:   
      
   AX = accumulator (if you do not see the significance, study early CPU design)   
   BX = base  (have a look at moribund, disused instructions like XLAT)   
   CX = count ( look at REP:MOVSW , perhaps the biggest x86 early advantage)   
   DX = data / double  -- high word   
      
   SP = stack pointer   
   BP = base pointer to a caller's stack frame for parms   
   SI = source index (for MOVS!)   
   DI = destination index   
      
   > Why is the stack pointer in the middle? (Usually it's at or near the top.)   
      
   Other archs I've seen have SP at high R# , it may be inthe middle   
   here because BP,SI,DI were added between the 8085 and 8086.   
      
   > So the internal hard-coding is irrelevant.   
      
   Currently, yes.  Not so when transistors were much more   
   limited in 1976-8 when x86 was designed.  I do not believe   
   it is possible to understand design decisions without a full   
   understanding of the context in which they were made.   
      
   -- Robert   
      
   --- 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