TTL-IC (原則、テキサス・インスツルメンツの74LSシリーズ、但し入手困難品は他社製品や74ALSシリーズも併用)で作った8bitコンピュータRETROF-8の全命令と全回路図です。
TTL以外に使用した半導体は、SRAM(TC-55257)とクロックオシレーター(EX03)、およびダイオードとLEDです。(スイッチングレギュレータ電源の内部部品は除く)
当初の設計からいくつか変わった所がありますが、おそらく(?)これが最終版です。デコードしていないビットが数多くありますので、命令の追加も(部品の入手や配線の手間を別とすれば)比較的容易です。
機械語 | ニモニッック | 動作 | 動作の詳細解説OE |
---|---|---|---|
0xxx | CLR | 0 → Acc | Accの全ビットを0にする(xは任意) |
1nnn | LD nnn | M[nnn] → Acc | nnn番地の内容をAccに格納する |
2nnn | SUB nnn | Acc − M[nnn] →Acc | Accからnnn番地の値を引く |
3nnn | ADD nnn | Acc + M[nnn] →Acc | Accにnnn番地の値を加える |
4nnn | XOR nnn | Acc ^ M[nnn] →Acc | Accにnnn番地とのEXORをとる |
5nnn | OR nnn | Acc | M[nnn] →Acc | Accにnnn番地とのORをとる |
6nnn | AND nnn | Acc & M[nnn] →Acc | Accにnnn番地とのANDをとる |
7xxx | SET | FF → Acc | Accの全ビットを1にする(xは任意) |
8nnn | IN nnn | DATA SW → M[nnn] | SWの状態をnnn番地に格納する |
9xnn | LDI nn | nn → Acc | 値nnをAccにセットする(xは任意) |
Axnn | SBI nn | Acc − nn →Acc | 値nnをAccから引く(xは任意) |
Bnnn | STA nnn | Acc → M[nnn] | Accの値をnnn番地にストア |
Cxxx | OUT | A →LED | Accの値をLEDに表示(xは任意) |
Dnnn | JMP nnn | nnn → PC | nnn番地に分岐する |
Ennn | JCC nnn | (cobditional JMP) | SUB後はボローがなければ、ADD後はキャリーがあれば分岐する |
Fxxx | HLT | Accの値をLEDに表示し停止する。DMAスイッチ押下でDMAモードに移行する(xは任意) |
一通りの試験を終えた後、銅箔の切断やジャンパ線が大量に発生したPCBを目視しながら逆生成した回路図です。
本回路図を個人の趣味や、学校教育/企業内教育で使用もしくは参考にするのはご自由です。但し、まだ記述ミスが残っている可能性も多々ありますので、御注意ください。(2011年8月)
左上の動作確認用のLED関係の結線(A,B,C)以外は一枚の図面内で直接結線しています。アドレスバス・データバス等もあえてバスを使わずに個別の結線として記述しました。
ダイオードマトリクス付近の赤枠で囲まれた文字列("MOE"や"φ1"等)も単なるコメントで、結合先を示したものではありません。
Copyright ©1971-2011 40年ぶりにTTLコンピュータを作っている自作中毒ヂヂィオジサマ All Rights Reserved