メモリーリークを修正
[YACASL2.git] / as / exam_fe / 2018_04 / mult.casl
1 MULT   START
2        RPUSH
3        LAD     GR2,CTBL
4        CALL    GETWD
5        LD      GR4,0,GR2    ; GR4 ← 被乗数
6        LD      GR5,1,GR2    ; GR5 ← 乗数
7        LD      GR0,=0
8        LD      GR5,GR5
9 LP     JZE     FIN
10        LD      GR3,GR5
11        AND     GR3,=#0001   ; 乗数の最下位ビットのチェック
12        JZE     NEXT
13        ADDL    GR0,GR4
14 NEXT   SLL     GR4,1        ; 被乗数を1ビット左論理シフト
15        SRL     GR5,1
16        JUMP    LP
17 FIN    RPOP
18        RET
19 CTBL   DS      3            ; GETWD用管理テーブル
20        END