WCNT START ;語数の出力 [c09.cas] LAD GR2,0 ;入力ポインタ初期化 ST GR2,INLENG LAD GR1,0 ;語数カウンタ初期化 LP1 CALL GETCHR ; 1文字取得 CPA GR0,=' ' ;語の区切り文字? JZE LP1 ; [ a ] CPA GR0,='.' ;文の区切り文字? JZE SEND LP2 CALL GETCHR CPA GR0,=' ' JZE WEND CPA GR0,='.' JNZ LP2 ;区切り文字でなければLP2 WEND LAD GR1,1,GR1 ;語数のカウントアップ CPA GR0,='.' JNZ LP1 ; [ b ] SEND CALL DECPRN ;語数の出力 RET ; GETCHR CPA GR2,INLENG ; 1文字取得処理 JZE GETREC LD GR0,BUF,GR2 ADDA GR2,=1 ; [ c ] RET GETREC LAD GR2,0 IN BUF,INLENG ; 1レコード読取り LD GR0,INLENG ; [ d ] CPA GR0,=-1 ;入力データの終了? JNZ GETCHR RET INLENG DS 1 BUF DS 256 END DECPRN START OR GR1,=#0030 ST GR1,WK OUT WKOUT,OUTLEN RET WKOUT DC 'GR1=' WK DS 1 OUTLEN DC 5 END