From: IrgendwerA8 Date: Tue, 22 May 2018 16:35:05 +0000 (+0200) Subject: Fix for 8x16 multiplication if operants are swapped. X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=808d3ab4714c2bf393b0befddafe2a7ea7897289;p=cc65 Fix for 8x16 multiplication if operants are swapped. --- diff --git a/libsrc/runtime/mul.s b/libsrc/runtime/mul.s index a9b53293b..769cf9d8e 100644 --- a/libsrc/runtime/mul.s +++ b/libsrc/runtime/mul.s @@ -62,7 +62,8 @@ tosumulax: @L4: ldy ptr1 ; Save right operand (8 bit) ldx ptr4 ; Copy left 16 bit operand to right stx ptr1 - ldx ptr4+1 ; Don't store, this is done later + ldx ptr4+1 ; swap high-byte too + stx ptr1+1 sty ptr4 ; Copy low 8 bit of right op to left ldy #8 jmp mul8x16a