最終更新:ID:4mHyealEgA 2017年02月06日(月) 21:57:14履歴
メモリ空間 | 1 |
---|---|
ルーチン番号 | 5 |
半角文字の場合、AccAに格納されている文字コードに対応する文字を、現在のカーソル位置へ表示します。
表示後カーソル位置を半角文字1文字分進めます。
全角文字の場合、始めに漢字コード(MSKDC)1バイト目をAccAに格納し、本ルーチンを呼びます。
次ぎに漢字コード(MSKDC)2バイト目をAccAに格納し、再度本ルーチンを呼びます。
これらによって、現在のカーソル位置に全角文字を表示します。
カーソル位置が右端にある場合は、次の行の先頭から表示します。
表示後カーソル位置を半角文字2文字分進めます。
表示後カーソル位置を半角文字1文字分進めます。
全角文字の場合、始めに漢字コード(MSKDC)1バイト目をAccAに格納し、本ルーチンを呼びます。
次ぎに漢字コード(MSKDC)2バイト目をAccAに格納し、再度本ルーチンを呼びます。
これらによって、現在のカーソル位置に全角文字を表示します。
カーソル位置が右端にある場合は、次の行の先頭から表示します。
表示後カーソル位置を半角文字2文字分進めます。
カーソルのスタート・ラスタ・アドレスを0とし、カーソルを点燈に設定した後に、キーボードより1文字入力して、その文字を表示します。
もし入力された文字コードがCR($0D)の場合はプログラムを終了します。
もし入力された文字コードがCR($0D)の場合はプログラムを終了します。
0 0000 KOUTSCR EQU * --SAMPLE OF "KOUTSCR" ROUTINE-- 1 0000 STEP1 EQU * ----- STEP 1 ----- 3 0001 86 00 LDA #$00 4 0002 49 ROLA 5 0003 49 ROLA 6 0004 49 ROLA 7 0005 49 ROLA A(d7-d4):0 BLINK STOP 8 0006 8A 00 ORA #$00 A(d3-d0):START/LASR ADDR.=0 9 0008 LOOP EQU * 10 0008 34 02 PSHS A A:CURSOR PARM 11 000A 103F SWI2 CALL "KSYCRST" ROUTINE 12 000C 41 FCB $41 MAP NO=1 ROUTINE NO=4 13 000D 04 FCB $04 14 000E STEP2 EQU * ----- STEP 2 ----- 15 000E 103F SWI2 CALL "KKBDIN" ROUTINE 16 0010 41 FCB $41 17 0011 02 FCB $02 10 0012 34 02 PSHS A A:KEYBOARD DATA 18 0014 103F SWI2 CALL "KOUTSCR" ROUTINE 19 0016 41 FCB $41 20 0017 05 FCB $05 10 0018 35 02 PULS A A:KEYBOARD DATA 21 001A 81 0D CMPA #$0D IF A=$0D THEN RTS 22 001C 35 02 PULS A 23 001E 26 E8 BNE LOOP A:CURSOR PARAM 24 0020 39 RTS 25 END
コメントをかく