1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-02-11 01:30:53 +00:00

Added missing fragment

This commit is contained in:
jespergravgaard 2021-07-16 13:55:58 +02:00
parent 3dff5d04fb
commit bd15b53cab
3 changed files with 12 additions and 11 deletions

View File

@ -2,4 +2,4 @@ lda #1
cpx #{c1} cpx #{c1}
beq !+ beq !+
lda #0 lda #0
!: !:

View File

@ -0,0 +1,6 @@
clc
adc #1
sta {m1}
lda #0
adc #0
sta {m1}+1

View File

@ -257,34 +257,29 @@ public class AsmFragmentInstanceSpecBuilder {
if( if(
rValue2 instanceof ConstantInteger && rValue2 instanceof ConstantInteger &&
((ConstantInteger) rValue2).getValue() == 1 && ((ConstantInteger) rValue2).getValue() == 1 &&
operator != null && (Operators.MINUS.equals(operator) || Operators.PLUS.equals(operator))) {
(operator.getOperator().equals("-") || operator.getOperator().equals("+"))) {
signature.append("1"); signature.append("1");
} else if( } else if(
rValue2 instanceof ConstantInteger && rValue2 instanceof ConstantInteger &&
((ConstantInteger) rValue2).getValue() == 2 && ((ConstantInteger) rValue2).getValue() == 2 &&
operator != null && (Operators.MINUS.equals(operator) || Operators.PLUS.equals(operator)) &&
(operator.getOperator().equals("-") || operator.getOperator().equals("+")) &&
(SymbolType.BYTE.equals(rValue1Type) || SymbolType.SBYTE.equals(rValue1Type)) (SymbolType.BYTE.equals(rValue1Type) || SymbolType.SBYTE.equals(rValue1Type))
) { ) {
signature.append("2"); signature.append("2");
} else if( } else if(
rValue2 instanceof ConstantInteger && rValue2 instanceof ConstantInteger &&
((ConstantInteger) rValue2).getValue() <= 9 && ((ConstantInteger) rValue2).getValue() <= 9 &&
operator != null && (Operators.SHIFT_RIGHT.equals(operator) || Operators.SHIFT_LEFT.equals(operator))) {
(operator.getOperator().equals(">>") || operator.getOperator().equals("<<"))) {
signature.append(((ConstantInteger) rValue2).getValue()); signature.append(((ConstantInteger) rValue2).getValue());
} else if( } else if(
rValue2 instanceof ConstantInteger && rValue2 instanceof ConstantInteger &&
((((ConstantInteger) rValue2).getValue()) % 8 == 0) && ((((ConstantInteger) rValue2).getValue()) % 8 == 0) &&
operator != null && (Operators.SHIFT_RIGHT.equals(operator) || Operators.SHIFT_LEFT.equals(operator))) {
(operator.getOperator().equals(">>") || operator.getOperator().equals("<<"))) {
signature.append(((ConstantInteger) rValue2).getValue()); signature.append(((ConstantInteger) rValue2).getValue());
} else if( } else if(
rValue2 instanceof ConstantInteger && rValue2 instanceof ConstantInteger &&
((ConstantInteger) rValue2).getValue() == 0 && ((ConstantInteger) rValue2).getValue() == 0 &&
operator != null && (Operators.MINUS.equals(operator) || Operators.PLUS.equals(operator)) ) {
(operator.getOperator().equals("-") || operator.getOperator().equals("+"))) {
signature.append("0"); signature.append("0");
} else { } else {
signature.append(bind(rValue2)); signature.append(bind(rValue2));