countersince January 6, 2001X68000 LIBRARYEnglish
更新日: 2023 年 7 月 6 日
X68000 LIBRARY > 資料室 > 命令セットリファレンス(準備中) > M > MULU

MULU

MULU

符号なし乗算 (まるゆー)


MULU.L <ea>,Dl

68020/68030/68040/68060 の命令

命令コード

アドレス1514131211109876543210
+00100110000モードレジスタr
+20レジスタl000000000レジスタh

レジスタ h は使用しない

アドレッシングモードと実行時間

モードレジスタr<ea>68020680306804068060
000rDr🚧🚧🚧🚧
1(Ar)
1(Ar)+
100-(Ar)
1(d16,Ar)
10(d8,Ar,Xn)----
(d8,Ar,Xn*sf)🚧🚧🚧🚧
(bd,Ar,Xn*sf)
([bd,Ar,Xn*sf],od)
([bd,Ar],Xn*sf,od)
1000(xxx).W
1(xxx).L
10(d16,PC)
1(d8,PC,Xn)----
(d8,PC,Xn*sf)🚧🚧🚧🚧
(bd,PC,Xn*sf)
([bd,PC,Xn*sf],od)
([bd,PC],Xn*sf,od)
100#<data>

コンディションコード

フラグ入力出力説明
X使用しない変化しない
N変化する🚧
Z
V
C常にクリア

解説

🚧


MULU.L <ea>,Dh:Dl

68020/68030/68040/68060(ソフトウェア)の命令

命令コード

アドレス1514131211109876543210
+00100110000モードレジスタr
+20レジスタl010000000レジスタh

レジススタ h とレジスタ l が同じレジスタのとき結果は未定義

アドレッシングモードと実行時間

モードレジスタr<ea>68020680306804068060
000rDr🚧🚧🚧S
1(Ar)
1(Ar)+
100-(Ar)
1(d16,Ar)
10(d8,Ar,Xn)----
(d8,Ar,Xn*sf)🚧🚧🚧S
(bd,Ar,Xn*sf)
([bd,Ar,Xn*sf],od)
([bd,Ar],Xn*sf,od)
1000(xxx).W
1(xxx).L
10(d16,PC)
1(d8,PC,Xn)----
(d8,PC,Xn*sf)🚧🚧🚧S
(bd,PC,Xn*sf)
([bd,PC,Xn*sf],od)
([bd,PC],Xn*sf,od)
100#<data>

コンディションコード

フラグ入力出力説明
X使用しない変化しない
N変化する🚧
Z
V
C常にクリア

解説

🚧


MULU.W <ea>,Dq

68000/68010/68020/68030/68040/68060 の命令

命令コード

アドレス1514131211109876543210
+01100レジスタq011モードレジスタr

アドレッシングモードと実行時間

モードレジスタr<ea>680006801068020680306804068060
000rDr38+2n※(1/0)38+2n※(1/0)🚧🚧🚧🚧
1(Ar)42+2n※(2/0)42+2n※(2/0)
1(Ar)+
100-(Ar)44+2n※(2/0)44+2n※(2/0)
1(d16,Ar)46+2n※(3/0)46+2n※(3/0)
10(d8,Ar,Xn)48+2n※(3/0)48+2n※(3/0)----
(d8,Ar,Xn*sf)--🚧🚧🚧🚧
(bd,Ar,Xn*sf)
([bd,Ar,Xn*sf],od)
([bd,Ar],Xn*sf,od)
1000(xxx).W46+2n※(3/0)46+2n※(3/0)
1(xxx).L50+2n※(4/0)50+2n※(4/0)
10(d16,PC)46+2n※(3/0)46+2n※(3/0)
1(d8,PC,Xn)48+2n※(3/0)48+2n※(3/0)----
(d8,PC,Xn*sf)--🚧🚧🚧🚧
(bd,PC,Xn*sf)
([bd,PC,Xn*sf],od)
([bd,PC],Xn*sf,od)
100#<data>42+2n※(2/0)42+2n※(2/0)

※ n はソースに含まれる 1 の数。

コンディションコード

フラグ入力出力説明
X使用しない変化しない
N変化する結果の最上位ビット
Z結果が 0 のときセット、さもなくばクリア
V常にクリア
C

解説

  1. <ea> が指すワード(Dr のとき下位ワード)を読み出して Yw とします。
  2. Dq の下位ワードを読み出して Xw とします。
  3. Xw に Yw を符号なしで掛けた結果を Zl とします。
  4. 結果に応じてフラグを操作します。
  5. Zl を Dq の全体へ書き込みます。