Hello!,
Well first I understand (or a I think that I understand) the problems of misaligned stack.
But I know (like a definition) that pushing a 16bit value to 32bit wide stack could cause a stack misaligned.
But the thing I dont understand, is how this could happend...since PUSH
and POP
check the D flag at the segment descriptor (so is 1 increments/decrements 32bits and is 0 16bits).
Suppose that D flag=1, should PUSH AX
do a 32bits decrement? so its like I "miss" 16bits in the stack?
I am not sure that I understand this problem