知らない質問で申し訳ありませんが、私はx86についてかなり混乱しています。
EDXは本質的にDXと同じレジスタですか?DXが16ビットであるのに対し、EDXは32ビットであることを理解しています。
0x1をEDXに移動すると、0x1もDXに含まれますか?
[76543210 76543210 76543210 76543210 76543210 76543210 76543210 76543210] bits
[ RDX ]
[ EDX ]
[ DX ]
[ DH ][ DL ]
DXは単にEDXの下位16bです:)
mov EDX, 0x1; --> DX = 0x1
mov EDX, 0x12345678; --> DX = 0x5678
また、64ビットシステムを使用している場合、EDXは64ビットレジスタであるRDXレジスタの下位32ビットです。
あなたはそれをポインタと考えることができます:
long theRealRDX;
long * rdx = &theRealRDX;
int * edx = (int*)&theRealRDX;
short int * dx = (short int*)&theRealRDX;
char * dl = (char*)&theRealRDX;
nrzコメントで言及されている大部分の消去を除いて