; ======================================================================
; Chapter 03 candidate native floating-point divide wrapper
; Donor: OM-52C exact block EB30..EB4E
; Contract (nonzero divisor): $10-$18 <- $10-$18 / $0-$8
; Core service: low ROM &H06F8
;
; The donor's division-by-zero branch is preserved byte-for-byte. It lands
; on DIV_ZERO, whose JP &HF594 is a donor-language error dependency and is
; NOT qualified by r001. r001 never supplies a zero divisor.
; ======================================================================
BCD_DIV:
        PHSW    $20
        SBW     $19,$19
        SBCW    $7,$19
        JR      Z,DIV_ZERO
        PHSM    $29,8
        PHSM    $21,3
        CAL     &H06F8
        PPSM    $19,3
        PPSM    $22,8
        PPSW    $19
        RTN
DIV_ZERO:
        JP      &HF594
