4−4 プログラムのROM化
- ROMにプログラムを書込んで実装します。
将来性を考慮すると拡張ROMにプログラムを書込んで実装するのが、望ましいのですが、サイズが小さいユーザープログラムの場合には、標準実装されているシステムROMの空きエリアにユーザープログラムを混在させることが可能です。
RSエントリー1ではシステムプログラムが、0000H〜5FFFH(Ver 6.0)までを使用している為、ユーザプログラム領域としては、6000Hから使用可能です。
- *将来のバージョンに備えて0000H〜7FFFHは基本的に、システムリザーブとしていますので、使用にはご注意ください。
- ここでは、システムROM内のエリアを利用してプログラムのROM化を行ないますがシステムROMを破壊しない様に注意してください。
- 以下に概略手順を示します。
1.ソースプログラム作成
↓
2.ロードモジュール作成
↓
3.プログラムマージ
↓
4.ユーザープログラム移行フラグ設定処理
↓
5.ROM書込
↓
6.ROM実装
- 1.ソースプログラムの作成
- アセンブラによるソースプログラムを作成します。
<ご注意>
ソースプログラム内に、'ORG 6000H'の設定を行なわないでください。
- 2.ロードモジュールの作成
- ソースからロードモジュールを作成します。
アセンブル
ソースプログラムのアセンブル方法は次の通りです。
' A>IR80 B:SAMPLE/S/OB '...SAMPLE.REL(オブジクトモジュール)が作成されます。
*エラーが無くなるまで、ソース修正・アセンブルを繰り返してください。
リンク
オブジェクトモジュールのリンク方法は次の通りです。
' A>LNK B:SAMPLE,/P:6000,/S,/H '...SAMPLE.HEX(ロードモジュール)が作成されます。
<ご注意 >
リンカーのパラメータはダウンロード時と異なります。
- 3.プログラムのマージ
- システムプログラムのロード
RSエントリー1に実装されているシステムROM内のシステムプログラムをROMライターにロードします。
ROMの種類が正しく設定されているかを確認後、以下の通りに操作して下さい。
[LOD] [SET]
ロードモジュールをロードします。
ROMライター上でシステムプログラム後半のアドレスへ、ロードモジュールをロードします。
・ROMライタでの準備
[JOB] [D] [−] [SET] プリンターライン使用
[JOB] [D] [SET] RS232Cライン使用
・ホスト側での作業(ROMライターの準備確認後)
TYPE SAMPLE.HEX>PRN プリンターライン使用
COPYA SAMPLE.HEX AUX RS232Cライン使用
- 4.ユーザープログラム移行フラグ設定処理
- システムROM内の0080Hには、システムがメイン処理を行なう前に、ユーザープログラムへ移行するためのフラグが入っており、この00Hを01Hに変更します。
アドレス 旧 新
0080H 00H → 01H
[JOB] [0] [0][0][8][0] [SET]
[0][1] [SET]
[RST]
上記の作業を行なうことにより、システムは起動処理終了後に6000HをCALLします。
ユーザープログラムより、RETされた場合には、ターミナル処理が実行されます。
- 5.ROMに書込みます。
- ROMライターに消去済みのROMをセットして、プログラムを書込みます。
[−] [PRG] [SET]
- 6.ROMをRSエントリー1に実装します。
- <ご注意>
ROM差込み時には、ROMの挿入方向に十分注意してください。
- 以上により、RSエントリー1電源投入時に、ユーザープログラムが実行されます。
■ プログラム作成時の諸注意
- 1.メモリーバンク
- 標準実装のメモリーでは、メモリーバンク0のRAM16Kバイトです。
複数のユーザープログラムを常駐させたい場合には、拡張メモリが必要です。
- 2.ロードするプログラムのサイズ
- メモリーバンクの制約から1つのプログラムサイズは16Kバイト以内となっています。
16Kバイト以上のプログラムをロードするとCOM形式の場合はダウンロード自体が無視され、HEX形式の場合には16Kバイト以降が無視されます。
- 3.HEX形式のプログラムをロードする場合
- A.開始アドレスは8000です。
HEX形式のファイルの先頭が次のようになっていることを確認してください。
:XX800000・・・・・・ (XXは10又は20などです)
先頭から4文字目から7文字目の8000はプログラムの開始アドレスになるため、8000であることを確認してください。
B.ファイルタイプは00です。
HEXファイルの各行先頭から8文字目と9文字目はファイルタイプなので最後の1行以外は、ここが00であることも確認してください。
00以外であるとその1行をロードしたあと、終了してしまいます。
(そこでプログラムが切れてしまいます。)
- 4.COM形式のプログラムをロードする場合
- COM形式ファイルの先頭に余分なヘッダーが付いてないことを確認してからロードしてください。
- 5.スタックエリアの取り扱い
- スタックエリアは1024バイトを確保していますが、システムと共通利用のため、取扱には十分注意してください。
目次へ戻る