I don't think u can separate and use the higher bits of the EAX. i have had this problem b4, so i just ANDed the register contents by XXXX0000,(where XXXX is the bit-contents that u want preserved) so that the lower 16 bits would be reset, and the higher 16 bits would be whatever item u wanted.
give it a try.
No name, because pentium not support direct code to the high word of eax...edx, eg.
mov ax, 77ff -> mov ah, 77 / mov al, ff
but
mov eax, 7777ffff -> mov eah, 7777(not exist) / mov ax, ffff
the mov eah,7777 not supported by CPU
If you want to use it, you must shift it to low first.
shr eax, 16
mov [...], ax