diff --git a/compiler/src/prog8/compiler/target/c64/codegen/ExpressionsAsmGen.kt b/compiler/src/prog8/compiler/target/c64/codegen/ExpressionsAsmGen.kt index 8bbd4fcf8..664718ac3 100644 --- a/compiler/src/prog8/compiler/target/c64/codegen/ExpressionsAsmGen.kt +++ b/compiler/src/prog8/compiler/target/c64/codegen/ExpressionsAsmGen.kt @@ -1619,9 +1619,9 @@ internal class ExpressionsAsmGen(private val program: Program, private val asmge } } ">>" -> { - translateExpression(expr.left) val amount = expr.right.constValue(program)?.number?.toInt() if(amount!=null) { + translateExpression(expr.left) when (leftDt) { DataType.UBYTE -> { if (amount <= 2) @@ -1669,9 +1669,9 @@ internal class ExpressionsAsmGen(private val program: Program, private val asmge } } "<<" -> { - translateExpression(expr.left) val amount = expr.right.constValue(program)?.number?.toInt() if(amount!=null) { + translateExpression(expr.left) if (leftDt in ByteDatatypes) { if (amount <= 2) repeat(amount) { asmgen.out(" asl P8ESTACK_LO+1,x") }