From 2ccfb2ac90fd8d3b838fbfdeddc717dcfb9e4777 Mon Sep 17 00:00:00 2001 From: Irmen de Jong Date: Sun, 7 Dec 2025 22:23:36 +0100 Subject: [PATCH] fix double evaluation (sign extension) of word to long assignment. Fixes #201 --- .../cpu6502/assignment/AssignmentAsmGen.kt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/AssignmentAsmGen.kt b/codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/AssignmentAsmGen.kt index 1cd3983b0..a23f1347c 100644 --- a/codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/AssignmentAsmGen.kt +++ b/codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/AssignmentAsmGen.kt @@ -2696,35 +2696,35 @@ $endLabel""") } RegisterOrPair.R0R1_32 -> { assignExpressionToRegister(value, RegisterOrPair.R0, false) - asmgen.signExtendLongVariable("cx16.r0", valueDt.base) + return asmgen.signExtendLongVariable("cx16.r0", valueDt.base) } RegisterOrPair.R2R3_32 -> { assignExpressionToRegister(value, RegisterOrPair.R2, false) - asmgen.signExtendLongVariable("cx16.r2", valueDt.base) + return asmgen.signExtendLongVariable("cx16.r2", valueDt.base) } RegisterOrPair.R4R5_32 -> { assignExpressionToRegister(value, RegisterOrPair.R4, false) - asmgen.signExtendLongVariable("cx16.r4", valueDt.base) + return asmgen.signExtendLongVariable("cx16.r4", valueDt.base) } RegisterOrPair.R6R7_32 -> { assignExpressionToRegister(value, RegisterOrPair.R6, false) - asmgen.signExtendLongVariable("cx16.r6", valueDt.base) + return asmgen.signExtendLongVariable("cx16.r6", valueDt.base) } RegisterOrPair.R8R9_32 -> { assignExpressionToRegister(value, RegisterOrPair.R8, false) - asmgen.signExtendLongVariable("cx16.r8", valueDt.base) + return asmgen.signExtendLongVariable("cx16.r8", valueDt.base) } RegisterOrPair.R10R11_32 -> { assignExpressionToRegister(value, RegisterOrPair.R10, false) - asmgen.signExtendLongVariable("cx16.r10", valueDt.base) + return asmgen.signExtendLongVariable("cx16.r10", valueDt.base) } RegisterOrPair.R12R13_32 -> { assignExpressionToRegister(value, RegisterOrPair.R12, false) - asmgen.signExtendLongVariable("cx16.r12", valueDt.base) + return asmgen.signExtendLongVariable("cx16.r12", valueDt.base) } RegisterOrPair.R14R15_32 -> { assignExpressionToRegister(value, RegisterOrPair.R14, false) - asmgen.signExtendLongVariable("cx16.r14", valueDt.base) + return asmgen.signExtendLongVariable("cx16.r14", valueDt.base) } else -> {} }