復活!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 |