X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=as%2Ffe_tests%2F2009_10%2FQ12%2Freplace.casl;h=0086976f95f80193872829cad117937f1f8d4d43;hb=b0f981469cdea23225ca5c3ef0ca6759d6a92b43;hp=6416213f9119f7677e3f411d700da8ac439b3af1;hpb=4fe8479d27f535a0ff44c9f6ce270249934e980f;p=YACASL2.git diff --git a/as/fe_tests/2009_10/Q12/replace.casl b/as/fe_tests/2009_10/Q12/replace.casl index 6416213..0086976 100644 --- a/as/fe_tests/2009_10/Q12/replace.casl +++ b/as/fe_tests/2009_10/Q12/replace.casl @@ -1,11 +1,11 @@ -REPLACE START - RPUSH - LD GR4,GR2 ; GR4 ← p - SRL GR4,4 ; GR4 ← p/16 - ADDA GR1,GR4 ; GR1 を置換え対象語(第i語)に位置付ける。 - AND GR2,=#000F - LD GR4,=16 - SUBA GR4,GR2 +REPLACE START + RPUSH + LD GR4,GR2 ; GR4 ← p + SRL GR4,4 ; GR4 ← p/16 + ADDA GR1,GR4 ; GR1 を置換え対象語(第i語)に位置付ける。 + AND GR2,=#000F + LD GR4,=16 + SUBA GR4,GR2 LD GR5,GR0 LD GR6,=#8000 SUBA GR3,=1 @@ -16,15 +16,15 @@ REPLACE START SLL GR5,0,GR4 SLL GR7,0,GR4 LD GR2,0,GR1 - XOR GR6,GR2 ; 第i語のうち - AND GR2,GR6 ; ビット列Bを入れる部分を0にする。 - OR GR2,GR0 - ST GR2,0,GR1 - LD GR2,1,GR1 - XOR GR7,GR2 ; 第(i+1)語のうち - AND GR2,GR7 ; ビット列Bを入れる部分を0にする。 + XOR GR6,GR2 ; 第i語のうち + AND GR2,GR6 ; ビット列Bを入れる部分を0にする。 + OR GR2,GR0 + ST GR2,0,GR1 + LD GR2,1,GR1 + XOR GR7,GR2 ; 第(i+1)語のうち + AND GR2,GR7 ; ビット列Bを入れる部分を0にする。 OR GR2,GR5 ST GR2,1,GR1 RPOP - RET - END + RET + END