トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
[第269回]
●動作テスト(12)IN A命令の再テスト
[第267回]でIN A命令のテストの方法が違っていたことに気が付いたのですが、とりあえずIN A命令についてはそのまま置いて、次の命令のテストに進みました。
今回はあらためてIN A命令のテストをやり直します。
IN AのCLK1の写真です。
写真左上のDECODE基板のINout(青色LED)が点灯しました。
INポートはプルアップされていますから何も入力しないときはF(1111)が入力されます。
REGISTER基板の内部バスd3〜d0(青色LED)にはINポートから入力されたF(1111)が表示されています。
ちょっとテストのお膳立てがまずくてBレジスタ(青色LED)やB/d(赤色LED)も1111になっていますがこれはたまたまそうなっているだけでIN A命令とは関係ありません。
上と同じIN AのCLK1の写真です。
IN AのCLK1のときにINポートから何かを入力するとその値は内部バスにそのまま表示されます。
ここではINポートにつながっている4ビットの入力スイッチのビット1を押しています。
IN AのCLK2の写真です。
CLK2になっても状態はCLK1と同じです。
上と同じIN AのCLK2の写真です。
INポートの値は内部バスにそのまま反映されますがラッチされているわけではないのでスイッチから指を離すと1111に戻ってしまいます。
IN AのCLK3の写真です。
写真左上のDECODE基板のAwr(赤色LED)が点灯しました。
この状態で今度は入力スイッチのビット2を押しました。
INポートからの入力はそのまま内部バスに反映されます。
内部バスのLEDが1011になりました。
上と同じIN AのCLK3の写真です。
CLK3でもまだINポートの値はラッチされていませんからスイッチから指を離すと内部バスの値は1111に戻ってしまいます。
IN AのCLK4の写真です。
これは写真のタイミングが悪かったです。
スイッチのビット0を押した状態でCLK4に進みました。
Awrが消灯してそのときの内部バスの値がAレジスタに書き込まれました。
上と同じIN AのCLK4の写真です。
INポートの値はCLK3からCLK4になるときにAレジスタに書き込まれますからCLK4になってからINポートの値を変化させても内部バスに反映されるだけでAレジスタの値には影響しません。
トランジスタでCPUをつくろう![第269回]
2020.11.27upload
前へ
次へ
ホームページトップへ戻る