IC・トランジスタで出来たコンピューターを設計・製作するためのブログ
| Jeans & Development | 電子ブロック工房 | 三日坊主 | フロントページ |
8ビットどうしの掛け算 [シミュレーション]
2007年6月23日
新しいニーモニック表を用いたマシン語で、8ビットどうしの掛け算を行なった。このルーチンを汎用サブルーチンとしてメモリに確保しておき、これを利用する形で16ビットどうしの掛け算を行わせる予定。
メモリアクセス機能を追加 [CPU]
2007年6月23日
ニーモニック表を更新。
1)[b1], [b2] へのアクセスだけでは無理がありそうなので、[b1+1], [b1+2], [b1+3], [b2-1], [b2-2], [b2-3] へも、x レジスタから読み書きできるようにした。従来の mov x,[b1] は、mov xl, [b1]l へと変更したので、selector 周りのコードも少しすっきりした。
2)push b2, push ss を廃止し、代わりに push x, push f とした。
他に、気のついたところ:
1)cmp 命令が欲しい。
2)sub a2,a2 は不要なので、ここに何かの命令を割り当てられそう(sub a1,a1 は、x レジスタの値をゼロにするのに有用)。
3)ローテート命令を複合命令として実装すれば、便利。
4)シフト命令は、shr a1 と shl a2 の二つにし、shr a2 と shl a1 は複合命令を用いて記述するようにするかもしれない。
5)複合命令用に、inc cs:ip, dec cs:ip があれば、便利かもしれない。
1)[b1], [b2] へのアクセスだけでは無理がありそうなので、[b1+1], [b1+2], [b1+3], [b2-1], [b2-2], [b2-3] へも、x レジスタから読み書きできるようにした。従来の mov x,[b1] は、mov xl, [b1]l へと変更したので、selector 周りのコードも少しすっきりした。
2)push b2, push ss を廃止し、代わりに push x, push f とした。
他に、気のついたところ:
1)cmp 命令が欲しい。
2)sub a2,a2 は不要なので、ここに何かの命令を割り当てられそう(sub a1,a1 は、x レジスタの値をゼロにするのに有用)。
3)ローテート命令を複合命令として実装すれば、便利。
4)シフト命令は、shr a1 と shl a2 の二つにし、shr a2 と shl a1 は複合命令を用いて記述するようにするかもしれない。
5)複合命令用に、inc cs:ip, dec cs:ip があれば、便利かもしれない。
シミュレータのデバッグと起動 [シミュレーション]
2007年6月18日
先日シミュレータの記事を書いた段階ではまだテストランもほとんど行っていなかったため、当然ながらバグだらけのコードであった。デバッグを行い、簡単なマシン語を実行してみた。
シミュレータ [シミュレーション]
2007年6月17日
新しいニーモニック表にしたがって作成した、シミュレータ。正確には、このシミュレータを書いていく上で、新しいニーモニック表が出来上がったのだけれど。
ニーモニック表 [CPU]
2007年6月17日
ニーモニック表を少し書き換えた。まず、Zレジスタという名前がZeroフラグと似ていて紛らわしいので、Xレジスタとした。また、一部順序を変えて、回路がより簡潔になるようにした。
Apple I Replica Creation [一般的なこと]
2007年6月14日
手作りコンピュータのシミュレータ [シミュレーション]
2007年6月11日
いよいよ、手作りのコンピューターをシミュレートするプログラムの製作を開始した。このプログラムが完成すれば、設計図の製作に取りかかれる。
7905とは? [一般的なこと]
2007年6月10日
この週末は、Sacramento の HSC Electronic Supplyに行ってきた。Fry's の店員さんに教わった、電子部品の店である。入ってみて、感動!あの、懐かしい、大阪日本橋のジャンク屋の雰囲気そのまま!
特に買い物リストもなかったので、とりあえず店内をぐるっと一回りして、どんな部品が仕入れられるかだけ見ておいた。店員さんも、見たところ強者揃いのようである(むろん、客も)。
特に買い物リストもなかったので、とりあえず店内をぐるっと一回りして、どんな部品が仕入れられるかだけ見ておいた。店員さんも、見たところ強者揃いのようである(むろん、客も)。

