復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第41回]
●Hello World(ファンクションコール9)
今回もファンクションコールを使ったテストプログラムの説明です。
前回説明しましたファンクションコール2は、コンソール画面に文字を1文字表示するものでしたが、それだとひとまとまりの文章を表示するときなど、その文を先頭から1文字ずつ取り出しながら、文字数の回数分繰り返しファンクションコールしなければなりません。
できないことはありませんが、面倒です。
そんなときは、ファンクションコール9を使うと、1回のコールで済んでしまいます。
表示させたい文字列の最後には文字列の終わりを示すマークとして”$”を置きます。
DEレジスタに文字列の先頭アドレスを入れて、Cレジスタに09を入れて、システムをコールすると、指定したアドレスから”$”の前までの文字コードで示される文字列がコンソール画面に表示されます。
ファンクションコールは0005Hをコールしますが、今はまだテスト中なので8005Hをコールするようにしてあります。
これがテストプログラムです。
; BDOS function 9 test
;
ORG $8100
FCALL=$8005
;
LD DE,LIST
LD C,09
CALL FCALL
RET
;
LIST:"Hell"
"o Wo"
"rld"
DB 24;$"
;
|
2012/2/22 21:40 ftest2.txt
END=8114
; BDOS function 9 test
;
ORG $8100
FCALL=$8005
;
8100 110981 LD DE,LIST
8103 0E09 LD C,09
8105 CD0580 CALL FCALL
8108 C9 RET
;
8109 48656C6C LIST:"Hell"
810D 6F20576F "o Wo"
8111 726C64 "rld"
8114 24 DB 24;$"
;
FCALL =8005 LIST =8109
|