3 ms·
> `push` decrements the stack pointer on x86 architecture, unlike on ARM. Why do you say "unlike on ARM"? In 25 years I've never seen anything but a full, desc
by danellis 11y ago
> `push` decrements the stack pointer on x86 architecture, unlike on ARM.
Why do you say "unlike on ARM"? In 25 years I've never seen anything but a full, descending stack used as the program stack. You can have ascending stacks, but that's more an artifact of the fact that `pop` and `push` (which didn't exist in the assembly language until Thumb) are just specific uses of the general multiple load/store instructions `LDM` and `STM`, which can "write back" an incremented or decremented base register.