DIR START ;ファイル一覧 [c01.cas]
TOP IN MOJI,LEN ;文字の入力
LD GR2,LEN ;入力文字長の取り出し
JZE RET
LAD GR4,0 ;LISTの指標 [ a ]
LAB0 LAD GR3,0 ;MOJIの指標
LAB1 LD GR1,LIST,GR4 ;1文字取り出す
CPA GR1,='#' ;最後か?
JZE TOP
CPA GR1,=' ' ;空白か?
JZE LAB3
CPA GR1,MOJI,GR3 ; [ b ]
JNZ LAB2
SUBA GR2,=1 ;最後まで比較したか
JZE PRT1
ST GR1,OUT,GR3 ;出力域に保存
LAD GR3,1,GR3 ;MOJIの指標1加算
LAD GR4,1,GR4 ;LISTの指標1加算
JUMP LAB1
LAB2 LAD GR4,1,GR4 ;不一致
LD GR1,LIST,GR4 ;LISTから1文字取り出す
CPA GR1,=' ' ;空白か?
JNZ LAB2
JUMP LAB3
PRT1 ST GR1,OUT,GR3 ;出力域に保存
LAD GR4,1,GR4 ;LISTの指標1加算
LD GR1,LIST,GR4 ;1文字取り出し
CPA GR1,=' ' ;空白か? [ c ]
JZE PRT2
LAD GR3,1,GR3
JUMP PRT1
PRT2 LAD GR3,1,GR3
ST GR3,OLEN
OUT OUT,OLEN ;表示
LAB3 LAD GR4,1,GR4 ;LISTの指標1加算
LD GR2,LEN ;入力文字長 [ d ]
JUMP LAB0
RET RET
OUT DS 10
OLEN DS 1
LIST DC 'AB.C ABCDEF.CAS AA.X #'
LEN DS 1
MOJI DS 256
END