X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=as%2Fexam_fe%2F2011_10%2FQ12%2Fdiv.casl;fp=as%2Fexam_fe%2F2011_10%2FQ12%2Fdiv.casl;h=13b75dd1acb545606fceb7c4905fb899edb31186;hb=bce17a4fab0759bd0818c44bdf3cd17edb388267;hp=0000000000000000000000000000000000000000;hpb=8b9bafa8e8927ad19968969f466c756f0aeac8a3;p=YACASL2.git diff --git a/as/exam_fe/2011_10/Q12/div.casl b/as/exam_fe/2011_10/Q12/div.casl new file mode 100644 index 0000000..13b75dd --- /dev/null +++ b/as/exam_fe/2011_10/Q12/div.casl @@ -0,0 +1,26 @@ +DIV START ; 減算を用いた32ビット除算 + PUSH 0,GR6 + PUSH 0,GR7 + LD GR6,GR1 + LD GR7,GR2 + LD GR1,=#FFFF ; 商の初期化 + LD GR2,=#FFFF +LP LD GR4,GR6 + LD GR5,GR7 + ADDL GR2,=1 ; 商のカウントアップ + JOV ADJ1 + JUMP CONT +ADJ1 ADDL GR1,=1 +CONT SUBL GR6,0,GR3 + JOV FIN + SUBL GR7,1,GR3 + JOV ADJ2 + JUMP LP +ADJ2 SUBL GR6,=1 + JOV FIN + JUMP LP +FIN POP GR7 + POP GR6 + RET + END +