2.2 演算
2.3 シフト、ローテート、ニブル処理
TLCS-870/C1
ROLD A,(IX)
1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 – – – – – 8
インデックスレジスタIXで指定されるアドレスの内容と、Aレジスタの下位4ビットの内容を連結した12ビットデータを左へ4ビッ ト単位にローテーションします。なお、Aレジスタの上位4ビットの内容は変化しません。
ROLD A,(IY)
1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 0 1 – – – – – 8
インデックスレジスタIYで指定されるアドレスの内容と、Aレジスタの下位4ビットの内容を連結した12ビットデータを左へ4ビッ ト単位にローテーションします。なお、Aレジスタの上位4ビットの内容は変化しません。
ROLD A,(IX+d)
1 1 0 1 0 1 0 0 d d d d d d d d 1 1 1 1 0 1 1 0 1 – – – – – 10
インデックスレジスタIXの内容にオブジェクトコード中の8ビットデータdを符号拡張して加算した値で指定されるアドレスの内容 と、Aレジスタの下位4ビットの内容を連結した12ビットデータを左へ4ビット単位にローテーションします。なお、Aレジスタの上 位4ビットの内容は変化しません。
ROLD A,(IY+d)
1 1 0 1 0 1 0 1 d d d d d d d d 1 1 1 1 0 1 1 0 1 – – – – – 10
インデックスレジスタIYの内容にオブジェクトコード中の8ビットデータdを符号拡張して加算した値で指定されるアドレスの内容 と、Aレジスタの下位4ビットの内容を連結した12ビットデータを左へ4ビット単位にローテーションします。なお、Aレジスタの上 位4ビットの内容は変化しません。
ROLD A,(SP+d)
1 1 0 1 0 1 1 0 d d d d d d d d 1 1 1 1 0 1 1 0 1 – – – – – 10
スタックポインタSPの内容にオブジェクトコード中の8ビットデータdを符号拡張して加算した値で指定されるアドレスの内容と、
Aレジスタの下位4ビットの内容を連結した12ビットデータを左へ4ビット単位にローテーションします。なお、Aレジスタの上位4 ビットの内容は変化しません。
ROLD A,(HL+d)
1 1 0 1 0 1 1 1 d d d d d d d d 1 1 1 1 0 1 1 0 1 – – – – – 10
レジスタペアHLの内容にオブジェクトコード中の8ビットデータdを符号拡張して加算した値で指定されるアドレスの内容と、Aレ ジスタの下位4ビットの内容を連結した12ビットデータを左へ4ビット単位にローテーションします。なお、Aレジスタの上位4 ビットの内容は変化しません。
ROLD A,(HL+C)
1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 0 1 – – – – – 10
レジスタペアHLの内容にCレジスタの内容を符号拡張して加算した値で指定されるアドレスの内容と、Aレジスタの下位4ビットの 内容を連結した12ビットデータを左へ4ビット単位にローテーションします。なお、Aレジスタの上位4ビットの内容は変化しませ ん。
ROLD A,(+SP)
1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 – – – – – 9
スタックポインタSPをインクリメントし、その値で指定されるアドレスのメモリ内容とAレジスタの下位4ビットの内容を連結し た12ビットデータを左へ4ビット単位にローテーションします。なお、Aレジスタの上位4ビットの内容は変化しません。
ROLD A,(PC+A)注
0 1 0 0 1 1 1 1 1 1 1 1 0 1 1 0 1 – – – – – 10
プログラムカウンタPCの内容にAレジスタの内容を符号拡張して加算した値で指定されるアドレスの内容と、Aレジスタの下位4 ビットの内容を連結した12ビットデータを左へ4ビット単位にローテーションします。なお、Aレジスタの上位4ビットの内容は変 化しません。
RORD A,(x)
1 1 1 0 0 0 0 0 x x x x x x x x 1 1 1 1 0 1 1 1 1 – – – – – 9
オブジェクトコード中のxで直接指定されるアドレス (0x0000 ~ 0x00FF番地) の内容と、Aレジスタの下位4ビットの内容を連結し た12ビットデータを右へ4ビット単位にローテーションします。なお、Aレジスタの上位4ビットの内容は変化しません。
例:Aレジスタが0x12, 0x0087番地の内容が0x56のとき、RORD A, (0x87) 命令を実行すると、
Aレジスタが0x16, 0x0087番地の内容が0x25となります。
ニモニック オブジェクトコード (2進) フラグ サイ
クル オペレーション J Z C H S V
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (IX)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (IY)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (IX + d)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (IY + d)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (SP + d)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (HL + d)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (HL + C)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (+SP)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (PC + A)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (x)
RA001
RORD A,(vw) 1 1
1 1 1 1
0 1
0 0 0 1
0 1
1 1
w w w w w w w w v v v v v v v 1 – – – – – 10
オブジェクトコード中のvwで直接指定されるアドレス (0x0000 ~ 0xFFFF番地) の内容と、Aレジスタの下位4ビットの内容を連結し た12ビットデータを右へ4ビット単位にローテーションします。なお、Aレジスタの上位4ビットの内容は変化しません。
RORD A,(DE)
1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 – – – – – 8
レジスタペアDEで指定されるアドレスの内容と、Aレジスタの下位4ビットの内容を連結した12ビットデータを右へ4ビット単位に ローテーションします。なお、Aレジスタの上位4ビットの内容は変化しません。
RORD A,(HL)
1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 – – – – – 8
レジスタペアHLで指定されるアドレスの内容と、Aレジスタの下位4ビットの内容を連結した12ビットデータを右へ4ビット単位に ローテーションします。なお、Aレジスタの上位4ビットの内容は変化しません。
RORD A,(IX)
1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 – – – – – 8
インデックスレジスタIXで指定されるアドレスの内容と、Aレジスタの下位4ビットの内容を連結した12ビットデータを右へ4ビッ ト単位にローテーションします。なお、Aレジスタの上位4ビットの内容は変化しません。
RORD A,(IY)
1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 1 – – – – – 8
インデックスレジスタIYで指定されるアドレスの内容と、Aレジスタの下位4ビットの内容を連結した12ビットデータを右へ4ビッ ト単位にローテーションします。なお、Aレジスタの上位4ビットの内容は変化しません。
RORD A,(IX+d)
1 1 0 1 0 1 0 0 d d d d d d d d 1 1 1 1 0 1 1 1 1 – – – – – 10
インデックスレジスタIXの内容にオブジェクトコード中の8ビットデータdを符号拡張して加算した値で指定されるアドレスの内容 と、Aレジスタの下位4ビットの内容を連結した12ビットデータを右へ4ビット単位にローテーションします。なお、Aレジスタの上 位4ビットの内容は変化しません。
RORD A,(IY+d)
1 1 0 1 0 1 0 1 d d d d d d d d 1 1 1 1 0 1 1 1 1 – – – – – 10
インデックスレジスタIYの内容にオブジェクトコード中の8ビットデータdを符号拡張して加算した値で指定されるアドレスの内容 と、Aレジスタの下位4ビットの内容を連結した12ビットデータを右へ4ビット単位にローテーションします。なお、Aレジスタの上 位4ビットの内容は変化しません。
RORD A,(SP+d)
1 1 0 1 0 1 1 0 d d d d d d d d 1 1 1 1 0 1 1 1 1 – – – – – 10
スタックポインタSPの内容にオブジェクトコード中の8ビットデータdを符号拡張して加算した値で指定されるアドレスの内容と、
Aレジスタの下位4ビットの内容を連結した12ビットデータを右へ4ビット単位にローテーションします。なお、Aレジスタの上位4 ビットの内容は変化しません。
RORD A,(HL+d)
1 1 0 1 0 1 1 1 d d d d d d d d 1 1 1 1 0 1 1 1 1 – – – – – 10
レジスタペアHLの内容にオブジェクトコード中の8ビットデータdを符号拡張して加算した値で指定されるアドレスの内容と、Aレ ジスタの下位4ビットの内容を連結した12ビットデータを右へ4ビット単位にローテーションします。なお、Aレジスタの上位4 ビットの内容は変化しません。
RORD A,(HL+C)
1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 – – – – – 10
レジスタペアHLの内容にCレジスタの内容を符号拡張して加算した値で指定されるアドレスの内容と、Aレジスタの下位4ビットの 内容を連結した12ビットデータを右へ4ビット単位にローテーションします。なお、Aレジスタの上位4ビットの内容は変化しませ ん。
RORD A,(+SP)
1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 – – – – – 9
スタックポイントをインクリメントし、その値で指定されるアドレスのメモリの内容と、Aレジスタの下位4ビットの内容を連結し た12ビットデータを右へ4ビット単位にローテーションします。なお、Aレジスタの上位4ビットの内容は変化しません。
ニモニック オブジェクトコード (2進) フラグ サイ
クル オペレーション J Z C H S V
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (vw)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (DE)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (HL)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (IX)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (IY)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (IX + d)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (IY + d)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (SP + d)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (HL + d)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (HL + C)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (+SP)
2.3 シフト、ローテート、ニブル処理
TLCS-870/C1
注) (PC+A)を使用した命令には制限があります。詳細は、TLCS-870/C1シリーズ 命令セット 1.4アドレッシングモードを参
照してください。
RORD A,(PC+A)注
0 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 – – – – – 10
プログラムカウンタPCの内容にAレジスタの内容を符号拡張して加算した値で指定されるアドレスの内容と、Aレジスタの下位4 ビットの内容を連結した12ビットデータを右へ4ビット単位にローテーションします。なお、Aレジスタの上位4ビットの内容は変 化しません。
ニモニック オブジェクトコード (2進) フラグ サイ
クル オペレーション J Z C H S V
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
(4 )
A (PC + A)