From 1f4f4085724cdbba3c5c624a5cbeebcd13fa2624 Mon Sep 17 00:00:00 2001 From: mrdudz Date: Sat, 17 Sep 2022 16:53:28 +0200 Subject: [PATCH] correctly sign extend for 16bit->float conversion --- test/float/softfloat/cc65wrapper.s | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/float/softfloat/cc65wrapper.s b/test/float/softfloat/cc65wrapper.s index 3e29df689..e5da2a416 100644 --- a/test/float/softfloat/cc65wrapper.s +++ b/test/float/softfloat/cc65wrapper.s @@ -1,17 +1,32 @@ + .importzp sreg, tmp1 .import _int32_to_float32 +;------------------------------------------------------------------------------ +; conversions: to float + ; 16bit signed -> float .export axfloat axfloat: ; FIXME + ; sign extend to 32bit + ldy #$ff + cpx #$80 + bcs @sk + ldy #$00 +@sk: + sty sreg + sty sreg+1 jmp _int32_to_float32 ; 16bit unsigned -> float .export axufloat axufloat: ; FIXME + ldy #0 + sty sreg + sty sreg+1 jmp _int32_to_float32 ; 32bit signed -> float