最終更新:ID:4mHyealEgA 2017年02月10日(金) 09:06:23履歴
メモリ空間 | 7 |
---|---|
ルーチン番号 | $3D |
Xに格納されているデータの上位1バイトを左上端の水平方向座標、下位1バイトを左上端の垂直方向座標、Yに格納されているデータの上位1バイトを右下端の水平方向座標、下位1バイトを右下端の垂直方向座標とし、左上端座標と右下端座標で指定される範囲を、TTY出力(KTTYCR、TTYCHR)の範囲に設定します。
入力値が範囲外の場合は、何もせずにリターンします。
入力値が範囲外の場合は、何もせずにリターンします。
- X:
- (D15〜D8)左上端水平方向座標 0〜79
- (D7〜D0)左上端垂直方向座標 0〜19
- Y:
- (D15〜D8)右下端水平方向座標 0〜79
- (D7〜D0)右下端垂直方向座標 0〜19
TTY出力の範囲を(5,5)、(40,15)に指定し、カーソルを(5,5)に移動後、システム・コールTTYCRにより文字を出力し続けます。
文字は指定範囲内に出力されます。
任意のキーを入力するとBASICに復帰します。
文字は指定範囲内に出力されます。
任意のキーを入力するとBASICに復帰します。
0 0000 ORG $0000 1 0000 TTREG EQU * --SAMPLE OF "TTREG" ROUTINE-- 2 0000 8E 0505 LDX #$0505 X:LEFT UP POSITION OF OUTPUT SCOPE 3 0003 108E 280F LDY #$280F Y:RIGHT DOWN POSITION OF OUTPUT SCOPE 4 0007 103F SWI2 CALL "TTYREG" ROUTINE 5 0009 47 FCB $47 MAP NO=7 ROUTINE NO=3D 6 000A 3D FCB $3D 7 000B CC 0505 LDD #$0505 D:CURSOR POSITION 8 000E 103F SWI2 CALL "GCURST" ROUTINE 9 0010 4A FCB $4A MAP NO=A ROUTINE NO=1 10 0011 01 FCB $01 11 0012 86 41 LDA #$41 A:CHARACTER CODE 12 0014 103F LOOP SWI2 CALL "TTYCR" ROUTINE 13 0016 4A FCB $4A MAP NO=A ROUTINE NO=5 14 0017 05 FCB $05 15 0018 103F SWI2 CALL "INKBD" ROUTINE 16 001A 4A FCB $4A MAP NO=A ROUTINE NO=F 17 001B 0F FCB $0F 18 001C 27 F6 BEQ LOOP LOOP UNTIL A KEY IS PUSHED 19 001E 8E 0000 LDX #0 X:LEFT UP POSITION OF OUTPUT SCOPE 20 0021 108E 4F13 LDY #$4F13 Y:RIGHT DOWN POSITION OF OUTPUT SCOPE 21 0025 103F SWI2 CALL "TTYREG" ROUTINE 22 0027 47 FCB $47 MAP NO=7 ROUTINE NO=3D 23 0028 3D FCB $3D 24 0029 39 RTS 25 END
コメントをかく