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

復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります

[第197回]


●ファンクションコール01および02

説明に入ります前に一言。
前回お見せしましたファンクションコール一覧表に項目を追加しました。
以前作成したテストプログラムをこれから64KBフルRAMに対応するように変更を加えてテストをしていきます。
そのように変更して作成する新しいテストプログラム名と、その説明回も記入するように項目を追加しました。

で。
まず最初は[第122回]で説明しました、ファンクションコール01および02のテストプログラムFTEST1を64KBフルRAMに対応するように変更したVFTST1です。

; BDOS function 1 & 2 test for ZBDOS
;12/6/12
;
     ORG $0100
     FCALL=$0005
;
LOOP:LD E,3F;?
        LD C,02
        CALL FCALL          
        LD C,01
        CALL FCALL
        CP 1A;^z?
        RET Z
        PUSH AF
        LD E,3D;=
        LD C,02
        CALL FCALL
        POP AF
        LD D,A
        CALL HEX1
        LD E,A
        LD A,D
        RRCA
        RRCA
        RRCA
        RRCA
        CALL HEX1
        PUSH DE
        LD E,A
        LD C,02
        CALL FCALL
        POP DE
        LD C,02
        CALL FCALL
        LD E,0D
        LD C,02
        CALL FCALL
        LD E,0A
        LD C,02
        CALL FCALL
        JP LOOP
HEX1:AND 0F
        ADD A,30
        CP 3A
        RET C;0-9
        ADD A,07;A-F
        RET     
;

VFTST1を作成したのは6月12日ですから、それからもう2ヶ月以上が過ぎてしまいました。
そのあと続いてほかのファンクションコールについてのテストを進めていくつもりだったのですが、いきなりMBASIC(BASIC−80)に首をつっこんでしまったものですから、予定が大幅に狂ってしまいました。

さて。
VFTST1に加えた変更は、といいますと、先頭のORGを0100Hにするということと、ファンクションコールアドレスを0005Hにする、という2箇所だけです。
ND80ZV附属のZ80アセンブラZASM.COM用の表記をしていますから、
ORG $0100
FCALL=$0005
です。

変更前は
ORG $8100
FCALL=$8005
でした。
変更前のFTEST1のソースプログラムリストは[第39回]にあります。

以後のテストプログラムについても、基本的に、変更するのは上記の2行だけでいいはずです。

●VFTST1の実行

実はVFTST1については、それをMACRO−80用に変更したMVFTST1Gを作成して、それをすでに実行済みですから、フルRAM構成のもとでも動作するということは確認済みです([第194回])。
でもまあ、ものはついでということもありますから、VFTST1も実行して、動作を確認しておくことにいたします。

下はVFTST1を実行中の画面です。
[第123回]を開いて、それを背景にして、そのときと同じ入力を行なっています。



ワンボードマイコンでCP/Mを![第197回]
2012.8.15upload

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