アセンブリ

【AT&T】mulとdivの挙動を実際にコードを実行して調べてみる

アセンブリコードを書いている時に、ときどきmulとdivがどういう使い方をするのかを忘れてしまうことがあるので、実際にコードを書いて挙動を調べてみました。

mulの場合(掛け算・乗算)

この場合だと、raxが10になります。

これから、r10とraxかけた結果がraxに入っているということが分かります。

これから、r10とraxをかけた結果はraxに入りr10はそのままだということが分かります。

これから、raxとraxをかけた結果がraxに入っているということが分かります。

divの場合(割り算・乗算)

これから、raxが割られる数でr10が割る数だということが分かります。

また、raxに割り算の商が入っていることが分かります。

これから、r10は割り算で使用された後でも値が保存されていることが分かります。