Являются ли EDX и DX одним и тем же регистром?
извините за невежественный вопрос,но я довольно смущен x86.
является ли EDX по существу тем же регистром, что и DX? Я понимаю, что EDX - 32 бит, а DX-16 бит.
Если я перемещу 0x1 в EDX, будет ли 0x1 также находиться в DX?
4 ответов
[76543210 76543210 76543210 76543210 76543210 76543210 76543210 76543210] bits
[ RDX ]
[ EDX ]
[ DX ]
[ DH ][ DL ]
кроме того, если вы находитесь в 64-битной системе, EDX-это низкий 32-бит регистра RDX, который является 64-битным регистром.
вы можете думать об этом как указатели:
long theRealRDX;
long * rdx = &theRealRDX;
int * edx = (int*)&theRealRDX;
short int * dx = (short int*)&theRealRDX;
char * dl = (char*)&theRealRDX;
за исключением стирания высокой части, упомянутого в комментарии nrz