基本情報処理試験のフォルダを変更し、2018年春の分を追加
[YACASL2.git] / as / exam_fe / 2011_10 / Q12 / div.casl
diff --git a/as/exam_fe/2011_10/Q12/div.casl b/as/exam_fe/2011_10/Q12/div.casl
new file mode 100644 (file)
index 0000000..13b75dd
--- /dev/null
@@ -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
+