情報処理試験2011年秋の問題を追加
[YACASL2.git] / as / fe_tests / 2011_10 / Q12 / div.casl
diff --git a/as/fe_tests/2011_10/Q12/div.casl b/as/fe_tests/2011_10/Q12/div.casl
new file mode 100644 (file)
index 0000000..bfc5630
--- /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    
+    CONT    SUBL    GR6,0,GR3
+    J0V     FIN
+    SUBL    GR7,1,GR3
+    
+    JUMP    LP
+    ADJ2    SUBL    GR6,=1
+    J0V     FIN
+    JUMP    LP
+    FIN     POP     GR7
+    POP     GR6
+    RET
+    END