| MUL 算術演算命令 <<L1R>>,<<L1>>,<<L2>> |
【ニモニックとオペランド】
【機能】
Multiply
乗算
【オプション】
なし
【命令フォーマットと表記法】
【解説】
srcとdestを乗算し、結果をdestに入れます。
演算は符号付きで行われます。
この命令では、結果のサイズが被乗数のサイズと同じになります。
オーバフローが発生した場合、正しい結果の下位ビットがdestにセットされ、それに応じてM_flagとZ_flagがセットされます。
たとえば、R0 = H'10000で
MUL.W #H'10000, R0
を実行したとき、積はH'100000000ですから、R0 = 0(結果の下位ビット)、V_flag = 1、Z_flag = 1となります。
【フラグ変化】
【発生EIT】
RIE src [Gen/r], dest [Gen/m]のアドレッシングモード違反 RIE sx = 11, sy = 11
【使用例】
汎用レジスタR3の値(H'ab)にR12の値(H'fc)を乗算します。演算結果(H'0154)の下位8ビット(H'54)をR3にストアします。
![]()
オーバフローが発生しますので、V_flagがセットされます。