24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

AAD ─ ASCII Adjust AX Before Division オペコード 命令 説明 D5 0A AAD 除算前に AX を ASCII 調整する。 説明 調整結果に対して除算を行った場合に正しいアンパ ッ ク BCD 値が生じ る よ う に、 2 桁の アンパッ ク BCD 数 (AL レジスタの下位桁と AH レ ジ ス タ の上位桁 ) を調整する。 AAD 命令は、 AX レジスタの調整結果の値をアンパックBCD 値で除算 (2 進除算 ) する DIV 命令の直前に実行した と き に限 り 有効である。 AAD 命令は、 AL レジスタの値を (AL + (10*AH)) に設定し、 次に AH レジスタを 00H に クリアする。 したがって、 AX レジスタの値は、 AL および AH レジスタの元のパックさ れていない 2 桁の数に等価な 2 進値に等しい。 操作 tempAL ← AL; tempAH ← AH; AL ← (tempAL + (tempAH ∗ imm8)) AND FFH; AH ← 0 即値 (imm8) は命令の第 2 バイ ト から与えられる。 この値は、 通常のアセンブリでは 0AH (10 進数では 10) である。 ただし、 この即値を変更して、 異なる結果を得るこ と もできる。 影響を受けるフラグ SF、 ZF、 PF フラグは、 結果に従ってセット される。 OF、 AF、 CF フラグは未定義であ る。 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト 例外 ( すべての操作モード ) なし。 NaT レ ジ ス タ参照アボ ー ト 。 3:382 第 3 巻 : IA-32 基本命令リファレンス

AAM ─ ASCII Adjust AX After Multiply オペコード 命令 説明 D4 0A AAM 乗算後に AX を ASCII 調整する。 説明 2 つのアンパ ッ ク BCD 値間の乗算結果を調整して、 1 対のアンパ ッ ク BCD 値を作成す る。 AX レジスタは、 この命令の暗黙のソース兼デスティネーション ・オペランドであ る。 AAM 命令は、 2 つのアンパ ッ ク BCD 値を乗算 (2 進乗算 ) し、 ワ ー ド の結果を AX レジスタにストアする MUL 命令の次に実行した と き に限 り 有効であ る。 次に、 AAM 命 令が AX レ ジ ス タ の内容を調整して、 2 桁のアンパ ッ ク BCD 結果に ま と める。 操作 tempAL ← AL; AH ← tempAL / imm8; AL ← tempAL MOD imm8; 即値 (imm8) は命令の第 2 バイ ト から与えられる。 この値は、 通常のアセンブリでは 0AH (10 進数では 10) である。 ただし、 この即値を変更して、 異なる結果を得るこ と もできる。 影響を受けるフラグ SF、 ZF、 PF フ ラ グが結果に従 っ てセ ッ ト される。 OF、 AF、 CF フ ラ グは未定義。 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト 例外 ( すべての操作モード ) なし。 NaT レ ジ ス タ参照アボ ー ト 。 第 3 巻 : IA-32 基本命令リファレンス 3:383

AAD ─ ASCII Adjust AX Before Division<br />

オペコード 命令 説明<br />

D5 0A AAD 除算前に AX を ASCII 調整する。<br />

説明<br />

調整結果に対して除算を行った場合に正しいアンパ ッ ク BCD 値が生じ る よ う に、 2 桁の<br />

アンパッ ク BCD 数 (AL レジスタの下位桁と AH レ ジ ス タ の上位桁 ) を調整する。 AAD<br />

命令は、 AX レジスタの調整結果の値をアンパックBCD 値で除算 (2 進除算 ) する DIV<br />

命令の直前に実行した と き に限 り 有効である。<br />

AAD 命令は、 AL レジスタの値を (AL + (10*AH)) に設定し、 次に AH レジスタを 00H に<br />

クリアする。 したがって、 AX レジスタの値は、 AL および AH レジスタの元のパックさ<br />

れていない 2 桁の数に等価な 2 進値に等しい。<br />

操作<br />

tempAL ← AL;<br />

tempAH ← AH;<br />

AL ← (tempAL + (tempAH ∗ imm8)) AND FFH;<br />

AH ← 0<br />

即値 (imm8) は命令の第 2 バイ ト から与えられる。 この値は、 通常のアセンブリでは 0AH<br />

(10 進数では 10) である。 ただし、 この即値を変更して、 異なる結果を得るこ と もできる。<br />

影響を受けるフラグ<br />

SF、 ZF、 PF フラグは、 結果に従ってセット される。 OF、 AF、 CF フラグは未定義であ<br />

る。<br />

追加の Itanium ベース・システム環境例外<br />

Itanium アーキテクチャ ・<br />

レジスタ ・ フォルト<br />

例外 ( すべての操作モード )<br />

なし。<br />

NaT レ ジ ス タ参照アボ ー ト 。<br />

3:382 第 3 巻 : IA-32 基本命令リファレンス

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!