日立MB-S1に関する情報

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

機能

画面に1文字出力します。

解説

半角文字の場合、AccAに格納されている文字コードに対応する文字を、現在のカーソル位置へ表示します。
表示後カーソル位置を半角文字1文字分進めます。
全角文字の場合、始めに漢字コード(MSKDC)1バイト目をAccAに格納し、本ルーチンを呼びます。
次ぎに漢字コード(MSKDC)2バイト目をAccAに格納し、再度本ルーチンを呼びます。
これらによって、現在のカーソル位置に全角文字を表示します。
カーソル位置が右端にある場合は、次の行の先頭から表示します。
表示後カーソル位置を半角文字2文字分進めます。

入力情報

  • AccA:文字コード

サンプル・プログラム

内容

カーソルのスタート・ラスタ・アドレスを0とし、カーソルを点燈に設定した後に、キーボードより1文字入力して、その文字を表示します。
もし入力された文字コードが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

コメントをかく


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

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

どなたでも編集できます