-4

私はインターネット全体で、masm32アセンブリで乗算と除算を行う方法のわかりやすい評価を探してきました。私の質問は次のとおりです。

  1. 掛け算する数字はどこに置けばいいですか?

  2. 分割された数字はどこに配置すればよいですか?

  3. 残りは部門のどこに行きますか?

誰かが私のためにこれに答えてもらえますか?

ありがとう、

プログラム

4

1 に答える 1

3

この質問に対する答えは、Intel64およびIA-32命令セットリファレンスの適切なページを参照することで非常に簡単に見つけることができます。この場合、符号付き整数の乗算と除算に使用されるMULDIV命令(符号なしオペランドを操作している場合)または命令IMULを探しています。IDIV

だから、もしあなたが本当にマニュアルを見たくない場合は:

  1. を使用している場合は、乗算のオペランドの1つをEAXレジスタに配置する必要がありますMULIMULソースレジスタとデスティネーションレジスタを指定できる命令を使用している場合、これはもう少し柔軟性があります。
  2. 除算される数値は、32ビットモードでは常に64ビットの数値です。上位ビットはにEDX、下位ビットはになりEAXます。
  3. 残りは常にに配置されEDXます。
于 2012-05-21T12:04:18.697 に答える