GETWD START RPUSH LD GR6,GR1 LD GR7,GR2 LD GR3,=-1 ; 数字列の処理状態フラグの初期化 LAD GR6,-1,GR6 LP LAD GR6,1,GR6 LD GR4,0,GR6 ; 1文字の取出し CPL GR4,='.' JZE FIN CPL GR4,=' ' JNZ NUM CALL SETWD JUMP LP NUM LD GR3,GR3 ; 数字列の処理中? JZE LP LD GR3,=0 ; 次の数字列の処理開始 LD GR1,GR6 ; 数字列の先頭アドレスを退避 JUMP LP FIN CALL SETWD LD GR2,=-1 ST GR2,0,GR7 ; 数値の終わりを示す印を格納 RPOP RET SETWD LD GR3,GR3 JNZ FIN2 LD GR2,GR6 SUBL GR2,GR1 CALL DTOB ; 数字列を数値に変換 ST GR0,0,GR7 LD GR3,=-1 ; 数字列の処理中状態を解除 LAD GR7,1,GR7 FIN2 RET END