Notes

  • The stack pointer starts at the end of the stack segment and works its way closer to SS
  • You can't push 8 bit register halves
  • Since MOV won't operate on the Flags register, to copy it you can do PUSHF; POP BX
  • As a rule of thumb, always allocate at least 512 bytes of stack space

Stack opcodes

  • PUSHF / POPF - pushes pops the flags register
  • PUSHA / POPA - "" AX, CX, DX, BX, SP, BP, SI & DI in that order
  • PUSHAD / POPAD - "" EAX, ECX, EDX, EBX, ESP, EBP, ESI & EDI in that order
  • PUSH AX / POP AX - "" AX
  • PUSH [BX] / POP [BX] == - "" ==DS:BX

-- MattWalsh - 17 Apr 2004

Topic revision: r2 - 18 Apr 2004 - MattWalsh
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2012 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback