CHRHEX START BEGIN IN INBUF,LENG ;入力 LD GR1,LENG CPA GR1,=40 ;誤り判定 JPL ERROR CPA GR1,=0 ;終了判定 [ ( a ) ] LAD GR1,0 ;入力領域インデックス LAD GR2,0 ;出力領域インデックス LOOP LD GR3,INBUF,GR1 SRL GR3,4 ;上位4ビット取り出し CALL CONVST [ ( b ) ] AND GR3,=#000F ;下位4ビット取り出し CALL CONVST LAD GR1,1,GR1 CPA GR1,LENG ;全文字処理済みか? JMI LOOP [ ( c ) ] OUT OUTBUF,LENG ;変換結果の出力 JUMP BEGIN ERROR OUT MES,C13 ;エラーメッセージ JUMP BEGIN FIN RET CONVST CPA GR3,=10 [ ( d ) ] LAD GR3,7,GR3 ;数値から文字へ変換 SKIP ADDA GR3,=#0030 ST GR3,OUTBUF,GR2 LAD GR2,1,GR2 RET INBUF DS 256 LENG DS 1 C13 DC 13 OUTBUF DS 80 MES DC '***TOO LONG!!' END