Emerald@ ウィキ
乗算と除算
最終更新:
emerald-device
-
view
「フラグレジスタと条件分岐」でやったようにcmp命令とジャンプ命令を駆使すれば乗算、除算をすることはできます。
しかし乗算、除算専用にそれぞれ命令がちゃんと存在します。
※CPUによってはサポートしていない場合もある。
しかし乗算、除算専用にそれぞれ命令がちゃんと存在します。
※CPUによってはサポートしていない場合もある。
乗算
乗算をするには「mul」命令を使います。
mul命令に16ビットのサイズが渡された場合は渡された値とAXレジスタを乗算してその解の上位16ビットをDXレジスタへ下位16ビットをAXレジスタへ格納する。
mul命令は符号なし乗算なのでマイナスには対応していない。
mul命令に16ビットのサイズが渡された場合は渡された値とAXレジスタを乗算してその解の上位16ビットをDXレジスタへ下位16ビットをAXレジスタへ格納する。
mul命令は符号なし乗算なのでマイナスには対応していない。
除算
除算をするには「dev」命令を使います。
基本的に乗算と同じです。AXレジスタに商と余りが入る。
16ビットのレジスタが渡された場合、AXレジスタに商が、DXレジスタに余りが入ります。
基本的に乗算と同じです。AXレジスタに商と余りが入る。
16ビットのレジスタが渡された場合、AXレジスタに商が、DXレジスタに余りが入ります。