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 4,290 of 4,675   
   bilsch01 to All   
   pusha and popa changes to sp register   
   20 Jan 21 23:23:48   
   
   From: fy247@nospicedham.always.com   
      
   I read the x86 instruction reference. It is clear to me that pusha   
   will decrement sp by 16. But it sounds like popa will increment sp by   
   only 14. Is that correct?   
      
   The text of the reference for popa says:   
      
   Pops doublewords (POPAD) or words (POPA) from the stack into the   
   general-purpose registers. The registers are loaded in the following   
   order: EDI, ESI, EBP, EBX, EDX, ECX, and EAX (if the operand-size   
   attribute is 32) and DI, SI, BP, BX, DX, CX, and AX (if the operand-size   
   attribute is 16). (These instructions reverse the operation of the   
   PUSHA/PUSHAD instructions.) The value on the stack for the ESP or SP   
   register is ignored. Instead, the ESP or SP register is incremented   
   after each register is loaded.   
      
   --- 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