最終更新:ID:4mHyealEgA 2017年02月09日(木) 21:49:17履歴
メモリ空間 | $A |
---|---|
ルーチン番号 | 5 |
AccAに格納されている文字コードに対応する半角文字を現在のカーソル位置へ表示し、カーソルを1文字分進めます。
現在のカーソルの水平方向位置がTTY出力範囲の右端の場合には、カーソルはTTY出力範囲内で1行下の左端に進みます。
現在のカーソル位置がTTY出力範囲内の最下位行で水平方向位置がTTY出力範囲の右端の場合は、文字出力後、TTY出力範囲内で1行スクロール・アップし、カーソル位置はTTY出力範囲内の左下端に表示されます。
現在のカーソル位置がTTY出力範囲外の場合は、何もせずにリターンします。
なおTTY出力範囲の設定は、システム・コールTTYREGで行います。
現在のカーソルの水平方向位置がTTY出力範囲の右端の場合には、カーソルはTTY出力範囲内で1行下の左端に進みます。
現在のカーソル位置がTTY出力範囲内の最下位行で水平方向位置がTTY出力範囲の右端の場合は、文字出力後、TTY出力範囲内で1行スクロール・アップし、カーソル位置はTTY出力範囲内の左下端に表示されます。
現在のカーソル位置がTTY出力範囲外の場合は、何もせずにリターンします。
なおTTY出力範囲の設定は、システム・コールTTYREGで行います。
(5,5)にカーソルを表示後、任意のキーを入力するとカーソル位置に"A"が表示され、(6,5)にカーソルが移動します。
任意のキーを入力するとBASICに復帰します。
任意のキーを入力すると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
コメントをかく