1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-02-05 21:30:52 +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}
beq !+
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(
rValue2 instanceof ConstantInteger &&
((ConstantInteger) rValue2).getValue() == 1 &&
operator != null &&
(operator.getOperator().equals("-") || operator.getOperator().equals("+"))) {
(Operators.MINUS.equals(operator) || Operators.PLUS.equals(operator))) {
signature.append("1");
} else if(
rValue2 instanceof ConstantInteger &&
((ConstantInteger) rValue2).getValue() == 2 &&
operator != null &&
(operator.getOperator().equals("-") || operator.getOperator().equals("+")) &&
(Operators.MINUS.equals(operator) || Operators.PLUS.equals(operator)) &&
(SymbolType.BYTE.equals(rValue1Type) || SymbolType.SBYTE.equals(rValue1Type))
) {
signature.append("2");
} else if(
rValue2 instanceof ConstantInteger &&
((ConstantInteger) rValue2).getValue() <= 9 &&
operator != null &&
(operator.getOperator().equals(">>") || operator.getOperator().equals("<<"))) {
(Operators.SHIFT_RIGHT.equals(operator) || Operators.SHIFT_LEFT.equals(operator))) {
signature.append(((ConstantInteger) rValue2).getValue());
} else if(
rValue2 instanceof ConstantInteger &&
((((ConstantInteger) rValue2).getValue()) % 8 == 0) &&
operator != null &&
(operator.getOperator().equals(">>") || operator.getOperator().equals("<<"))) {
(Operators.SHIFT_RIGHT.equals(operator) || Operators.SHIFT_LEFT.equals(operator))) {
signature.append(((ConstantInteger) rValue2).getValue());
} else if(
rValue2 instanceof ConstantInteger &&
((ConstantInteger) rValue2).getValue() == 0 &&
operator != null &&
(operator.getOperator().equals("-") || operator.getOperator().equals("+"))) {
(Operators.MINUS.equals(operator) || Operators.PLUS.equals(operator)) ) {
signature.append("0");
} else {
signature.append(bind(rValue2));