問題一覧
1
CPUは何もせず、プログラムカウンタだけ1増える.このため,ウェイトをするときに用いられる
NOP
2
C1は例外とするが、C2-C4の条件を満たす場合同ROM内のA2A1アドレス部分にジャンプする
JCN
3
ROMにある8[bit]のデータD2D1を取ってきて, インデックスレジスタ対Rに代入するときに用いる
FIM
4
用途1: RAMのアドレスを指定するときに用いる インデックスレジスタ対にある8ビットの信号をRAMアドレスはX2とX3のサイクルで送信 用途2: ROMのチップを指定するときに用いる •ROMの入出力端子を使うために使う •X2サイクルで4001の上位4[bit](インデックスレジスタの上位)を送る •X3サイクルに送られてくる情報をROMは無視
SRC
5
インデックスレジスタ0000の値をROMアドレスのA1とし,同じくインデックスレジスタ0001の値をROMアドレスA2とした時のROMの値を取ってきて,レジスタ対Rに代入 •A3はこの命令と同じアドレス
FIN
6
・インデックスレジスタ対Rにある8[bit]の値をROMのアドレスA1A2としてジャンプ •A3はこの命令のあるアドレス
JIN
7
•指定されたアドレスA3A2A1へ無条件にジャンプ •戻ってくることを想定せず
JUM
8
•指定されたアドレスA3A2A1へ無条件にジャンプ •再びもとのアドレスへ戻ってくることを想定しているため,もとのアドレスをプログラムカウンタのスタックに格納 •戻るにはBBLインストラクションを使う
JMS
9
インデックスレジスタRにある値を1増やす
INC
10
•インデックスレジスタRの値を1増やし,その結果,0でなかったらプログラムカウンタをA3A2A1にし,0であったら通常と同様にプログラムカウンタを1増やして次の命令を行う •A3はこの命令のあるアドレスを指す •主に繰り返し処理を行なうときに用いられる
ISZ
11
•インデックスレジスタRの値とアキュムレータの値を足し合わせ,結果をアキュムレータに代入 •桁上りが発生したらキャリが1になる
ADD
12
•アキュムレータの値からインデックスレジスタRの値を引き,結果をアキュムレータに代入 •桁借りが発生したらキャリが0,発生しなかったら1になる •桁借りが発生した場合,アキュムレータには2の補数表記 •例: 5-12=-7 ⇒ キャリ=0,アキュムレータ=4’b1001
SUB
13
インデックスレジスタRの値をアキュムレータに代入
LD
14
インデックスレジスタRの値とアキュムレータの値を入れ替え
XCH
15
•サブルーチンを呼び出すときスタックに格納しておいたアドレスをポップし,プログラムカウンタへ格納 •多くの場合,Dには戻り値を入れる
BBL
16
アキュムレータに値Dを代入
LDM
17
アキュムレータに書かれている値をRAMのメインメモリ文字へ書き込む
WRM
18
4002(RAM)に備わる出力ポートからアキュムレータの値を出力
WMP
19
4001(ROM)に備わる出力ポートからアキュムレータの値を出力
WRR
20
アキュムレータに書かれている値をRAMのステータス文字0~3へ書き込む
WR0-WR3
21
•アキュムレータからRAM内のメインメモリ文字の値を引き,結果をアキュムレータに代入する •もし桁借りが発生した場合にはキャリが0になる
SBM
22
RAMのメインメモリ文字に書かれている値をアキュムレータへ書き込む
RDM
23
ROMに備わる入力端子情報をアキュムレータへ書き込む
RDR
24
•メインメモリ文字の値とアキュムレータの値を足し,結果をアキュムレータに代入 •もしけた上がりが発生したらキャリが1になる
ADM
25
RAM内のステータス文字0~3の値を読み込み,アキュムレータに代入
RD0-RD3
26
アキュムレータとキャリの値を0にする
CLB
27
キャリの値を0にする
CLC
28
•アキュムレータの値を1増やす •ADDと同様,桁上りが発生したらキャリが1になる
IAC
29
キャリを反転させる
CMC
30
アキュムレータの値を反転させる
CMA
31
キャリを最上位ビットとした,アキュムレータと連結したもの(5[bit])を循環左シフトする
RAL
32
キャリを最上位ビットとした,アキュムレータと連結したもの(5[bit])を循環右シフトする
RAR
33
キャリをアキュムレータに入れたのち,キャリを0にする
TCC
34
•アキュムレータの値を1減らす •SUBと同様,桁借りが発生したらキャリが0,発生しなかったら1になる
DAC
35
•キャリが1ならアキュムレータを10,キャリが0ならアキュムレータを9にする •キャリを0にする
TCS
36
キャリを0にする
STC
37
•アキュムレータの値をBCD(Binary Coded Decimal)にするときに使用 •10以上なら6を足し,そうでなければ何もしない
DAA
38
キーボードを数値化する
KBP
39
CM-RAM0~3を操作
DCL