Improve loops and fallthru
authorNick Downing <nick@ndcode.org>
Mon, 10 Jun 2019 11:09:51 +0000 (21:09 +1000)
committerNick Downing <nick@ndcode.org>
Mon, 10 Jun 2019 11:09:51 +0000 (21:09 +1000)
sm.asm

diff --git a/sm.asm b/sm.asm
index 1b4e70c..396fd58 100644 (file)
--- a/sm.asm
+++ b/sm.asm
@@ -851,9 +851,7 @@ div_hl_de:
 1$:    rla
        adc     hl,hl
        sbc     hl,de
-       jr      nc,2$
-       dec     a
-       jr      6$
+       jr      c,50$
 2$:    djnz    1$
        rla
        add     a,a
@@ -867,9 +865,7 @@ div_hl_de:
 3$:    rla
        adc     hl,hl
        sbc     hl,de
-       jr      nc,4$
-       dec     a
-       jr      8$
+       jr      c,70$
 4$:    djnz    3$
        rla
        add     a,a
@@ -881,12 +877,16 @@ div_hl_de:
        pop     bc
        ret
 
+50$:   dec     a
+       ;jr     6$
+       dec     b
+       jr      z,60$
 5$:    rla
        adc     hl,hl
        add     hl,de
        jr      c,2$
 6$:    djnz    5$
-       rla
+60$:   rla
        add     a,a
        push    af
  ld a,'c
@@ -894,12 +894,17 @@ div_hl_de:
        ld      a,c
        ld      b,8
        scf
+       jr      7$
+70$:   dec     a
+       ;jr     8$
+       dec     b
+       jr      z,80$
 7$:    rla
        adc     hl,hl
        add     hl,de
        jr      c,4$
 8$:    djnz    7$
-       rla
+80$:   rla
        add     a,a
        add     hl,de
        pop     de