Messages in this thread | | | Date | Wed, 23 Nov 2016 09:57:27 +0100 | From | Ingo Molnar <> | Subject | Re: What exactly do 32-bit x86 exceptions push on the stack in the CS slot? |
| |
* Andy Lutomirski <luto@amacapital.net> wrote:
> The SDM says: > > If the source operand is an immediate of size less than the operand size, a > sign-extended value is pushed on the stack. If the source operand is a segment > register (16 bits) and the operand size is 64-bits, a zero- extended value is > pushed on the stack; if the operand size is 32-bits, either a zero-extended > value is pushed on the stack or the segment selector is written on the stack > using a 16-bit move. For the last case, all recent Core and Atom processors > perform a 16-bit move, leaving the upper portion of the stack location > unmodified. > > This makes me think that even new processors are quirky.
Oh well ...
Thanks,
Ingo
| |