SPACE START ;空白の圧縮 [b05.cas]
IN S,LEN ;文字列の入力
LAD GR7,0 ;フラグ変数
LAD GR1,0 ;Rの指標 [ a ]
LAD GR2,0 ;Sの指標
LB0 LD GR3,S,GR2 ;1文字取り出す
CPA GR3,=' ' ;空白か?
JZE LB1
LAD GR7,0 ;フラグの設定 [ b ]
JUMP LB2
LB1 CPA GR7,=1 ;フラグが1か
JZE LB3
LAD GR7,1 ;フラグの設定
LB2 ST GR3,R,GR1 ;Rに格納
LAD GR1,1,GR1 ;Rの指標を1加算
LB3 LAD GR2,1,GR2 ;Sの指標を1加算 [ c ]
CPA GR2,LEN ;終了?
JMI LB0
ST GR1,LEN ;長さを格納
OUT R,LEN ;出力
RET
R DS 256 ;出力域
LEN DS 1
S DS 256 ;入力域
END