In the book I am readng it states the following
about this function in relation to the STACK:
mov ax, 100
push ax ; sp2
mov bx, 200
push bx ; sp3

The push instruction performs two steps:

1. 2 (not 1) is subtracted from sp
2. The specified register value is copied to

Now my question is why does it subtract two?
Is it because items on the STACK occupy 2-byte
words, or am I completely off track!? Thankful for any

// SuperCali
Posted on 2001-09-04 17:09:31 by SuperCali
Push ax
two is subtracted from the stack pointer because you are pushing a word value which is two bytes long.
if you were to ' PUSh ah' then 1 would be subtracted
likewise if it were 'push eax' four would be subtracted since eax is 4 bytes long
Posted on 2001-09-04 17:47:27 by MArtial_Code
Thanks for clearing that up for me.

// SuperCali
Posted on 2001-09-05 06:15:46 by SuperCali