; ======================================================================
; Chapter 03 candidate unsigned-16 -> native expanded FP conversion
; Donor: OM-52C exact routine E7E0..E80B
; Contract: unsigned $15,$16 -> native expanded FP $10-$18
; Shared service dependency: low ROM &H0B53 (binary -> BCD)
; ======================================================================
BCD_FROM_U16:
        SBW     $10,$10
        SBW     $12,$12
        SBW     $3,$3
        SBCW    $15,$3
        JR      Z,BFU_ZERO
        LDW     $3,$15
        CAL     &H0B53
        LDW     $17,&H0104
BFU_NORM:
        ANC     $16,&H0F
        RTN     NZ
        DIUM    $14,3
        SBB     $17,$SY,JR BFU_NORM
BFU_ZERO:
        SBW     $14,$14
        SBW     $16,$16
        SB      $18,$18
        RTN
