affected 32 bits register

From: delicious (kjwdelicious_at_empas.com)
Date: 03/19/05


Date: Sat, 19 Mar 2005 23:59:16 +0900

Hey guys...
I got a problem
Actually I think I found something very curious.
A 32bit register can be affected by changing other 32bit register
or a high 16bits of 32bit register also can be affected by changing low
16bits.

Please look at this code.
mov eax, 0FFFFFFFFh ;set all bits
mov ebx, 0FFFF0000h

I looked into these step by step through CV debuger.
And I found eax value changed from 0FFFFFFFFh to 0000FFFFh when mov ebx,
0FFFF0000h.
And I found that other 32bits registers also affect to others, each other.

So, can't I change low bits of EAX(AX part) without changing high bits of
EAX?
I'm serious... Please let me know why...



Relevant Pages

  • Re: affected 32 bits register
    ... | A 32bit register can be affected by changing other 32bit register ... | mov eax, 0FFFFFFFFh;set all bits ... | And I found eax value changed from 0FFFFFFFFh to 0000FFFFh when mov ebx, ...
    (alt.lang.asm)
  • Re: affected 32 bits register
    ... > Hey guys... ... > mov ebx, 0FFFF0000h ... can't I change low bits of EAXwithout changing high bits of ... You can change any bitof any register, ...
    (alt.lang.asm)
  • Re: newbie: MUL product
    ... I'm a newbie using MASM on an P4 Intel processor. ... that if I multiply AX by a 16 bit register or memory operand, ... I tried "mov ebx, dx:ax" ...
    (comp.lang.asm.x86)
  • Re: again, external symbols in hla
    ... of a register, then list is the symbolic name of a memory location. ... mov ebx, list ... mov eax, list + 8 ...
    (alt.lang.asm)
  • Re: Pointer to Object Variable
    ... it does work when using the ebx register ... mov eax, TfmTest.locptr ... mov byte ptr, 250 ...
    (borland.public.delphi.language.basm)