x86アセンブリ-masm32:乗算と除算の絶対的な内訳[閉じました]
質問
私はmasm32アセンブリで乗算して分割する方法の簡単な理解の評価のためにインターネット上で見てきました。私の質問は:
乗算される数値はどこに配置する必要がありますか?
分割されている数字はどこに配置する必要がありますか?
残りは部門のどこに行くのですか?
誰かが私のためにこれに答えてもらえますか?
ありがとう!,
Progrmr
解決
この質問への答えは、の適切なページを見ることで非常に簡単に見つけることができます Intel64およびIA-32命令セットリファレンス.この場合、あなたは探しています MUL
と DIV
命令(符号なしオペランドで動作している場合)または IMUL
と IDIV
符号付き整数の乗算と除算に使用される命令。
だから、あなたが本当にマニュアルを見ている気がしない場合に備えて :
- 乗算のオペランドの1つは、乗算のオペランドに配置する必要があります。
EAX
を使用している場合は登録してくださいMUL
.あなたが使用している場合、これはもう少し柔軟ですIMUL
ソースレジスタと宛先レジスタを指定することができます。 - 分割される数値は、32ビットモードでは常に64ビットの数値です。高いビットはに入ります
EDX
, 、下位ビットはに入るがEAX
. - 残りは常に次の場所に配置されます
EDX
.
所属していません StackOverflow