x64 Registers: Unexpected destructive traits

2011-Nov-27 | Tags: learnprogramingyoutube

Start64!In 386 ASM it was possible to modify the lower 8-bits of AX without affecting the upper 8-bits of AX, by addressing these bit-ranges as AL or AH, respectively. And so one might have thought that one could also modify the lower 32-bits of the newer 64-bit registers such as RAX, RBX, RSI, etc, without affecting their upper 32-bits... by addressing them as EAX, EBX, ESI, and so on...

But this doesn't appear to be the case, unless the MSVC Registers watch was returning erroneous results. :)

This video was mainly uploaded to show these traits to WhatsACreel who has made some amazing tutorials on x64 programming. I wasn't sure if he was aware of these traits, and thought it best to demonstrate them visually.

x64 Registers Unexpected destructive traits - YouTube