質問

私はmasm32アセンブリで乗算して分割する方法の簡単な理解の評価のためにインターネット上で見てきました。私の質問は:

  1. 乗算される数値はどこに配置する必要がありますか?

  2. 分割されている数字はどこに配置する必要がありますか?

  3. 残りは部門のどこに行くのですか?

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

ありがとう!,

Progrmr

役に立ちましたか?

解決

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

だから、あなたが本当にマニュアルを見ている気がしない場合に備えて :

  1. 乗算のオペランドの1つは、乗算のオペランドに配置する必要があります。 EAX を使用している場合は登録してください MUL.あなたが使用している場合、これはもう少し柔軟です IMUL ソースレジスタと宛先レジスタを指定することができます。
  2. 分割される数値は、32ビットモードでは常に64ビットの数値です。高いビットはに入ります EDX, 、下位ビットはに入るが EAX.
  3. 残りは常に次の場所に配置されます EDX.
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top