1ec2d29c6d3029e8a109d63df248ceaae605ae42
[YACASL2.git] / as / exam_fe / 2011_06 / Q12 / rotate.casl
1 ROTATE  START
2         RPUSH
3         LD     GR3,=16
4 LOOP1   LD     GR4,=16
5         LD     GR5,GR2         ; GR5 ← 結果の領域のアドレス
6         LD     GR6,0,GR1       ; GR6 ← 元の図形の先頭語の内容
7 LOOP2   LD     GR7,0,GR5       ; GR7 ← 結果の領域の1語の内容
8         SRL    GR7,1
9         SLL    GR6,1
10         JOV    ON
11         JUMP   CONT
12 ON      OR     GR7,=#8000
13 CONT    ST     GR7,0,GR5       ; 処理した1語を結果の領域に格納
14         LAD    GR5,1,GR5
15         SUBA   GR4,=1
16         JNZ    LOOP2
17         LAD    GR1,1,GR1
18         SUBA   GR3,=1
19         JNZ    LOOP1
20         RPOP
21         RET
22         END