X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=as%2Fexam_fe%2F2011_06%2FQ12%2Frotate.casl;fp=as%2Fexam_fe%2F2011_06%2FQ12%2Frotate.casl;h=1ec2d29c6d3029e8a109d63df248ceaae605ae42;hb=bce17a4fab0759bd0818c44bdf3cd17edb388267;hp=0000000000000000000000000000000000000000;hpb=8b9bafa8e8927ad19968969f466c756f0aeac8a3;p=YACASL2.git diff --git a/as/exam_fe/2011_06/Q12/rotate.casl b/as/exam_fe/2011_06/Q12/rotate.casl new file mode 100644 index 0000000..1ec2d29 --- /dev/null +++ b/as/exam_fe/2011_06/Q12/rotate.casl @@ -0,0 +1,22 @@ +ROTATE START + RPUSH + LD GR3,=16 +LOOP1 LD GR4,=16 + LD GR5,GR2 ; GR5 ← 結果の領域のアドレス + LD GR6,0,GR1 ; GR6 ← 元の図形の先頭語の内容 +LOOP2 LD GR7,0,GR5 ; GR7 ← 結果の領域の1語の内容 + SRL GR7,1 + SLL GR6,1 + JOV ON + JUMP CONT +ON OR GR7,=#8000 +CONT ST GR7,0,GR5 ; 処理した1語を結果の領域に格納 + LAD GR5,1,GR5 + SUBA GR4,=1 + JNZ LOOP2 + LAD GR1,1,GR1 + SUBA GR3,=1 + JNZ LOOP1 + RPOP + RET + END