2012-02-24 9 views
0

X86の16進コード表現をデコードしてアセンブリに戻します。 ISA manual 2CのセクションA.2.1には、アドレッシング方法の略語(Page A-2 Vol。2C)があります。誰でも私にabbr Eとabbr Mの違いは何か説明できますか?IA-32アーキテクチャのabbr Eとabbr Mの相違点ソフトウェア開発者用マニュアル2C

E - ModR/Mバイトがオペコードの後に​​続き、オペランドを指定します。 オペランドは、汎用レジスタまたはメモリアドレスのいずれかです。 がメモリアドレスの場合、アドレスはセグメント レジスタと、ベースレジスタ、インデックス レジスタ、スケーリングファクタ、ディスプレースメントのいずれかの値から計算されます。

M - ModR/Mバイトは、メモリのみを参照する場合があります(たとえば、BOUND、LES、 LDS、LSS、LFS、LGS、CMPXCHG8B)。

答えて

1

E缶は、任意のソースまたは宛先は、メモリまたはレジスタをアドレス指定できないことを意味M専用メモリアドレスを可能にするので、レジスタ(例えばMOV EAX, DWORD PTR DS:[ESI]またはMOV EAX, ESI)、に存在することができ、それはメモリが指すアドレスができ(CMPXCHG8b ESIは無効です。ここでは、CMPXCHG8b QWORD PTR DS:[ESI]が有効です)。

関連する問題