基本情報処理試験のフォルダを変更し、2018年春の分を追加
[YACASL2.git] / as / exam_fe / 2018_04 / getwd.casl
1 GETWD   START
2         RPUSH
3         LD     GR6,GR1
4         LD     GR7,GR2
5         LD     GR3,=-1       ; 数字列の処理状態フラグの初期化
6         LAD    GR6,-1,GR6
7 LP      LAD    GR6,1,GR6
8         LD     GR4,0,GR6     ; 1文字の取出し
9         CPL    GR4,='.'
10         JZE    FIN
11         CPL    GR4,=' '
12         JNZ    NUM
13         CALL   SETWD
14         JUMP   LP
15 NUM     LD     GR3,GR3       ; 数字列の処理中?
16         JZE    LP
17         LD     GR3,=0        ; 次の数字列の処理開始
18         LD     GR1,GR6       ; 数字列の先頭アドレスを退避
19         JUMP   LP
20 FIN     CALL   SETWD
21         LD     GR2,=-1
22         ST     GR2,0,GR7     ; 数値の終わりを示す印を格納
23         RPOP
24         RET
25 SETWD   LD     GR3,GR3
26         JNZ    FIN2
27         LD     GR2,GR6
28         SUBL   GR2,GR1
29         CALL   DTOB          ; 数字列を数値に変換
30         ST     GR0,0,GR7
31         LD     GR3,=-1       ; 数字列の処理中状態を解除
32         LAD    GR7,1,GR7
33 FIN2    RET
34         END