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

トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆


[第288回]



●プログラムのセーブ、ロード

正月早々また4日も間が空いてしまいました。
いろいろ片付けてしまわなければならないことが重なってしまってなかなかホームページの更新にまで手が回りません。
あとしばらくこんな状態が続きそうです。
気長なおつきあいをお願いいたします。

前回のおわりのところで「MYCPU4のRAMはバックアップしていないので電源を切るとプログラムが消えてしまいます」と書きました。
前回書きましたようにKEYSW回路基板を接続してスィッチパチパチでRAMに書き込んだプログラムは保存できません。
しかしそれまで書いてきましたND80Z3.5に接続してBASICプログラムを使ってRAMに書き込む方法ならプログラムを保存しておくことができます。
正確に言うとMYCPU4のRAMに書き込んだプログラムを保存するのではなくて、「RAMにプログラムを書き込むBASICプログラム」を保存します。
たとえば前回KEYSW回路基板を接続してRAMに書いたプログラムは[第259回]でND80Z3.5と接続してBASICプログラムを使ってRAMに書き込んだプログラムと同じです。
KEYSW回路基板を接続してRAMに書いたプログラムは保存しておくことはできませんが、ND80Z3.5と接続してBASICプログラムを使ってRAMに書き込んだプログラムは、そのBASICプログラムを保存しておくことで事実上はRAMに書いたプログラムを保存するのと変わりないことになります。
そのBASICプログラムをロードして実行すれば毎回同じプログラムをRAMに書き込むことができます。
BASICプログラムのなかでMYCPU4の命令コードをRAMに書き込む部分を書き換えて保存すれば別のMYCPU4プログラムを保存したのと同じことになります。
[第259回]のプログラムでは
行番号41から45がその部分です。
A%にRAMのアドレスを入れ、B%にRAMに書き込む命令コードを入れて行番号90をコールします。
90から130がRAMに書き込むためのサブルーチンです。
ここでは簡単なプログラム例として行番号41から45を使いましたがサブルーチンの行番号をたとえば1000〜1040のようにすればもっとのびのびと長いプログラムをRAMに書き込むことができます。
[第263回]のプログラムではサブルーチンの行番号は110〜150になっています。
なお行番号41から45ではうしろにコメント文で命令コードのニーモニックを書いていますがプログラムの実行のうえではなくても全く構いません。
また’memory read行より後ろは必須ではありません。
RAMに書き込んだ後のベリファイが必要なければ省略してしまって構いません。

当連載ではMYCPU4と接続するマイコンボードとしてND80Z3.5を使って説明をしてきましたが、ZB3BASICが実行できて82C55を実装するかまたは増設可能な当社のマイコンボード(ND8080など)も同じように使うことができます。

トランジスタでCPUをつくろう![第288回]
2021.1.16upload

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