From: Tormod Volden Date: Thu, 4 Jun 2015 21:58:20 +0000 (+0200) Subject: lowlevel-6809.s: Fix some ashlsi3 brokenness X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=fdf71ae4c61647f738ca1ae392d0faf02a447b63;p=FUZIX.git lowlevel-6809.s: Fix some ashlsi3 brokenness This was broken in "upstream" gcc 6809. A shift by more than 7 would give wrong results in most cases. Signed-off-by: Tormod Volden --- diff --git a/Kernel/lowlevel-6809.s b/Kernel/lowlevel-6809.s index 963bd5cc..eafae91a 100644 --- a/Kernel/lowlevel-6809.s +++ b/Kernel/lowlevel-6809.s @@ -585,11 +585,18 @@ ___ashlsi3: ; Shift by 16 ldu 2,x stu ,x + ldu #0 + stu 2,x try8: cmpb #8 blt try_rest subb #8 ; Shift by 8 + ldu 1,x + stu ,x + lda 3,x + sta 2,x + clr 3,x try_rest: tstb