diff options
Diffstat (limited to 'engine/bcd.asm')
-rwxr-xr-x | engine/bcd.asm | 110 |
1 files changed, 55 insertions, 55 deletions
diff --git a/engine/bcd.asm b/engine/bcd.asm index 020dc64..6d441b2 100755 --- a/engine/bcd.asm +++ b/engine/bcd.asm @@ -1,55 +1,55 @@ -INCLUDE "constants.asm"
-
-SECTION "BCD", ROMX[$4de3], BANK[$03]
-
-AddBCD: ; 03:4de3
- and a
- ld b, c
-.add
- ld a, [de]
- adc [hl]
- daa
- ld [de], a
- dec de
- dec hl
- dec c
- jr nz, .add
- jr nc, .done
-
- ld a, $99
- inc de
-
-.fill
- ld [de], a
- inc de
- dec b
- jr nz, .fill
-
-.done
- ret
-
-
-SubBCD: ; 03:4df9
- and a
- ld b, c
-.sub
- ld a, [de]
- sbc [hl]
- daa
- ld [de], a
- dec de
- dec hl
- dec c
- jr nz, .sub
- jr nc, .done
- ld a, 0
- inc de
-
-.fill
- ld [de], a
- inc de
- dec b
- jr nz, .fill
- scf
-.done
- ret
+INCLUDE "constants.asm" + +SECTION "BCD", ROMX[$4de3], BANK[$03] + +AddBCD: ; 03:4de3 + and a + ld b, c +.add + ld a, [de] + adc [hl] + daa + ld [de], a + dec de + dec hl + dec c + jr nz, .add + jr nc, .done + + ld a, $99 + inc de + +.fill + ld [de], a + inc de + dec b + jr nz, .fill + +.done + ret + + +SubBCD: ; 03:4df9 + and a + ld b, c +.sub + ld a, [de] + sbc [hl] + daa + ld [de], a + dec de + dec hl + dec c + jr nz, .sub + jr nc, .done + ld a, 0 + inc de + +.fill + ld [de], a + inc de + dec b + jr nz, .fill + scf +.done + ret |