I confess I don't see what the big deal is, 64 bit is a different animal and you simply learn how it works. MacroShaft (whoops I mean Microsoft) publish the range of integer registers as well as the later ones and there are so many other options in register choice that splitting EAX in AX, then rotating EAX so you read the other end as AX is hardly worth the effort when you have so many other options.
One thing you must be aware of is trying to load an immediate vaule larger than 4 gig into a memory operand directly. So that it does not get truncated to 32 bit, you load it into a 64 bit register first then MOV the register into the 64 bit memory operand.
mov rax, really_big_number
mov mem_operand, rax