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

CLR

CLR

クリア (くりあ)


CLR.B <ea>

68000/68010 の命令

命令コード

アドレス1514131211109876543210
+00100001000モードレジスタr

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

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

コンディションコード

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

解説

  1. <ea> がメモリのとき <ea> が指すバイトを読み出します。
  2. $00 を <ea> が指すバイト(Dr のとき最下位バイト)へ書き込みます。
  3. 結果に応じてフラグを操作します。

<ea> が Dr のとき Dr の最下位バイト以外の部分は変化しません。

68000/68010 の CLR.B <ea> の動作は TST.B <ea>;MOVE.B #$00,<ea> とほぼ同じです。


CLR.B <ea>

68020/68030/68040/68060 の命令

命令コード

アドレス1514131211109876543210
+00100001000モードレジスタr

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

モードレジスタ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

コンディションコード

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

解説

  1. $00 を <ea> が指すバイト(Dr のとき最下位バイト)へ書き込みます。
  2. 結果に応じてフラグを操作します。

<ea> が Dr のとき Dr の最下位バイト以外の部分は変化しません。

68020/68030/68040/68060 の CLR.B <ea> の動作は MOVE.B #$00,<ea> とほぼ同じです。


CLR.W <ea>

68000/68010 の命令

命令コード

アドレス1514131211109876543210
+00100001001モードレジスタr

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

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

コンディションコード

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

解説

  1. <ea> がメモリのとき <ea> が指すワードを読み出します。
  2. $0000 を <ea> が指すワード(Dr のとき下位ワード)へ書き込みます。
  3. 結果に応じてフラグを操作します。

<ea> が Dr のとき Dr の上位ワードは変化しません。

68000/68010 の CLR.W <ea> の動作は TST.W <ea>;MOVE.W #$00,<ea> とほぼ同じです。


CLR.W <ea>

68020/68030/68040/68060 の命令

命令コード

アドレス1514131211109876543210
+00100001001モードレジスタr

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

モードレジスタ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

コンディションコード

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

解説

  1. $0000 を <ea> が指すワード(Dr のとき下位ワード)へ書き込みます。
  2. 結果に応じてフラグを操作します。

<ea> が Dr のとき Dr の上位ワードは変化しません。

68020/68030/68040/68060 の CLR.W <ea> の動作は MOVE.W #$00,<ea> とほぼ同じです。


CLR.L <ea>

68000/68010 の命令

命令コード

アドレス1514131211109876543210
+00100001010モードレジスタr

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

モードレジスタr<ea>6800068010
000rDr6(1/2)6(1/2)
1(Ar)20(3/2)20(3/2)
1(Ar)+
100-(Ar)22(3/2)22(3/2)
1(d16,Ar)24(4/2)24(4/2)
10(d8,Ar,Xn)26(4/2)26(4/2)
(d8,Ar,Xn*sf)--
(bd,Ar,Xn*sf)
([bd,Ar,Xn*sf],od)
([bd,Ar],Xn*sf,od)
1000(xxx).W24(4/2)24(4/2)
1(xxx).L28(5/2)28(5/2)

コンディションコード

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

解説

  1. <ea> がメモリのとき <ea> が指すロングワードを読み出します。
  2. $00000000 を <ea> が指すロングワード(Dr のとき全体)へ書き込みます。
  3. 結果に応じてフラグを操作します。

68000/68010 の CLR.L <ea> の動作は TST.L <ea>;MOVE.L #$00,<ea> とほぼ同じです。


CLR.L <ea>

68020/68030/68040/68060 の命令

命令コード

アドレス1514131211109876543210
+00100001010モードレジスタr

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

モードレジスタ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

コンディションコード

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

解説

  1. $00000000 を <ea> が指すロングワード(Dr のとき全体)へ書き込みます。
  2. 結果に応じてフラグを操作します。

68020/68030/68040/68060 の CLR.L <ea> の動作は MOVE.L #$00,<ea> とほぼ同じです。


CLR.W Ar

68000/68010/68020/68030/68040/68060 の命令 SUBA.W Ar,Ar の別名

命令コード

アドレス1514131211109876543210
+01001レジスタr011001レジスタr

実行時間

680006801068020680306804068060
8(1/0)8(1/0)🚧🚧🚧🚧

コンディションコード

フラグ入力出力
X使用しない変化しない
N
Z
V
C

解説

  1. Ar の下位ワードを読み出して Yw とします。
  2. Yw をロングワードに符号拡張したものを Yl とします。
  3. Ar の全体を読み出して Xl とします。
  4. Xl から Yl を引いた結果を Zl とします。
  5. Zl を Ar の全体へ書き込みます。

オペレーションサイズはワードですが Ar の全体が変化します。

フラグは変化しません。

Ar の下位ワードがクリアされます。MOVEA.W #$0000,Ar と違って Ar の上位ワードはクリアされません。


CLR.L Ar

68000/68010/68020/68030/68040/68060 の命令 SUBA.L Ar,Ar の別名

命令コード

アドレス1514131211109876543210
+01001レジスタr111001レジスタr

実行時間

680006801068020680306804068060
8(1/0)8(1/0)🚧🚧🚧🚧

コンディションコード

フラグ入力出力
X使用しない変化しない
N
Z
V
C

解説

Ar の全体がクリアされます。

フラグは変化しません。