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,180 of 4,675   
   Bernhard Schornak to Bartc   
   Re: asm improvements?   
   16 Dec 17 20:38:53   
   
   From: schornak@nospicedham.web.de   
      
   Bartc wrote:   
      
      
   >>> 64-bit        32-bit        16-bit        8-bit         Generic   
   >>>   
   >>> D0  (rax)     A0  (eax)     W0  (ax)      B0  (al)      R0   
   >>> D1  (rbx      A1  (ebx)     W1  (bx)      B1  (bl)      R1   
   >>> D2  (rsi)     A2  (esi)     W2  (si)      B2  (sil)     R2   
   >>> D3  (rdi)     A3  (edi)     W3  (di)      B3  (dil)     R3   
   >>> D4  (r10)     A4  (r10d)    W4  (r10w)    B4  (r10l)    R4   
   >>> D5  (r11)     A5  (r11d)    W5  (r11w)    B5  (r11l)    R5   
   >>> D6  (r12)     A6  (r12d)    W6  (r12w)    B6  (r12l)    R6   
   >>> D7  (r13)     A7  (r13d)    W7  (r13w)    B7  (r13l)    R7   
   >>> D8  (r14)     A8  (r14d)    W8  (r14w)    B8  (r14l)    R8   
   >>> D9  (r15)     A9  (r15d)    W9  (r15w)    B9  (r15l)    R9   
   >>> D10 (rcx)     A10 (ecx)     W10 (cx)      B10 (cl)      R10   
   >>> D11 (rdx)     A11 (edx)     W11 (dx)      B11 (dl)      R11   
   >>> D12 (r8)      A12 (r8d)     W12 (r8w)     B12 (r8l)     R12   
   >>> D13 (r9)      A13 (r9d)     W13 (r9w)     B13 (r9l)     R13   
   >>> D14 (rbp)     A14 (ebp)     W14 (bp)      B14 (bpl)     R14   
   >>> D15 (rsp)     A15 (esp)     W15 (sp)      B15 (spl)     R15   
      
      
   What about AH, BH, CH, DH?   
      
      
   >> Why is it preferable to use anything other than the architected   
   >> register numbers?   
   >   
   > Because they're a mess.   
      
   Perhaps they are a mess for you, but they have one big advantage   
   over your 80 different names for 16 real registers: An assembler   
   programmer knows them by heart, and the original register naming   
   is consistent. AL, AH, AX, EAX and RAX are just defined portions   
   of one and the same 64 bit (or 32 bit until AMD64) register. The   
   great idea behind that naming gets lost with your new names, and   
   no other programmer intuitively knows what 'A9' really means. It   
   could be a macro, label, variable or function, as well... ;)   
      
      
   Have a nice weekend!   
      
   Bernhard Schornak   
      
   --- 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