アセンブラファイルとテストの整理
[YACASL2.git] / as / FE_TESTS / 2009_10 / Q12 / replace.casl
1 REPLACE START 
2         RPUSH 
3         LD      GR4,GR2    ; GR4 ← p
4         SRL     GR4,4      ; GR4 ← p/16 
5         ADDA    GR1,GR4    ; GR1 を置換え対象語(第i語)に位置付ける。
6         AND     GR2,=#000F 
7         LD      GR4,=16 
8         SUBA    GR4,GR2 
9         LD      GR5,GR0
10         LD      GR6,=#8000
11         SUBA    GR3,=1
12         SRA     GR6,0,GR3
13         LD      GR7,GR6
14         SRL     GR0,0,GR2
15         SRL     GR6,0,GR2
16         SLL     GR5,0,GR4
17         SLL     GR7,0,GR4
18         LD      GR2,0,GR1
19         XOR     GR6,GR2    ; 第i語のうち
20         AND     GR2,GR6    ; ビット列Bを入れる部分を0にする。
21         OR      GR2,GR0 
22         ST      GR2,0,GR1 
23         LD      GR2,1,GR1 
24         XOR     GR7,GR2    ; 第(i+1)語のうち
25         AND     GR2,GR7    ; ビット列Bを入れる部分を0にする。
26         OR      GR2,GR5
27         ST      GR2,1,GR1
28         RPOP
29         RET 
30         END