Emerald@ ウィキ

乗算と除算


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

「フラグレジスタと条件分岐」でやったようにcmp命令とジャンプ命令を駆使すれば乗算、除算をすることはできます。
しかし乗算、除算専用にそれぞれ命令がちゃんと存在します。
※CPUによってはサポートしていない場合もある。

乗算



乗算をするには 「mul」 命令を使います。
mul命令に16ビットのサイズが渡された場合は渡された値とAXレジスタを乗算してその解の上位16ビットをDXレジスタへ下位16ビットをAXレジスタへ格納する。
mul命令は符号なし乗算なのでマイナスには対応していない。


除算



除算をするには 「dev」 命令を使います。
基本的に乗算と同じです。AXレジスタに商と余りが入る。
16ビットのレジスタが渡された場合、AXレジスタに商が、DXレジスタに余りが入ります。
取得中です。