This is actually a very strange situation: for backwards-compatibility reasons, writing to the 8-bit or 16-bit registers (so, al, ah or ax) doesn't change the rest of the register, but if you write to the 32-bit register it clears the top half, for a couple of reasons (I think it's generally the preferred behaviour, at least for chip designers)lemonyii wrote:and i think edx is the lower 32bits of rdx, and change the edx,the high 32bits of rdx,will remain unchanged,right?