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

BCLR

BCLR

ビットクリア (びーくりあ)


BCLR.L #<data>,Dr

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

命令コード

アドレス1514131211109876543210
+00000100010000レジスタr
+200000000000データ

実行時間

680006801068020680306804068060
下位ワード12
上位ワード14
(2/0)
下位ワード12
上位ワード14
(2/0)
🚧🚧🚧1(2/0)

コンディションコード

フラグ入力出力説明
X使用しない変化しない
N
Z変化するテストしたビットが 0 だったときセット、さもなくばクリア
V変化しない
C

解説

  1. 0〜31 の <data> を Yl とします。
  2. Dr の全体を読み出して Xl とします。
  3. Xl のビット Yl をテストしてからクリアします。ビット番号は 0 が最下位、31 が最上位です。
  4. Zl を Dr の全体へ書き込みます。
  5. テストの結果に応じてフラグを操作します。

BCLR.B #<data>,<ea>

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

命令コード

アドレス1514131211109876543210
+00000100010モードレジスタr
+20000000000000データ

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

モードレジスタr<ea>680006801068020680306804068060
010r(Ar)16(3/1)16(3/1)🚧🚧🚧1(3/1)
1(Ar)+
100-(Ar)18(3/1)18(3/1)
1(d16,Ar)20(4/1)20(4/1)2(4/1)
10(d8,Ar,Xn)22(4/1)22(4/1)----
(d8,Ar,Xn*sf)--🚧🚧🚧2(4/1)
(bd,Ar,Xn*sf)3(4〜6/1)
([bd,Ar,Xn*sf],od)5(6〜10/1)
([bd,Ar],Xn*sf,od)
1000(xxx).W20(4/1)20(4/1)2(4/1)
1(xxx).L24(5/1)24(5/1)2(5/1)

コンディションコード

フラグ入力出力説明
X使用しない変化しない
N
Z変化するテストしたビットが 0 だったときセット、さもなくばクリア
V変化しない
C

解説

  1. 0〜7 の <data> を Yb とします。
  2. <ea> が指すバイトを読み出して Xb とします。
  3. Xb のビット Yb をテストしてからクリアします。ビット番号は 0 が最下位、7 が最上位です。
  4. Zb を <ea> が指すバイトへ書き込みます。
  5. テストの結果に応じてフラグを操作します。

BCLR.L Dq,Dr

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

命令コード

アドレス1514131211109876543210
+00000レジスタq110000レジスタr

実行時間

680006801068020680306804068060
下位ワード8
上位ワード10
(1/0)
下位ワード8
上位ワード10
(1/0)
🚧🚧🚧1(1/0)

コンディションコード

フラグ入力出力説明
X使用しない変化しない
N
Z変化するテストしたビットが 0 だったときセット、さもなくばクリア
V変化しない
C

解説

  1. Dq の下位 5 ビットを Yl とします。
  2. Dr の全体を読み出して Xl とします。
  3. Xl のビット Yl をテストしてからクリアします。ビット番号は 0 が最下位、31 が最上位です。
  4. Zl を Dr の全体へ書き込みます。
  5. テストの結果に応じてフラグを操作します。

BCLR.B Dq,<ea>

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

命令コード

アドレス1514131211109876543210
+00000レジスタq110モードレジスタr

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

モードレジスタr<ea>680006801068020680306804068060
010r(Ar)12(2/1)12(2/1)🚧🚧🚧1(2/1)
1(Ar)+
100-(Ar)14(2/1)14(2/1)
1(d16,Ar)16(3/1)16(3/1)1(3/1)
10(d8,Ar,Xn)18(3/1)18(3/1)----
(d8,Ar,Xn*sf)--🚧🚧🚧1(3/1)
(bd,Ar,Xn*sf)2(3〜5/1)
([bd,Ar,Xn*sf],od)4(5〜9/1)
([bd,Ar],Xn*sf,od)
1000(xxx).W16(3/1)16(3/1)1(3/1)
1(xxx).L20(4/1)20(4/1)1(4/1)

コンディションコード

フラグ入力出力説明
X使用しない変化しない
N
Z変化するテストしたビットが 0 だったときセット、さもなくばクリア
V変化しない
C

解説

  1. Dq の下位 3 ビットを Yb とします。
  2. <ea> が指すバイトを読み出して Xb とします。
  3. Xb のビット Yb をテストしてからクリアします。ビット番号は 0 が最下位、7 が最上位です。
  4. Zl を <ea> が指すロングワードへ書き込みます。
  5. テストの結果に応じてフラグを操作します。