CHRC   START
READ   IN      BUF,LEN      ; 1レコードの入力
       LD      GR1,LEN
       CPA     GR1,=0       ;終了判定
       JZE     FIN
LOOP   SUBA    GR1,=1       ; 1減算
       JMI     WRITE
       [    ( a )     ]     ; 1文字取り出し
       CPA     GR0,='0'     ; '0'と比較
       JMI     OTHER
       CPA     GR0,=':'     ; '9'の次の文字コード
       JMI     NUM
       [    ( b )     ]     ; 'A'と比較
       JMI     OTHER
       CPA     GR0,='['     ; 'Z'の次の文字コード
       JMI     LOOP
OTHER  LD      GR0,='?'     ;その他の文字
       ST      GR0,BUF,GR1  ;文字を格納
       JUMP    LOOP
NUM    LD      GR0,='%'     ; '%'をロード
       [    ( c )     ]     ; '%'を格納
       JUMP    LOOP
WRITE  OUT     BUF,LEN      ;文字列を出力
       JUMP    READ
FIN    RET                  ;プログラム終了
BUF    DS      256
LEN    DS      1
       END