*** ユーザーROMの使い方 *** このボードはMPUを外部ROMモードに設定し自分で開発したマシン語コー  ドを走らせることができます。 また8052BASICモードでもアセンブ  ラーで書いたコードをユーザーROMにおきBASICからのCALLコマン  ドで実行することができます。くわしくはMCS-BASIC52マニュアル  その他を参照していただくとして、ここではいくつかの例をあげて説明します 1.BASICモード  ROM2000Hー7FFF番地にマシン語サブルーチンを置きBASICから  10 CALL 4000H :REM ADC read subroutine call  のように呼び出します。8052BASICはシステムコールとして多数の汎  用ルーチンを持っておりアセンブリ言語で容易に使用できます。 例 4000 ORG 4000H 4000 53 D0 E7 ANL 0DH,#0E7H ;SELECT REGISTER BANK 0 4003 74 01 MOV A,#01H ;SET UP FOR OPBYTE 01H POP ;ARGUMENT STACK AND PUT VALUE ;IN R3:R1 4005 12 00 30 LCALL 30H ;EXECUTE SYSTEM CALL | | | | 4050 22 RET ;BACK TO BASIC  マシン語サブルーチンは RET 命令で制御をBASICにもどします。  8051シリーズ用アセンブラーはシェアウェアーとして各種のものがあり  MS−DOS上で開発ができます。 また次に述べるユーティリティーROM  を組み込めばこのボード上でアセンブラーコードの開発ができます。 2.BASICコマンドの拡張(Micromint ユーティリティーRO   Mの組み込み)  MCS BASIC−52はユーザーROM領域にきまった書式のコードを置  くことによりBASICコマンド及びステートメントを拡張することができま  す。自分でアセンブラーを使って開発することも可能ですがこの目的のために  拡張BASICユーティリティーROMが市販されています。    ROM_A、ROM_A&Bは米国マイクロミント社から発売されている80  52BASIC用のユーティリティーROMですが、8KサイズのEPROM  でこれをこのボードに組み込むことにより一段と機能アップしたBASICが  楽しめます。 [組み込み]  BASICモード、ユーザーROMサイズ8K、スタートアドレス2000H  に設定しU9にROMを差し込みます。  JP3(1ー2) JP(1ー2) JP9(2ー3) JP5(1ー2) [立上げ]  パワーオンすると次のような初期画面がでてうまくユーティリティーROMが  組み込まれたことがわかります。 *MCS-51(tm) BASIC V1.1* ROM A&B V1.1 7/86 BASIC Extensions & Full Assembler Copyright 1986 MICROMINT INC. All Rights Reserved READY > [拡張された機能] コマンド ASMS、ASMS#:   ラインアセンブラーでアセンブラーコードを1行ごとにアセンブルし指     定のRAM番地に書き込んでいきます。      例        ORG 1000H LOC 2000H        ANL 0D0H,#0e7H      1000番地スタートのマシン語コードをRAMの2000H番地に      書き込みます                2000 53 D0 E7 CHANGE[integer]: 指定番地の内容を表示し変更することができる。 DIS[expr]、[expr]: 指定された外部メモリー領域の内容をダンプする EDIT[line num]: BASICのスクリーンエディター HEXL[integer]   ターミナルからアプロードしたインテルヘキスフォーマットファイル     を指定したRAMの番地をスタートアドレスとしてロードする。 HEXS[integer]、[integer] 指定したRAM領域の内容をインテルヘキスフォーマットでターミナ     ルにダウンロードする。 RENUM BASICのラインナンバーを書き換える ステートメント BLAST、BLASTI 指定したRAM領域の内容をプログラムEPROMの指定した番地に 転送する。 MOV、MOVC   指定したRAM領域の内容を同じRAM内またはEPROMにブロック     として移動する。 FILL 指定したRAMのブロックを指定したバイトデータで埋める VERIFY 指定したRAMおよびEPROMの2つのブロック内容を比較する。 ASM 組み込みアセンブラーを起動する。    この組み込みアセンブラーはかなり高機能で次のTEDITと組み合わ     せてマシン語ルーチン開発ができます TEDIT ラインエディター、  このようにこのユーティリティーROMをこのボードにインストールすればマ  シン語コードを開発し出来たコードをROMに焼き込み即実行できるという芸  当が できます。 *RAM領域のマシン語サブルーチンのコール  BASICで[CALL]ステートメントが実行されるとコントトール信号P  SENによりユーザーROMまたはプログラムROMが読み込み対象となりま  す。しかし、ちょっとしたサブルーチンであればマシン語コードをBASIC  のPEEK,POOK機能でRAM領域に展開し、これをコールすることによ  りマシン語コードの実行が可能になります。 例 150 DATA 53H,0D0H,0E7H,74H,01H,12H,00H,30H,85H,04H,1FH 160 DATA 85H,01H,1EH,.......... 200 FOR Z=4000H TO 4041H 210 READ A 220 XBY(Z)=a 230 NEXT Z  RAMの4000H番地から4041番地にマシン語サブルーチンがかきこま  れました。VersaBoard−8052ではJP8を(2−3)に設定す  ることによりRAM領域内のコードを[CALL]することができるようにな  ります。 2.外部ROMモード  MPUを外部ROMモードに設定すると(JP3=2−3)パワーオン後内部  メモリーのクリアー、レジスタとポインターを初期化したあと外部ROMの0  番地からプログラムはスタートします。  8051シリーズのアセンブラー、コンパイラーは各種市販されており また  シェアウェアーとしても多数入手可能です  プロジェクトチームではCコンパイラーで開発した人工衛星追跡プログラムを  同時にリリースします。このプログラムはリアルタイムに衛星の位置を計算し  アンテナローテーターをコントロールするほか受信周波数のドップラー変移を  計算しシリアルポートを経由してリグの送受信周波数をコントロールするもの  です。 また60個の衛星の軌道情報をRAMに保存することができます。 マイクロミントのROMの入手は、巻末の参考文献の欄に記載    価格は100US$