標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第349回]

☆☆☆[第347回]にUPしました、緊急のご連絡はお読みいただきましたでしょうか?
[第346回]に書きましたように、突然の災難で、メールに使っていたパソコンのハードディスクがダウンしてしまって、ご購入者様のメールアドレスも消えてしまいました。
メールでお知らせできませんので、とりあえずホームページ上でお知らせしております。

●組立作業がさらに進んでいます

何回か紹介させていただいているYT様のブログです。
FIAT500と洗車の日々・・・(http://plaza.rakuten.co.jp/flyback/)

もう [3]プログラムカウンタ まで実装完了です。

さっそくステップ動作をさせて、メモリから命令がOPコードレジスタにフェッチされるところの写真を公開してみえます。
私は、ここはなにもすることがない、と思ってテストはパスしてしまっていたのですが。
そうですか。
そういうテストができたのですね!
まったく気がつきませんでした。
う、う、う。これは、私のページよりも、よっぽど参考になる…。
喜ぶべきか、悲しむべきか…。

そういえば、前回、ここはまだ回路ができていないので、プログラムカウンタの値はアドレスバスに出力されません、ということで、説明の一部削除をお願いしたのですが…。
これまた早とちりでした。
落ち着いて回路を見てみましたら、W0のときにはプログラムカウンタの値がアドレスバスに出力するところまでは回路が組みあがっていました。
ですから、ステップ動作でW0の期間はプログラムカウンタからアドレスバスへの出力が行われるので、メモリから命令を読み出してOPコードレジスタにフェッチするところまでの動作確認はできるのでした。

こりゃあ、もう、私の出る幕はなくなってしまったようですねぇ。
やっぱり老兵は消え去るべきなのでしょうか、ねぇ。

☆☆☆そんなことも言ってはおれません。組立と動作テストの説明もいよいよあと少しを残すのみとなりました。がんばりましょう。☆☆☆

●[11]ANA、XRA、ORA、ANI、XRI、ORI命令回路の実装です

[第316回]で説明した作業です。
今回はANA、XRA、ORA、ANI、XRI、ORI命令の回路を実装します。
実装する部分は、こちらのシルク図で、小豆(あずき)色で着色したところです

●組立作業を終わったところの写真です

今回は比較的狭い範囲での実装でしたので、その部分だけの写真にしました。



●27. ANA、XRA、ORA、ANI命令のテスト(操作説明書から)

MYCPU80組立説明書 V組立 [11]ANA、XRA、ORA、ANI、XRI、ORI命令回路 の組立作業後に行う動作テストの説明です。

●27−1. ANA、XRA、ORA、ANI命令のテストプログラムをメモリに書く

メモリに次のプログラムを書きます(1. メモリにデータを書き込む の説明を参考にして操作してください)。

0000 3E91   MVI A,91
0002 E6F0   ANI F0
0004 4F     MOV C,A
0005 3E91   MVI A,91
0007 06F0   MVI B,F0
0009 B0     ORA B
000A 57     MOV D,A
000B 3E91   MVI A,91
000D A8     XRA B
000E 5F     MOV E,A
000F 210002 LXI H,$0200
0012 36F0   MVI M,F0
0014 A6     ANA M
0015 6F     MOV L,A
0016 AF     XRA A
0017 76     HLT
(リスト25)ANA、XRA、ORA、ANI テストプログラム

リスト25はANA、XRA、ORA、ANI命令のテストプログラムです。
XRIとORIについてはテストしませんが、ANA〜ORIは基本的な部分はすべて同じ回路を共有していますから、ここでのテストは省略します。

●27−2. テストプログラムを実行する

プログラムの実行の仕方については 4. テストプログラムを実行する を参照してください。
RESETSWを押しながら、ディップスイッチDS3−4をOFFにします。その後RESETSWを離すとプログラムが実行されます。

プログラムは一瞬で実行され、最後のHLT命令が実行され続けられます。
最初にAレジスタの値91と定数F0のANDが計算され、結果の値90がCレジスタに入れられます。
次にAレジスタの値91とBレジスタの値F0のORが計算され、結果の値F1がDレジスタに入れられます。
次にAレジスタの値91とBレジスタの値F0のXORが計算され、結果の値61がEレジスタに入れられます。
次にAレジスタの値61とメモリアドレス0200の値F0のANDが計算され、結果の値60がLレジスタに入れられます。
最後にXOR Aが実行され、その結果Aレジスタがクリアされて00になります。
以上が実行されたあとHLT命令が実行され続けられます。

☆☆☆操作説明書には図はありますが画像(基板の写真)はありません。でもせっかくのホームページですから、写真もUPいたします。☆☆☆

●テストプログラムを最後のHLT命令まで実行し終わった写真です


DレジスタはF1、Eレジスタは61、BレジスタはF1、Cレジスタは90、Aレジスタは00、Hレジスタは02、Lレジスタは60を表示しています。

なおANA、XRA、ORA命令については、当社ホームページの
「つくるCPU[第179回]」(http://www.alles.or.jp~thisida/mycpu179.html)
「つくるCPU[第184回]」(http://www.alles.or.jp~thisida/mycpu184.html)
でも説明をしています。

2009.10.1upload

前へ
次へ
ホームページトップへ戻る