日立MB-S1に関する情報

メモリ空間$A
ルーチン番号5

機能

ASCII文字を画面の現在のカーソル位置へTTY形式で出力します。

解説

AccAに格納されている文字コードに対応する半角文字を現在のカーソル位置へ表示し、カーソルを1文字分進めます。
現在のカーソルの水平方向位置がTTY出力範囲の右端の場合には、カーソルはTTY出力範囲内で1行下の左端に進みます。
現在のカーソル位置がTTY出力範囲内の最下位行で水平方向位置がTTY出力範囲の右端の場合は、文字出力後、TTY出力範囲内で1行スクロール・アップし、カーソル位置はTTY出力範囲内の左下端に表示されます。
現在のカーソル位置がTTY出力範囲外の場合は、何もせずにリターンします。
なおTTY出力範囲の設定は、システム・コールTTYREGで行います。

入力情報

  • AccA:ASCIIコード $00〜$FF

サンプルプログラム

内容

(5,5)にカーソルを表示後、任意のキーを入力するとカーソル位置に"A"が表示され、(6,5)にカーソルが移動します。
任意のキーを入力するとBASICに復帰します。
 0 0000                     ORG  $0000
 1           0000   TTYCR   EQU  *          --SAMPLE OF "TTYCR" ROUTINE--
 2 0000   CC 0505           LDD  #$0505     D:CURSOR POSITION(5,5)
 3 0003 103F                SWI2            CALL "GCURST" ROUTINE
 4 0005      4A             FCB  $4A        MAP NO=A ROUTINE NO=1
 5 0006      01             FCB  $01
 6 0007   CC 050F           LDD  #$050F     D:CURSOR CONFIGRATION
 7 000A 103F                SWI2            CALL "GCURSOR" ROUTINE
 8 000C      4A             FCB  $4A        MAP NO=A ROUTINE NO=0
 9 000D      00             FCB  $00
10 000E 103F        LOOP1   SWI2            CALL "INKBD" ROUTINE
11 0010      4A             FCB  $4A        MAP NO=A ROUTINE NO=F
12 0011      0F             FCB  $0F
13 0012   27 FA             BEQ  LOOP1      LOOP UNTIL A KEY IS PUSHED
14 0014   86 41             LDA  #$41       A:CHARACTER CODE
15 0016 103F                SWI2            CALL "TTYCR" ROUTINE
16 0018      4A             FCB  $4A        MAP NO=A ROUTINE NO=5
17 0019      05             FCB  $05
18 001A 103F        LOOP2   SWI2
19 001C      4A             FCB  $4A
20 001D      0F             FCB  $0F
21 001E   27 FA             BEQ  LOOP2      LOOP UNTIL A KEY IS PUSHED
22 0020      39             RTS
23                          END

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

どなたでも編集できます