Is the width of the stack 8 bit wide for IA32 architecture and for all types microprocessors/microcontrollers.
I am currently reading http://ozark.hendrix.edu/~burch/csbsju/cs/350/handouts/x86.html about assembly language. At the explanation of “call” it says that the stack pointer is being decreased by 4 and the program counter is push into the stack. Does this mean that the width of the stack buffer is of 8bit wide because the program counter is 32 bit long? I tried finding it in the intel IA32 architecture software development manual but can’t seems to confirm it.
Thanks
Sziang
In the IA32 architecture, memory is addressed in bytes.
Hence, in order to put another 4 bytes on the stack, you need to shift your stack pointer by 4.