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

SBCD

SBCD

2 進化 10 進減算 (えすびーしーでぃー)


SBCD.B Dr,Dq

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

命令コード

アドレス1514131211109876543210
+01000レジスタq100000レジスタr

実行時間

680006801068020680306804068060
6(1/0)6(1/0)🚧🚧🚧🚧

コンディションコード

フラグ入力出力説明
X使用しない変化するボローがあるときセット、さもなくばクリア
N未定義68000/68030 は結果の最上位ビット
68060 は変化しない
Z変化する結果が 0 でないときクリア、さもなくば変化しない
V未定義68000 は補正値の減算でオーバーフローしたときセット、さもなくばクリア
68030 は常にクリア
68060 は変化しない
C変化するボローがあるときセット、さもなくばクリア

解説

  1. Dr の最下位バイトを読み出して Yb とします。
  2. Dq の最下位バイトを読み出して Xb とします。
  3. Xb から Yb と X フラグを 2 進化 10 進数として引いた結果を Zb とします。
  4. 結果に応じてフラグを操作します。
  5. Zb を Dq の最下位バイトへ書き込みます。

Dq の最下位バイト以外の部分は変化しません。


SBCD.B -(Ar),-(Aq)

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

命令コード

アドレス1514131211109876543210
+01000レジスタq100001レジスタr

実行時間

680006801068020680306804068060
18(3/0)18(3/0)🚧🚧🚧🚧

コンディションコード

フラグ入力出力説明
X使用しない変化するボローがあるときセット、さもなくばクリア
N未定義68000/68030 は結果の最上位ビット
68060 は変化しない
Z変化する結果が 0 でないときクリア、さもなくば変化しない
V未定義68000 は補正値の減算でオーバーフローしたときセット、さもなくばクリア
68030 は常にクリア
68060 は変化しない
C変化するボローがあるときセット、さもなくばクリア

解説

  1. Ar から 1 を引きます。
  2. Ar が指すバイトを読み出して Yb とします。
  3. Aq から 1 を引きます。
  4. Aq が指すバイトを読み出して Xb とします。
  5. Xb から Yb と X フラグを 2 進化 10 進数として引いた結果を Zb とします。
  6. 結果に応じてフラグを操作します。
  7. Zb を Aq が指すバイトへ書き込みます。