9

知らない質問で申し訳ありませんが、私はx86についてかなり混乱しています。

EDXは本質的にDXと同じレジスタですか?DXが16ビットであるのに対し、EDXは32ビットであることを理解しています。

0x1をEDXに移動すると、0x1もDXに含まれますか?

4

4 に答える 4

21
[76543210 76543210 76543210 76543210 76543210 76543210 76543210 76543210] bits
[                                  RDX                                  ]
                                    [                EDX                ]                 
                                                      [       DX        ]
                                                      [  DH    ][   DL  ]
于 2013-04-02T21:37:38.300 に答える
12

DXは単にEDXの下位16bです:)

mov EDX, 0x1;         --> DX = 0x1
mov EDX, 0x12345678; --> DX = 0x5678
于 2013-03-15T21:20:01.140 に答える
4

また、64ビットシステムを使用している場合、EDXは64ビットレジスタであるRDXレジスタの下位32ビットです。

于 2013-03-15T21:22:39.163 に答える
1

あなたはそれをポインタと考えることができます:

long theRealRDX;
long *     rdx = &theRealRDX;
int  *     edx = (int*)&theRealRDX;
short int * dx = (short int*)&theRealRDX;
char *      dl = (char*)&theRealRDX;

nrzコメントで言及されている大部分の消去を除いて

于 2013-03-15T21:42:24.340 に答える