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

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

[第198回]


●ファンクションコール0A

今回はファンクションコール0A(コンソールバッファ入力)です。
RAMディスク版での説明は[第128回][第132回]ですが、テストプログラムFTST9のリストは[第64回]にあります。

下のリストはFTEST9を64KBフルRAMに対応するように変更したVFTST9です。

; BDOS TEST9 console buffer read
;2012/3/16 8/16
;
        ORG $0100
        FCALL=$0005
        CONBF=$0200
        CONBF1=$0201
;
        LD A,FF;=255
        LD (CONBF),A
LOOP:LD DE,STRIN
        LD C,09;string out
        CALL FCALL
        LD DE,CONBF
        LD C,0A;console buffer in
        CALL FCALL
        CALL CRLF
        LD HL,CONBF1
        LD B,(HL)
        INC HL
        INC B
LOOP1:DEC B
        JP Z,BFDMP
        LD A,(HL)
        CALL ADP
        INC HL
        JP LOOP1
BFDMP:CALL CRLF
        LD HL,CONBF
        LD B,17;=23
BFDMP1:LD A,(HL)
        CALL B2HEXDP
        CALL SPDP
        INC HL
        DEC B
        JP NZ,BFDMP1
        CALL CRLF
        JP LOOP
;
;CL & LF
CRLF:LD A,0D
        CALL ADP
        LD A,0A
        JP ADP
;space disp
SPDP:LD A,20
;A disp
ADP:PUSH BC
        PUSH HL
        LD E,A
        LD C,02
        CALL FCALL
        POP HL
        POP BC
        RET
;HL(bynary 2bytes) to asckii 4bytes & disp
HEX4DP:PUSH BC
        PUSH HL
        CALL B2HEX4;binary 2 bytes to ascii HEX 4bytes
        PUSH DE
        EX DE,HL
        CALL DEDP
        POP DE
        CALL DEDP
        POP HL
        POP BC
        RET
;A(binary) to asckii 2bytes HEX & disp
B2HEXDP:PUSH BC
        PUSH HL
        CALL B2HEX2
        CALL DEDP
        POP HL
        POP BC
        RET
;
;DE(asckii 2bytes) disp
DEDP:PUSH DE
        LD E,D
        LD C,02
        CALL FCALL
        POP DE
        LD C,02
        CALL FCALL
        RET
;
;binary to hex, 2bytes data to ascii 4charactors,HL to HL,DE
B2HEX4:LD A,H
        CALL B2HEX2
        EX DE,HL
        LD A,E
;binary to hex, 1byte data to ascii 2charactors,A to DE
B2HEX2:PUSH AF
        RRCA
        RRCA
        RRCA
        RRCA
        CALL B2HEX1
        LD D,A
        POP AF
        CALL B2HEX1
        LD E,A
        RET
;binary to hex, low 4bit to ascii 1charactor
B2HEX1:AND 0F
        ADD A,30
        CP 3A
        RET C;0-9
        ADD A,07;A-F
        RET
;
STRIN:"in"
        DB 3A;:
        DB 24;$
;

●VFTST9の実行

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



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

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