2

こんにちは私は 8086 のアセンブリ コードを書いていますが、たとえば CPU がどのように区別されるのか疑問に思っています

AND AX, [メモリアドレス] および AND AX, メモリアドレス

そのアドレスの内容に置き換える必要があることを示すために [] を前後に付けていますが、CPU はそのような命令を認識しています。

00 01 1101001

値 1101001 を追加する必要があるか、アドレス 1101001 の内容を追加する必要があるかをどのように判断しますか。

複数の ADD コマンドがあり、それらのオペコードは (ADDTHECONTENTS と ADDTHEVALUE) のように異なると考えていますが、a86 ではセマンティクスを [] 構文と簡単に区別できるため、単に ADD と言うことができます。これは論理的に思えますが、それについてはよくわからないので、さまざまなアドレッシング モードに対応する命令のオペコードがたくさんあるかどうかを尋ねたかったのです。

4

1 に答える 1

1

違いはオペコードにあります。複数のADDオペコード (数値 0、1、2、3、4、5) があり、期待される引数の長さ、および引数の処理方法が正確に異なります。

于 2012-06-02T21:17:15.480 に答える