1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-04-08 14:37:40 +00:00

Eliminated SymbolType.STRING

This commit is contained in:
jespergravgaard 2020-02-06 22:52:23 +01:00
parent a612562dc7
commit f73b048d2e
257 changed files with 971 additions and 1069 deletions

View File

@ -397,7 +397,6 @@ public class Compiler {
constantOptimizations.add(new Pass2NopCastInlining(program));
constantOptimizations.add(new Pass2MultiplyToShiftRewriting(program));
constantOptimizations.add(new Pass2ConstantInlining(program));
constantOptimizations.add(new Pass2ArrayInStructInlining(program));
constantOptimizations.add(new Pass2ConstantAdditionElimination(program));
constantOptimizations.add(new Pass2ConstantSimplification(program));
constantOptimizations.addAll(getPass2Optimizations());

View File

@ -169,7 +169,7 @@ public class AsmFormat {
SymbolType operandType = SymbolTypeInference.inferType(program.getScope(), operand);
if(SymbolType.BYTE.equals(operandType) || SymbolType.SBYTE.equals(operandType)) {
return getAsmConstant(program, operand, outerPrecedence, codeScope);
} else if(SymbolType.WORD.equals(operandType) || SymbolType.SWORD.equals(operandType) || operandType instanceof SymbolTypePointer || SymbolType.STRING.equals(operandType)) {
} else if(SymbolType.WORD.equals(operandType) || SymbolType.SWORD.equals(operandType) || operandType instanceof SymbolTypePointer) {
return "<" + getAsmConstant(program, operand, outerPrecedence, codeScope);
} else if(SymbolType.DWORD.equals(operandType) || SymbolType.SDWORD.equals(operandType)) {
return getAsmConstant(program, new ConstantBinary(operand, Operators.BOOL_AND, new ConstantInteger((long) 0xffff)), outerPrecedence, codeScope);
@ -180,7 +180,7 @@ public class AsmFormat {
SymbolType operandType = SymbolTypeInference.inferType(program.getScope(), operand);
if(SymbolType.BYTE.equals(operandType) || SymbolType.SBYTE.equals(operandType)) {
return getAsmConstant(program, new ConstantInteger(0l), outerPrecedence, codeScope);
} else if(SymbolType.WORD.equals(operandType) || SymbolType.SWORD.equals(operandType) || operandType instanceof SymbolTypePointer || SymbolType.STRING.equals(operandType)) {
} else if(SymbolType.WORD.equals(operandType) || SymbolType.SWORD.equals(operandType) || operandType instanceof SymbolTypePointer) {
return ">" + getAsmConstant(program, operand, outerPrecedence, codeScope);
} else if(SymbolType.DWORD.equals(operandType) || SymbolType.SDWORD.equals(operandType)) {
return getAsmConstant(program, new ConstantBinary(operand, Operators.SHIFT_RIGHT, new ConstantInteger((long) 16)), outerPrecedence, codeScope);
@ -195,7 +195,7 @@ public class AsmFormat {
SymbolType operandType = SymbolTypeInference.inferType(program.getScope(), operand);
if(SymbolType.BYTE.equals(operandType) || SymbolType.SBYTE.equals(operandType)) {
return getAsmConstant(program, new ConstantBinary(operand, Operators.BOOL_XOR, new ConstantInteger((long) 0xff)), outerPrecedence, codeScope);
} else if(SymbolType.WORD.equals(operandType) || SymbolType.SWORD.equals(operandType) || operandType instanceof SymbolTypePointer || SymbolType.STRING.equals(operandType)) {
} else if(SymbolType.WORD.equals(operandType) || SymbolType.SWORD.equals(operandType) || operandType instanceof SymbolTypePointer) {
return getAsmConstant(program, new ConstantBinary(operand, Operators.BOOL_XOR, new ConstantInteger((long) 0xffff)), outerPrecedence, codeScope);
} else if(SymbolType.DWORD.equals(operandType) || SymbolType.SDWORD.equals(operandType)) {
return getAsmConstant(program, new ConstantBinary(operand, Operators.BOOL_XOR, new ConstantInteger((long) 0xffffffff)), outerPrecedence, codeScope);

View File

@ -422,8 +422,6 @@ public class AsmFragmentInstanceSpecFactory {
return "vdu";
} else if(SymbolType.SDWORD.equals(type)) {
return "vds";
} else if(SymbolType.STRING.equals(type)) {
return "pbu";
} else if(SymbolType.BOOLEAN.equals(type)) {
return "vbo";
} else if(type instanceof SymbolTypeStruct) {

View File

@ -46,8 +46,6 @@ public class OperatorGetHigh extends OperatorUnary {
return SymbolType.WORD;
} else if(SymbolType.BYTE.equals(operandType) || SymbolType.SBYTE.equals(operandType)) {
return SymbolType.BYTE;
} else if(SymbolType.STRING.equals(operandType)) {
return SymbolType.BYTE;
} else if(SymbolType.NUMBER.equals(operandType)) {
return SymbolType.NUMBER;
} else if(SymbolType.UNUMBER.equals(operandType)) {

View File

@ -46,8 +46,6 @@ public class OperatorGetLow extends OperatorUnary {
return SymbolType.WORD;
} else if(SymbolType.BYTE.equals(operandType) || SymbolType.SBYTE.equals(operandType)) {
return SymbolType.BYTE;
} else if(SymbolType.STRING.equals(operandType)) {
return SymbolType.BYTE;
} else if(SymbolType.NUMBER.equals(operandType)) {
return SymbolType.NUMBER;
} else if(SymbolType.UNUMBER.equals(operandType)) {

View File

@ -40,8 +40,6 @@ public class OperatorMinus extends OperatorBinary {
return new SymbolTypePointer(((SymbolTypePointer) type1).getElementType());
} else if(type1 instanceof SymbolTypePointer && type2 instanceof SymbolTypePointer) {
return SymbolType.WORD;
} else if(SymbolType.STRING.equals(type1) && SymbolType.isInteger(type2)) {
return new SymbolTypePointer(SymbolType.BYTE);
}
// Handle numeric types through proper promotion
if(SymbolType.isInteger(type1) && SymbolType.isInteger(type2)) {

View File

@ -39,8 +39,6 @@ public class OperatorPlus extends OperatorBinary {
return new SymbolTypePointer(((SymbolTypePointer) type2).getElementType());
} else if(type1 instanceof SymbolTypePointer && SymbolType.isInteger(type2)) {
return new SymbolTypePointer(((SymbolTypePointer) type1).getElementType());
} else if(SymbolType.STRING.equals(type1) && SymbolType.isInteger(type2)) {
return new SymbolTypePointer(SymbolType.BYTE);
}
// Handle numeric types through proper promotion
if(SymbolType.isInteger(type1) && SymbolType.isInteger(type2)) {

View File

@ -23,8 +23,6 @@ public interface SymbolType extends Serializable {
SymbolTypeIntegerAuto UNUMBER = new SymbolTypeIntegerAuto("unumber");
/** Signed integer with unknown size (used for constant expressions). */
SymbolTypeIntegerAuto SNUMBER = new SymbolTypeIntegerAuto("snumber");
/** String value (treated like byte* ). */
SymbolTypeNamed STRING = new SymbolTypeNamed("string", 99);
/** Boolean value. */
SymbolTypeNamed BOOLEAN = new SymbolTypeNamed("bool", 1);
/** Numeric floating point value. */
@ -86,8 +84,6 @@ public interface SymbolType extends Serializable {
return DWORD;
case "signed long":
return SDWORD;
case "string":
return STRING;
case "bool":
return BOOLEAN;
case "void":

View File

@ -224,10 +224,6 @@ public class SymbolTypeConversion {
// R-value is still a number - constants are probably not done being identified & typed
return true;
}
if(SymbolType.STRING.equals(rValueType) && lValueType instanceof SymbolTypePointer && SymbolType.BYTE.equals(((SymbolTypePointer) lValueType).getElementType())) {
// String value can be assigned into a pointer
return true;
}
if(lValueType instanceof SymbolTypePointer && rValueType instanceof SymbolTypePointer && assignmentTypeMatch(((SymbolTypePointer) lValueType).getElementType(), ((SymbolTypePointer) rValueType).getElementType())) {
// Pointer types assigned from each other
return true;
@ -247,8 +243,6 @@ public class SymbolTypeConversion {
return false;
else if(lValueType instanceof SymbolTypePointer && rValueType instanceof SymbolTypePointer && ((SymbolTypePointer) lValueType).getElementType().equals(((SymbolTypePointer) rValueType).getElementType()))
return false;
else if(lValueType instanceof SymbolTypePointer && SymbolType.STRING.equals(rValueType) && SymbolType.BYTE.equals(((SymbolTypePointer) lValueType).getElementType()))
return false;
else
return true;
}

View File

@ -28,7 +28,7 @@ public class SymbolTypeInference {
} else if(rValue instanceof ConstantInteger) {
return ((ConstantInteger) rValue).getType(symbols);
} else if(rValue instanceof ConstantString) {
type = SymbolType.STRING;
type = new SymbolTypePointer(SymbolType.BYTE);
} else if(rValue instanceof ConstantChar) {
type = SymbolType.BYTE;
} else if(rValue instanceof ConstantBool) {
@ -48,8 +48,6 @@ public class SymbolTypeInference {
SymbolType pointerType = inferType(symbols, ((PointerDereference) rValue).getPointer());
if(pointerType instanceof SymbolTypePointer) {
return ((SymbolTypePointer) pointerType).getElementType();
} else if(pointerType.equals(SymbolType.STRING)) {
return SymbolType.BYTE;
} else {
return SymbolType.VAR;
}

View File

@ -4,6 +4,7 @@ import dk.camelot64.kickc.model.CompileError;
import dk.camelot64.kickc.model.Program;
import dk.camelot64.kickc.model.symbols.ProgramScope;
import dk.camelot64.kickc.model.types.SymbolType;
import dk.camelot64.kickc.model.types.SymbolTypePointer;
import java.util.Objects;
@ -46,7 +47,7 @@ public class ConstantString implements ConstantLiteral<String> {
@Override
public SymbolType getType(ProgramScope scope) {
return SymbolType.STRING;
return new SymbolTypePointer(SymbolType.BYTE);
}
@Override
@ -86,7 +87,7 @@ public class ConstantString implements ConstantLiteral<String> {
if(program == null) {
return "\"" + value + "\"" + suffix;
} else {
return "(" + SymbolType.STRING.getTypeName() + ") " + "\"" + value + "\"" + suffix;
return "(" + getType(program.getScope()).getTypeName() + ") " + "\"" + value + "\"" + suffix;
}
}

View File

@ -1,76 +0,0 @@
package dk.camelot64.kickc.passes;
import dk.camelot64.kickc.model.Program;
import dk.camelot64.kickc.model.iterator.ProgramValue;
import dk.camelot64.kickc.model.iterator.ProgramValueIterator;
import dk.camelot64.kickc.model.symbols.Variable;
import dk.camelot64.kickc.model.types.SymbolType;
import dk.camelot64.kickc.model.values.ConstantRef;
import dk.camelot64.kickc.model.values.ConstantValue;
import dk.camelot64.kickc.model.values.SymbolVariableRef;
import dk.camelot64.kickc.model.values.Value;
import java.util.HashMap;
import java.util.Map;
/**
* Compiler Pass inlining arrays inside literal structs
*/
public class Pass2ArrayInStructInlining extends Pass2SsaOptimization {
public Pass2ArrayInStructInlining(Program program) {
super(program);
}
/**
* Consolidate unnamed constants into other constants value
*
* @return true optimization was performed. false if no optimization was possible.
*/
@Override
public boolean step() {
Map<ConstantRef, ConstantValue> inline = new HashMap<>();
inline.putAll(findArrayInStruct());
// Replace all usages of the constants in the control flow graph or symbol table
replaceVariables(inline);
// Remove from symbol table
deleteSymbols(getScope(), inline.keySet());
for(ConstantRef constantRef : inline.keySet()) {
getLog().append("Constant array inlined into struct " + constantRef.toString() + " = " + inline.get(constantRef).toString(getProgram()));
}
return inline.size() > 0;
}
/**
* Find constant fixed size arrays inside structs.
*
* @return Map from constant name to constant value
*/
private Map<ConstantRef, ConstantValue> findArrayInStruct() {
Map<ConstantRef, ConstantValue> inline = new HashMap<>();
ProgramValueIterator.execute(getProgram(), (programValue, currentStmt, stmtIt, currentBlock) -> {
Value value = programValue.get();
if(programValue instanceof ProgramValue.ProgramValueConstantStructMember) {
SymbolVariableRef memberRef = ((ProgramValue.ProgramValueConstantStructMember) programValue).getMemberRef();
Variable structMemberVar = getScope().getVar(memberRef);
if(structMemberVar.isArray() && structMemberVar.getArraySize() != null) {
if(value instanceof ConstantValue) {
ConstantValue constantValue = (ConstantValue) value;
if(constantValue.getType(getProgram().getScope()).equals(SymbolType.STRING)) {
if(constantValue instanceof ConstantRef) {
Variable constantStringVar = getScope().getConstant((ConstantRef) constantValue);
inline.put((ConstantRef) constantValue, constantStringVar.getInitValue());
}
}
}
}
}
});
return inline;
}
}

View File

@ -644,7 +644,16 @@ public class Pass4CodeGeneration {
}
dataChunk.addDataKickAsm(bytes, kickAsm.getKickAsmCode(), getEncoding(value));
dataNumElements = bytes;
} else if(dataType.equals(SymbolType.STRING)) {
} else if(value instanceof ConstantString) {
ConstantString stringValue = (ConstantString) value;
String asmConstant = AsmFormat.getAsmConstant(program, stringValue, 99, scopeRef);
dataChunk.addDataString(asmConstant, getEncoding(stringValue));
if(stringValue.isZeroTerminated()) {
dataChunk.addDataNumeric(AsmDataNumeric.Type.BYTE, "0", null);
}
dataNumElements = stringValue.getStringLength();
/*
try {
ConstantLiteral literal = value.calculateLiteral(getScope());
if(literal instanceof ConstantString) {
@ -659,6 +668,7 @@ public class Pass4CodeGeneration {
} catch(ConstantNotLiteral e) {
// can't calculate literal value, so it is not data - just return
}
*/
} else {
// Assume we have a ConstantArrayList
ConstantArrayList constantArrayList = (ConstantArrayList) value;

View File

@ -58,16 +58,6 @@ public class PassNAddTypeConversionAssignment extends Pass2SsaOptimization {
getLog().append("Adding pointer type conversion cast to void pointer (" + leftType + ") " + binary.getRight().toString() + " in " + currentStmt.toString(getProgram(), false));
binary.addRightCast(leftType, stmtIt, currentBlock.getScope(), getScope());
modified.set(true);
} else if((leftType instanceof SymbolTypePointer) && SymbolType.STRING.equals(rightType) && SymbolType.VOID.equals(((SymbolTypePointer) leftType).getElementType())) {
if(pass2 || getLog().isVerbosePass1CreateSsa())
getLog().append("Adding void pointer type conversion cast (" + leftType + ") " + binary.getRight().toString() + " in " + currentStmt.toString(getProgram(), false));
binary.addRightCast(leftType, stmtIt, currentBlock.getScope(), getScope());
modified.set(true);
} else if(leftType.equals(SymbolType.STRING) && rightType instanceof SymbolTypePointer && SymbolType.VOID.equals(((SymbolTypePointer) rightType).getElementType())) {
if(pass2 || getLog().isVerbosePass1CreateSsa())
getLog().append("Adding pointer type conversion cast to void pointer (" + leftType + ") " + binary.getRight().toString() + " in " + currentStmt.toString(getProgram(), false));
binary.addRightCast(leftType, stmtIt, currentBlock.getScope(), getScope());
modified.set(true);
} else if(SymbolType.WORD.equals(leftType) && isLiteralWordCandidate(right)) {
// Detect word literal constructor
SymbolType conversionType = SymbolType.WORD;

View File

@ -74,7 +74,7 @@ SYMBOL TABLE SSA
(byte) main::i1#1
(byte) main::i1#2
(byte) main::i1#3
(const byte*) msg1[(number) $10] = (string) "camelot"
(const byte*) msg1[(number) $10] = (byte*) "camelot"
(const byte*) msg2[(number) $10] = { (byte) 'c', (byte) 'm', (byte) 'l' }
Adding number conversion cast (unumber) 0 in (bool~) main::$0 ← (number) 0 != *((const byte*) msg1 + (byte) main::i#2)
@ -421,7 +421,7 @@ FINAL SYMBOL TABLE
(byte) main::i1
(byte) main::i1#1 reg byte x 22.0
(byte) main::i1#2 reg byte x 18.333333333333332
(const byte*) msg1[(number) $10] = (string) "camelot"
(const byte*) msg1[(number) $10] = (byte*) "camelot"
(const byte*) msg2[(number) $10] = { (byte) 'c', (byte) 'm', (byte) 'l' }
reg byte x [ main::i#2 main::i#1 ]

View File

@ -14,7 +14,7 @@
(byte) main::i1
(byte) main::i1#1 reg byte x 22.0
(byte) main::i1#2 reg byte x 18.333333333333332
(const byte*) msg1[(number) $10] = (string) "camelot"
(const byte*) msg1[(number) $10] = (byte*) "camelot"
(const byte*) msg2[(number) $10] = { (byte) 'c', (byte) 'm', (byte) 'l' }
reg byte x [ main::i#2 main::i#1 ]

View File

@ -31,7 +31,7 @@ SYMBOL TABLE SSA
(const byte*) SCREEN = (byte*)(number) $400
(const byte*) b[(number) 3] = { fill( 3, 0) }
(const byte*) c[] = { (byte) 'c', (byte) 'm', (byte) 'l' }
(const byte*) d[] = (string) "cml"z
(const byte*) d[] = (byte*) "cml"z
(void()) main()
(byte*~) main::$0
(byte*~) main::$1
@ -253,7 +253,7 @@ FINAL SYMBOL TABLE
(const byte*) SCREEN = (byte*) 1024
(const byte*) b[(number) 3] = { fill( 3, 0) }
(const byte*) c[] = { (byte) 'c', (byte) 'm', (byte) 'l' }
(const byte*) d[] = (string) "cml"z
(const byte*) d[] = (byte*) "cml"z
(void()) main()
(label) main::@return

View File

@ -4,7 +4,7 @@
(const byte*) SCREEN = (byte*) 1024
(const byte*) b[(number) 3] = { fill( 3, 0) }
(const byte*) c[] = { (byte) 'c', (byte) 'm', (byte) 'l' }
(const byte*) d[] = (string) "cml"z
(const byte*) d[] = (byte*) "cml"z
(void()) main()
(label) main::@return

View File

@ -1013,7 +1013,7 @@ SYMBOL TABLE SSA
(dword) print_dword::dw#1
(dword) print_dword::dw#2
(dword) print_dword::dw#3
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#0
(byte*) print_line_cursor#1
@ -1200,7 +1200,7 @@ SYMBOL TABLE SSA
(label) testChar::@return
(const byte) testChar::n = (byte) $e
(const signed byte) testChar::s = (signed byte) -$e
(const byte*) testChar::str[(byte) 7] = (string) "char: "
(const byte*) testChar::str[(byte) 7] = (byte*) "char: "
(const byte) testChar::u = (byte) $e
(void()) testInt()
(label) testInt::@1
@ -1213,7 +1213,7 @@ SYMBOL TABLE SSA
(label) testInt::@return
(const signed word) testInt::n = (signed word) -$578
(const signed word) testInt::s = (signed word) -$578
(const byte*) testInt::str[(byte) 6] = (string) "int: "
(const byte*) testInt::str[(byte) 6] = (byte*) "int: "
(const word) testInt::u = (word) $578
(void()) testLong()
(label) testLong::@1
@ -1226,7 +1226,7 @@ SYMBOL TABLE SSA
(label) testLong::@return
(const signed dword) testLong::n = (signed dword) -$222e0
(const signed dword) testLong::s = (signed dword) -$222e0
(const byte*) testLong::str[(byte) 7] = (string) "long: "
(const byte*) testLong::str[(byte) 7] = (byte*) "long: "
(const dword) testLong::u = (dword) $222e0
(void()) testShort()
(label) testShort::@1
@ -1239,7 +1239,7 @@ SYMBOL TABLE SSA
(label) testShort::@return
(const signed word) testShort::n = (signed word) -$578
(const signed word) testShort::s = (signed word) -$578
(const byte*) testShort::str[(byte) 8] = (string) "short: "
(const byte*) testShort::str[(byte) 8] = (byte*) "short: "
(const word) testShort::u = (word) $578
Adding number conversion cast (unumber) 0 in (bool~) memset::$0 ← (word) memset::num#1 > (number) 0
@ -4542,7 +4542,7 @@ FINAL SYMBOL TABLE
(dword) print_dword::dw
(dword) print_dword::dw#0 dw zp[4]:2 4.0
(dword) print_dword::dw#2 dw zp[4]:2 2.0
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#1 print_line_cursor zp[2]:10 0.8333333333333333
(byte*) print_line_cursor#20 print_line_cursor zp[2]:10 24.0
@ -4603,7 +4603,7 @@ FINAL SYMBOL TABLE
(label) testChar::@return
(const byte) testChar::n = (byte) $e
(const signed byte) testChar::s = (signed byte) -$e
(const byte*) testChar::str[(byte) 7] = (string) "char: "
(const byte*) testChar::str[(byte) 7] = (byte*) "char: "
(const byte) testChar::u = (byte) $e
(void()) testInt()
(label) testInt::@1
@ -4615,7 +4615,7 @@ FINAL SYMBOL TABLE
(label) testInt::@return
(const signed word) testInt::n = (signed word) -$578
(const signed word) testInt::s = (signed word) -$578
(const byte*) testInt::str[(byte) 6] = (string) "int: "
(const byte*) testInt::str[(byte) 6] = (byte*) "int: "
(const word) testInt::u = (word) $578
(void()) testLong()
(label) testLong::@1
@ -4627,7 +4627,7 @@ FINAL SYMBOL TABLE
(label) testLong::@return
(const signed dword) testLong::n = (signed dword) -$222e0
(const signed dword) testLong::s = (signed dword) -$222e0
(const byte*) testLong::str[(byte) 7] = (string) "long: "
(const byte*) testLong::str[(byte) 7] = (byte*) "long: "
(const dword) testLong::u = (dword) $222e0
(void()) testShort()
(label) testShort::@1
@ -4639,7 +4639,7 @@ FINAL SYMBOL TABLE
(label) testShort::@return
(const signed word) testShort::n = (signed word) -$578
(const signed word) testShort::s = (signed word) -$578
(const byte*) testShort::str[(byte) 8] = (string) "short: "
(const byte*) testShort::str[(byte) 8] = (byte*) "short: "
(const word) testShort::u = (word) $578
zp[4]:2 [ print_sdword::dw#5 print_sdword::dw#0 print_sdword::dw#3 print_dword::dw#2 print_dword::dw#0 ]

View File

@ -62,7 +62,7 @@
(dword) print_dword::dw
(dword) print_dword::dw#0 dw zp[4]:2 4.0
(dword) print_dword::dw#2 dw zp[4]:2 2.0
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#1 print_line_cursor zp[2]:10 0.8333333333333333
(byte*) print_line_cursor#20 print_line_cursor zp[2]:10 24.0
@ -123,7 +123,7 @@
(label) testChar::@return
(const byte) testChar::n = (byte) $e
(const signed byte) testChar::s = (signed byte) -$e
(const byte*) testChar::str[(byte) 7] = (string) "char: "
(const byte*) testChar::str[(byte) 7] = (byte*) "char: "
(const byte) testChar::u = (byte) $e
(void()) testInt()
(label) testInt::@1
@ -135,7 +135,7 @@
(label) testInt::@return
(const signed word) testInt::n = (signed word) -$578
(const signed word) testInt::s = (signed word) -$578
(const byte*) testInt::str[(byte) 6] = (string) "int: "
(const byte*) testInt::str[(byte) 6] = (byte*) "int: "
(const word) testInt::u = (word) $578
(void()) testLong()
(label) testLong::@1
@ -147,7 +147,7 @@
(label) testLong::@return
(const signed dword) testLong::n = (signed dword) -$222e0
(const signed dword) testLong::s = (signed dword) -$222e0
(const byte*) testLong::str[(byte) 7] = (string) "long: "
(const byte*) testLong::str[(byte) 7] = (byte*) "long: "
(const dword) testLong::u = (dword) $222e0
(void()) testShort()
(label) testShort::@1
@ -159,7 +159,7 @@
(label) testShort::@return
(const signed word) testShort::n = (signed word) -$578
(const signed word) testShort::s = (signed word) -$578
(const byte*) testShort::str[(byte) 8] = (string) "short: "
(const byte*) testShort::str[(byte) 8] = (byte*) "short: "
(const word) testShort::u = (word) $578
zp[4]:2 [ print_sdword::dw#5 print_sdword::dw#0 print_sdword::dw#3 print_dword::dw#2 print_dword::dw#0 ]

View File

@ -109,7 +109,7 @@ SYMBOL TABLE SSA
(const byte*) DTV_FEATURE = (byte*)(number) $d03f
(const byte) DTV_FEATURE_ENABLE = (byte) 1
(const byte*) SCREEN = (byte*)(number) $400
(const byte*) SRCA[] = (string) "camelot rules!"
(const byte*) SRCA[] = (byte*) "camelot rules!"
(const byte*) SRCB[] = { (byte) $80 }
(void()) main()
(byte~) main::$0
@ -860,7 +860,7 @@ FINAL SYMBOL TABLE
(const byte*) DTV_FEATURE = (byte*) 53311
(const byte) DTV_FEATURE_ENABLE = (byte) 1
(const byte*) SCREEN = (byte*) 1024
(const byte*) SRCA[] = (string) "camelot rules!"
(const byte*) SRCA[] = (byte*) "camelot rules!"
(const byte*) SRCB[] = { (byte) $80 }
(void()) main()
(byte~) main::$0 reg byte a 22.0

View File

@ -43,7 +43,7 @@
(const byte*) DTV_FEATURE = (byte*) 53311
(const byte) DTV_FEATURE_ENABLE = (byte) 1
(const byte*) SCREEN = (byte*) 1024
(const byte*) SRCA[] = (string) "camelot rules!"
(const byte*) SRCA[] = (byte*) "camelot rules!"
(const byte*) SRCB[] = { (byte) $80 }
(void()) main()
(byte~) main::$0 reg byte a 22.0

View File

@ -3657,10 +3657,10 @@ SYMBOL TABLE SSA
(const byte*) DTV_PLANEB_START_MI = (byte*)(number) $d04a
(const byte*) DTV_PLANEB_STEP = (byte*)(number) $d04c
(const byte*) FORM_CHARSET = (byte*)(number) $1800
(const byte*) FORM_COLS[] = (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm @ nnnnnnnnnnnn jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @"
(const byte*) FORM_COLS[] = (byte*) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm @ nnnnnnnnnnnn jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @"
(const signed byte) FORM_CURSOR_BLINK = (signed byte) $28
(const byte*) FORM_SCREEN = (byte*)(number) $400
(const byte*) FORM_TEXT[] = (string) " C64 DTV Graphics Mode Explorer @ @ PRESET 0 Standard Charset @ @ CONTROL PLANE A VIC II @ bmm 0 pattern p0 screen s0 @ mcm 0 start 00 gfx g0 @ ecm 0 step 00 colors c0 @ hicolor 0 modulo 00 @ linear 0 COLORS @ color off 0 PLANE B palet 0 @ chunky 0 pattern p0 bgcol0 00 @ border off 0 start 00 bgcol1 00 @ overscan 0 step 00 bgcol2 00 @ modulo 00 bgcol3 00 @"
(const byte*) FORM_TEXT[] = (byte*) " C64 DTV Graphics Mode Explorer @ @ PRESET 0 Standard Charset @ @ CONTROL PLANE A VIC II @ bmm 0 pattern p0 screen s0 @ mcm 0 start 00 gfx g0 @ ecm 0 step 00 colors c0 @ hicolor 0 modulo 00 @ linear 0 COLORS @ color off 0 PLANE B palet 0 @ chunky 0 pattern p0 bgcol0 00 @ border off 0 start 00 bgcol1 00 @ overscan 0 step 00 bgcol2 00 @ modulo 00 bgcol3 00 @"
(const byte) KEY_COMMODORE = (byte) $3d
(const byte) KEY_CRSR_DOWN = (byte) 7
(const byte) KEY_CRSR_RIGHT = (byte) 2
@ -6064,7 +6064,7 @@ SYMBOL TABLE SSA
(void()) print_cls()
(label) print_cls::@1
(label) print_cls::@return
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#0
(byte*) print_line_cursor#1
@ -6240,19 +6240,19 @@ SYMBOL TABLE SSA
(bool~) render_preset_name::$0
(bool~) render_preset_name::$1
(bool~) render_preset_name::$10
(const byte*) render_preset_name::$12[(byte) $1f] = (string) "Standard Charset "
(const byte*) render_preset_name::$13[(byte) $1f] = (string) "Extended Color Charset "
(const byte*) render_preset_name::$14[(byte) $1f] = (string) "Standard Bitmap "
(const byte*) render_preset_name::$15[(byte) $1f] = (string) "Multicolor Bitmap "
(const byte*) render_preset_name::$16[(byte) $1f] = (string) "Hicolor Charset "
(const byte*) render_preset_name::$17[(byte) $1f] = (string) "Hicolor Extended Color Charset"
(const byte*) render_preset_name::$18[(byte) $1f] = (string) "Twoplane Bitmap "
(const byte*) render_preset_name::$19[(byte) $1f] = (string) "Chunky 8bpp "
(const byte*) render_preset_name::$12[(byte) $1f] = (byte*) "Standard Charset "
(const byte*) render_preset_name::$13[(byte) $1f] = (byte*) "Extended Color Charset "
(const byte*) render_preset_name::$14[(byte) $1f] = (byte*) "Standard Bitmap "
(const byte*) render_preset_name::$15[(byte) $1f] = (byte*) "Multicolor Bitmap "
(const byte*) render_preset_name::$16[(byte) $1f] = (byte*) "Hicolor Charset "
(const byte*) render_preset_name::$17[(byte) $1f] = (byte*) "Hicolor Extended Color Charset"
(const byte*) render_preset_name::$18[(byte) $1f] = (byte*) "Twoplane Bitmap "
(const byte*) render_preset_name::$19[(byte) $1f] = (byte*) "Chunky 8bpp "
(bool~) render_preset_name::$2
(const byte*) render_preset_name::$20[(byte) $1f] = (string) "Sixs Fred "
(const byte*) render_preset_name::$21[(byte) $1f] = (string) "Sixs Fred 2 "
(const byte*) render_preset_name::$22[(byte) $1f] = (string) "8bpp Pixel Cell "
(const byte*) render_preset_name::$23[(byte) $1f] = (string) "Standard Charset "
(const byte*) render_preset_name::$20[(byte) $1f] = (byte*) "Sixs Fred "
(const byte*) render_preset_name::$21[(byte) $1f] = (byte*) "Sixs Fred 2 "
(const byte*) render_preset_name::$22[(byte) $1f] = (byte*) "8bpp Pixel Cell "
(const byte*) render_preset_name::$23[(byte) $1f] = (byte*) "Standard Charset "
(bool~) render_preset_name::$3
(bool~) render_preset_name::$4
(bool~) render_preset_name::$5
@ -27037,10 +27037,10 @@ FINAL SYMBOL TABLE
(const byte*) DTV_PLANEB_START_MI = (byte*) 53322
(const byte*) DTV_PLANEB_STEP = (byte*) 53324
(const byte*) FORM_CHARSET = (byte*) 6144
(const byte*) FORM_COLS[] = (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm @ nnnnnnnnnnnn jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @"
(const byte*) FORM_COLS[] = (byte*) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm @ nnnnnnnnnnnn jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @"
(const signed byte) FORM_CURSOR_BLINK = (signed byte) $28
(const byte*) FORM_SCREEN = (byte*) 1024
(const byte*) FORM_TEXT[] = (string) " C64 DTV Graphics Mode Explorer @ @ PRESET 0 Standard Charset @ @ CONTROL PLANE A VIC II @ bmm 0 pattern p0 screen s0 @ mcm 0 start 00 gfx g0 @ ecm 0 step 00 colors c0 @ hicolor 0 modulo 00 @ linear 0 COLORS @ color off 0 PLANE B palet 0 @ chunky 0 pattern p0 bgcol0 00 @ border off 0 start 00 bgcol1 00 @ overscan 0 step 00 bgcol2 00 @ modulo 00 bgcol3 00 @"
(const byte*) FORM_TEXT[] = (byte*) " C64 DTV Graphics Mode Explorer @ @ PRESET 0 Standard Charset @ @ CONTROL PLANE A VIC II @ bmm 0 pattern p0 screen s0 @ mcm 0 start 00 gfx g0 @ ecm 0 step 00 colors c0 @ hicolor 0 modulo 00 @ linear 0 COLORS @ color off 0 PLANE B palet 0 @ chunky 0 pattern p0 bgcol0 00 @ border off 0 start 00 bgcol1 00 @ overscan 0 step 00 bgcol2 00 @ modulo 00 bgcol3 00 @"
(const byte) KEY_COMMODORE = (byte) $3d
(const byte) KEY_CRSR_DOWN = (byte) 7
(const byte) KEY_CRSR_RIGHT = (byte) 2
@ -28156,7 +28156,7 @@ FINAL SYMBOL TABLE
(byte*) print_char_cursor#68 print_char_cursor zp[2]:11 202.0
(void()) print_cls()
(label) print_cls::@return
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#2 print_line_cursor zp[2]:14 8.749999999999998
(byte*) print_line_cursor#21 print_line_cursor zp[2]:14 2004.0
@ -28214,18 +28214,18 @@ FINAL SYMBOL TABLE
(byte) render_preset_name::idx#1 reg byte a 202.0
(byte) render_preset_name::idx#10 reg byte a 11.363636363636362
(byte*) render_preset_name::name
(const byte*) render_preset_name::name#1 name_1 = (string) "Standard Charset "
(const byte*) render_preset_name::name#10 name_10 = (string) "Sixs Fred 2 "
(const byte*) render_preset_name::name#11 name_11 = (string) "8bpp Pixel Cell "
(const byte*) render_preset_name::name#1 name_1 = (byte*) "Standard Charset "
(const byte*) render_preset_name::name#10 name_10 = (byte*) "Sixs Fred 2 "
(const byte*) render_preset_name::name#11 name_11 = (byte*) "8bpp Pixel Cell "
(byte*) render_preset_name::name#13 name zp[2]:6 2.0
(const byte*) render_preset_name::name#2 name_2 = (string) "Extended Color Charset "
(const byte*) render_preset_name::name#3 name_3 = (string) "Standard Bitmap "
(const byte*) render_preset_name::name#4 name_4 = (string) "Multicolor Bitmap "
(const byte*) render_preset_name::name#5 name_5 = (string) "Hicolor Charset "
(const byte*) render_preset_name::name#6 name_6 = (string) "Hicolor Extended Color Charset"
(const byte*) render_preset_name::name#7 name_7 = (string) "Twoplane Bitmap "
(const byte*) render_preset_name::name#8 name_8 = (string) "Chunky 8bpp "
(const byte*) render_preset_name::name#9 name_9 = (string) "Sixs Fred "
(const byte*) render_preset_name::name#2 name_2 = (byte*) "Extended Color Charset "
(const byte*) render_preset_name::name#3 name_3 = (byte*) "Standard Bitmap "
(const byte*) render_preset_name::name#4 name_4 = (byte*) "Multicolor Bitmap "
(const byte*) render_preset_name::name#5 name_5 = (byte*) "Hicolor Charset "
(const byte*) render_preset_name::name#6 name_6 = (byte*) "Hicolor Extended Color Charset"
(const byte*) render_preset_name::name#7 name_7 = (byte*) "Twoplane Bitmap "
(const byte*) render_preset_name::name#8 name_8 = (byte*) "Chunky 8bpp "
(const byte*) render_preset_name::name#9 name_9 = (byte*) "Sixs Fred "
reg byte x [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ]
reg byte x [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ]

View File

@ -43,10 +43,10 @@
(const byte*) DTV_PLANEB_START_MI = (byte*) 53322
(const byte*) DTV_PLANEB_STEP = (byte*) 53324
(const byte*) FORM_CHARSET = (byte*) 6144
(const byte*) FORM_COLS[] = (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm @ nnnnnnnnnnnn jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @"
(const byte*) FORM_COLS[] = (byte*) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm @ nnnnnnnnnnnn jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @"
(const signed byte) FORM_CURSOR_BLINK = (signed byte) $28
(const byte*) FORM_SCREEN = (byte*) 1024
(const byte*) FORM_TEXT[] = (string) " C64 DTV Graphics Mode Explorer @ @ PRESET 0 Standard Charset @ @ CONTROL PLANE A VIC II @ bmm 0 pattern p0 screen s0 @ mcm 0 start 00 gfx g0 @ ecm 0 step 00 colors c0 @ hicolor 0 modulo 00 @ linear 0 COLORS @ color off 0 PLANE B palet 0 @ chunky 0 pattern p0 bgcol0 00 @ border off 0 start 00 bgcol1 00 @ overscan 0 step 00 bgcol2 00 @ modulo 00 bgcol3 00 @"
(const byte*) FORM_TEXT[] = (byte*) " C64 DTV Graphics Mode Explorer @ @ PRESET 0 Standard Charset @ @ CONTROL PLANE A VIC II @ bmm 0 pattern p0 screen s0 @ mcm 0 start 00 gfx g0 @ ecm 0 step 00 colors c0 @ hicolor 0 modulo 00 @ linear 0 COLORS @ color off 0 PLANE B palet 0 @ chunky 0 pattern p0 bgcol0 00 @ border off 0 start 00 bgcol1 00 @ overscan 0 step 00 bgcol2 00 @ modulo 00 bgcol3 00 @"
(const byte) KEY_COMMODORE = (byte) $3d
(const byte) KEY_CRSR_DOWN = (byte) 7
(const byte) KEY_CRSR_RIGHT = (byte) 2
@ -1162,7 +1162,7 @@
(byte*) print_char_cursor#68 print_char_cursor zp[2]:11 202.0
(void()) print_cls()
(label) print_cls::@return
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#2 print_line_cursor zp[2]:14 8.749999999999998
(byte*) print_line_cursor#21 print_line_cursor zp[2]:14 2004.0
@ -1220,18 +1220,18 @@
(byte) render_preset_name::idx#1 reg byte a 202.0
(byte) render_preset_name::idx#10 reg byte a 11.363636363636362
(byte*) render_preset_name::name
(const byte*) render_preset_name::name#1 name_1 = (string) "Standard Charset "
(const byte*) render_preset_name::name#10 name_10 = (string) "Sixs Fred 2 "
(const byte*) render_preset_name::name#11 name_11 = (string) "8bpp Pixel Cell "
(const byte*) render_preset_name::name#1 name_1 = (byte*) "Standard Charset "
(const byte*) render_preset_name::name#10 name_10 = (byte*) "Sixs Fred 2 "
(const byte*) render_preset_name::name#11 name_11 = (byte*) "8bpp Pixel Cell "
(byte*) render_preset_name::name#13 name zp[2]:6 2.0
(const byte*) render_preset_name::name#2 name_2 = (string) "Extended Color Charset "
(const byte*) render_preset_name::name#3 name_3 = (string) "Standard Bitmap "
(const byte*) render_preset_name::name#4 name_4 = (string) "Multicolor Bitmap "
(const byte*) render_preset_name::name#5 name_5 = (string) "Hicolor Charset "
(const byte*) render_preset_name::name#6 name_6 = (string) "Hicolor Extended Color Charset"
(const byte*) render_preset_name::name#7 name_7 = (string) "Twoplane Bitmap "
(const byte*) render_preset_name::name#8 name_8 = (string) "Chunky 8bpp "
(const byte*) render_preset_name::name#9 name_9 = (string) "Sixs Fred "
(const byte*) render_preset_name::name#2 name_2 = (byte*) "Extended Color Charset "
(const byte*) render_preset_name::name#3 name_3 = (byte*) "Standard Bitmap "
(const byte*) render_preset_name::name#4 name_4 = (byte*) "Multicolor Bitmap "
(const byte*) render_preset_name::name#5 name_5 = (byte*) "Hicolor Charset "
(const byte*) render_preset_name::name#6 name_6 = (byte*) "Hicolor Extended Color Charset"
(const byte*) render_preset_name::name#7 name_7 = (byte*) "Twoplane Bitmap "
(const byte*) render_preset_name::name#8 name_8 = (byte*) "Chunky 8bpp "
(const byte*) render_preset_name::name#9 name_9 = (byte*) "Sixs Fred "
reg byte x [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ]
reg byte x [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ]

View File

@ -3121,7 +3121,7 @@ SYMBOL TABLE SSA
(const byte) KEY_SPACE = (byte) $3c
(const byte) KEY_U = (byte) $1e
(const byte) LIGHT_GREEN = (byte) $d
(const byte*) MENU_TEXT[] = (string) "C64DTV Graphics Modes CCLHBME@ OHIIMCC@ LUNCMMM@----------------------------------------@1. Standard Char (V) 0000000@2. Extended Color Char (V) 0000001@3. Multicolor Char (V) 0000010@4. Standard Bitmap (V) 0000100@5. Multicolor Bitmap (V) 0000110@6. High Color Standard Char (H) 0001000@7. High Extended Color Char (H) 0001001@8. High Multicolor Char (H) 0001010@9. High Multicolor Bitmap (H) 0001110@a. Sixs Fred 2 (D) 0010111@b. Two Plane Bitmap (D) 0011101@c. Sixs Fred (2 Plane MC BM) (D) 0011111@d. 8bpp Pixel Cell (D) 0111011@e. Chunky 8bpp Bitmap (D) 1111011@----------------------------------------@ (V) vicII (H) vicII+hicol (D) c64dtv@"
(const byte*) MENU_TEXT[] = (byte*) "C64DTV Graphics Modes CCLHBME@ OHIIMCC@ LUNCMMM@----------------------------------------@1. Standard Char (V) 0000000@2. Extended Color Char (V) 0000001@3. Multicolor Char (V) 0000010@4. Standard Bitmap (V) 0000100@5. Multicolor Bitmap (V) 0000110@6. High Color Standard Char (H) 0001000@7. High Extended Color Char (H) 0001001@8. High Multicolor Char (H) 0001010@9. High Multicolor Bitmap (H) 0001110@a. Sixs Fred 2 (D) 0010111@b. Two Plane Bitmap (D) 0011101@c. Sixs Fred (2 Plane MC BM) (D) 0011111@d. 8bpp Pixel Cell (D) 0111011@e. Chunky 8bpp Bitmap (D) 1111011@----------------------------------------@ (V) vicII (H) vicII+hicol (D) c64dtv@"
(const byte*) PROCPORT = (byte*)(number) 1
(const byte*) PROCPORT_DDR = (byte*)(number) 0
(const byte) PROCPORT_DDR_MEMORY_MASK = (byte) 7
@ -24684,7 +24684,7 @@ FINAL SYMBOL TABLE
(const byte) KEY_SPACE = (byte) $3c
(const byte) KEY_U = (byte) $1e
(const byte) LIGHT_GREEN = (byte) $d
(const byte*) MENU_TEXT[] = (string) "C64DTV Graphics Modes CCLHBME@ OHIIMCC@ LUNCMMM@----------------------------------------@1. Standard Char (V) 0000000@2. Extended Color Char (V) 0000001@3. Multicolor Char (V) 0000010@4. Standard Bitmap (V) 0000100@5. Multicolor Bitmap (V) 0000110@6. High Color Standard Char (H) 0001000@7. High Extended Color Char (H) 0001001@8. High Multicolor Char (H) 0001010@9. High Multicolor Bitmap (H) 0001110@a. Sixs Fred 2 (D) 0010111@b. Two Plane Bitmap (D) 0011101@c. Sixs Fred (2 Plane MC BM) (D) 0011111@d. 8bpp Pixel Cell (D) 0111011@e. Chunky 8bpp Bitmap (D) 1111011@----------------------------------------@ (V) vicII (H) vicII+hicol (D) c64dtv@"
(const byte*) MENU_TEXT[] = (byte*) "C64DTV Graphics Modes CCLHBME@ OHIIMCC@ LUNCMMM@----------------------------------------@1. Standard Char (V) 0000000@2. Extended Color Char (V) 0000001@3. Multicolor Char (V) 0000010@4. Standard Bitmap (V) 0000100@5. Multicolor Bitmap (V) 0000110@6. High Color Standard Char (H) 0001000@7. High Extended Color Char (H) 0001001@8. High Multicolor Char (H) 0001010@9. High Multicolor Bitmap (H) 0001110@a. Sixs Fred 2 (D) 0010111@b. Two Plane Bitmap (D) 0011101@c. Sixs Fred (2 Plane MC BM) (D) 0011111@d. 8bpp Pixel Cell (D) 0111011@e. Chunky 8bpp Bitmap (D) 1111011@----------------------------------------@ (V) vicII (H) vicII+hicol (D) c64dtv@"
(const byte*) PROCPORT = (byte*) 1
(const byte*) PROCPORT_DDR = (byte*) 0
(const byte) PROCPORT_DDR_MEMORY_MASK = (byte) 7

View File

@ -61,7 +61,7 @@
(const byte) KEY_SPACE = (byte) $3c
(const byte) KEY_U = (byte) $1e
(const byte) LIGHT_GREEN = (byte) $d
(const byte*) MENU_TEXT[] = (string) "C64DTV Graphics Modes CCLHBME@ OHIIMCC@ LUNCMMM@----------------------------------------@1. Standard Char (V) 0000000@2. Extended Color Char (V) 0000001@3. Multicolor Char (V) 0000010@4. Standard Bitmap (V) 0000100@5. Multicolor Bitmap (V) 0000110@6. High Color Standard Char (H) 0001000@7. High Extended Color Char (H) 0001001@8. High Multicolor Char (H) 0001010@9. High Multicolor Bitmap (H) 0001110@a. Sixs Fred 2 (D) 0010111@b. Two Plane Bitmap (D) 0011101@c. Sixs Fred (2 Plane MC BM) (D) 0011111@d. 8bpp Pixel Cell (D) 0111011@e. Chunky 8bpp Bitmap (D) 1111011@----------------------------------------@ (V) vicII (H) vicII+hicol (D) c64dtv@"
(const byte*) MENU_TEXT[] = (byte*) "C64DTV Graphics Modes CCLHBME@ OHIIMCC@ LUNCMMM@----------------------------------------@1. Standard Char (V) 0000000@2. Extended Color Char (V) 0000001@3. Multicolor Char (V) 0000010@4. Standard Bitmap (V) 0000100@5. Multicolor Bitmap (V) 0000110@6. High Color Standard Char (H) 0001000@7. High Extended Color Char (H) 0001001@8. High Multicolor Char (H) 0001010@9. High Multicolor Bitmap (H) 0001110@a. Sixs Fred 2 (D) 0010111@b. Two Plane Bitmap (D) 0011101@c. Sixs Fred (2 Plane MC BM) (D) 0011111@d. 8bpp Pixel Cell (D) 0111011@e. Chunky 8bpp Bitmap (D) 1111011@----------------------------------------@ (V) vicII (H) vicII+hicol (D) c64dtv@"
(const byte*) PROCPORT = (byte*) 1
(const byte*) PROCPORT_DDR = (byte*) 0
(const byte) PROCPORT_DDR_MEMORY_MASK = (byte) 7

View File

@ -288,7 +288,7 @@ SYMBOL TABLE SSA
(dword) print_dword_at::dw#0
(dword) print_dword_at::dw#1
(dword) print_dword_at::dw#2
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at)
(byte~) print_word_at::$0
(byte~) print_word_at::$2
@ -1463,7 +1463,7 @@ FINAL SYMBOL TABLE
(byte*) print_dword_at::at
(dword) print_dword_at::dw
(dword) print_dword_at::dw#0 dw zp[4]:9 5.0
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at)
(label) print_word_at::@1
(label) print_word_at::@return

View File

@ -55,7 +55,7 @@
(byte*) print_dword_at::at
(dword) print_dword_at::dw
(dword) print_dword_at::dw#0 dw zp[4]:9 5.0
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at)
(label) print_word_at::@1
(label) print_word_at::@return

View File

@ -281,7 +281,7 @@ SYMBOL TABLE SSA
(dword) print_dword_at::dw#0
(dword) print_dword_at::dw#1
(dword) print_dword_at::dw#2
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at)
(byte~) print_word_at::$0
(byte~) print_word_at::$2
@ -1370,7 +1370,7 @@ FINAL SYMBOL TABLE
(byte*) print_dword_at::at
(dword) print_dword_at::dw
(dword) print_dword_at::dw#0 dw zp[4]:9 5.0
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at)
(label) print_word_at::@1
(label) print_word_at::@return

View File

@ -50,7 +50,7 @@
(byte*) print_dword_at::at
(dword) print_dword_at::dw
(dword) print_dword_at::dw#0 dw zp[4]:9 5.0
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at)
(label) print_word_at::@1
(label) print_word_at::@return

View File

@ -167,7 +167,7 @@ SYMBOL TABLE SSA
(label) main::@5
(label) main::@9
(label) main::@return
(const byte*) main::header[] = (string) " < <= == >= >"
(const byte*) main::header[] = (byte*) " < <= == >= >"
(byte) main::i
(byte) main::i#0
(byte) main::i#1
@ -1011,7 +1011,7 @@ FINAL SYMBOL TABLE
(label) main::@8
(label) main::@9
(label) main::@return
(const byte*) main::header[] = (string) " < <= == >= >"
(const byte*) main::header[] = (byte*) " < <= == >= >"
(byte) main::i
(byte) main::i#1 reg byte x 22.0
(byte) main::i#2 reg byte x 18.333333333333332

View File

@ -19,7 +19,7 @@
(label) main::@8
(label) main::@9
(label) main::@return
(const byte*) main::header[] = (string) " < <= == >= >"
(const byte*) main::header[] = (byte*) " < <= == >= >"
(byte) main::i
(byte) main::i#1 reg byte x 22.0
(byte) main::i#2 reg byte x 18.333333333333332

View File

@ -50,7 +50,7 @@ SYMBOL TABLE SSA
(label) @begin
(label) @end
(const byte*) BGCOL = (byte*)(number) $c01a
(const byte*) MESSAGE[] = (string) "hello world"
(const byte*) MESSAGE[] = (byte*) "hello world"
(const byte*) SCREEN[(number) $32] = { fill( $32, 0) }
(const void()**) VECTORS[] = { &interrupt(HARDWARE_ALL)(void()) nmiHandler(), &(void()) entryPoint() }
(void()) entryPoint()
@ -408,7 +408,7 @@ FINAL SYMBOL TABLE
(label) @begin
(label) @end
(const byte*) BGCOL = (byte*) 49178
(const byte*) MESSAGE[] = (string) "hello world"
(const byte*) MESSAGE[] = (byte*) "hello world"
(const byte*) SCREEN[(number) $32] = { fill( $32, 0) }
(const void()**) VECTORS[] = { &interrupt(HARDWARE_ALL)(void()) nmiHandler(), &(void()) entryPoint() }
(void()) entryPoint()

View File

@ -2,7 +2,7 @@
(label) @begin
(label) @end
(const byte*) BGCOL = (byte*) 49178
(const byte*) MESSAGE[] = (string) "hello world"
(const byte*) MESSAGE[] = (byte*) "hello world"
(const byte*) SCREEN[(number) $32] = { fill( $32, 0) }
(const void()**) VECTORS[] = { &interrupt(HARDWARE_ALL)(void()) nmiHandler(), &(void()) entryPoint() }
(void()) entryPoint()

View File

@ -156,7 +156,7 @@ SYMBOL TABLE SSA
(const byte) BLACK = (byte) 0
(const byte*) COLS = (byte*)(number) $d800
(const byte) JMP = (byte) $4c
(const byte*) MESSAGE[] = (string) "hello world!"
(const byte*) MESSAGE[] = (byte*) "hello world!"
(const byte) NOP = (byte) $ea
(const byte*) RASTER = (byte*)(number) $d012
(const byte*) SCREEN = (byte*)(number) $400
@ -1134,7 +1134,7 @@ FINAL SYMBOL TABLE
(const byte) BLACK = (byte) 0
(const byte*) COLS = (byte*) 55296
(const byte) JMP = (byte) $4c
(const byte*) MESSAGE[] = (string) "hello world!"
(const byte*) MESSAGE[] = (byte*) "hello world!"
(const byte) NOP = (byte) $ea
(const byte*) RASTER = (byte*) 53266
(const byte*) SCREEN = (byte*) 1024

View File

@ -5,7 +5,7 @@
(const byte) BLACK = (byte) 0
(const byte*) COLS = (byte*) 55296
(const byte) JMP = (byte) $4c
(const byte*) MESSAGE[] = (string) "hello world!"
(const byte*) MESSAGE[] = (byte*) "hello world!"
(const byte) NOP = (byte) $ea
(const byte*) RASTER = (byte*) 53266
(const byte*) SCREEN = (byte*) 1024

View File

@ -48,7 +48,7 @@ SYMBOL TABLE SSA
(byte) main::i#1
(byte) main::i#2
(byte) main::i#3
(const byte*) main::msg[] = (string) "camelot"
(const byte*) main::msg[] = (byte*) "camelot"
Adding number conversion cast (unumber) 0 in (bool~) main::$0 ← *((const byte*) main::msg + (byte) main::i#2) != (number) 0
Successful SSA optimization PassNAddNumberTypeConversions
@ -296,7 +296,7 @@ FINAL SYMBOL TABLE
(byte) main::i
(byte) main::i#1 reg byte x 22.0
(byte) main::i#2 reg byte x 18.333333333333332
(const byte*) main::msg[] = (string) "camelot"
(const byte*) main::msg[] = (byte*) "camelot"
reg byte x [ main::i#2 main::i#1 ]

View File

@ -9,6 +9,6 @@
(byte) main::i
(byte) main::i#1 reg byte x 22.0
(byte) main::i#2 reg byte x 18.333333333333332
(const byte*) main::msg[] = (string) "camelot"
(const byte*) main::msg[] = (byte*) "camelot"
reg byte x [ main::i#2 main::i#1 ]

View File

@ -40,7 +40,7 @@ SYMBOL TABLE SSA
(byte) main::i#0
(byte) main::i#1
(byte) main::i#2
(const byte*) main::s[] = (string) "camelot"
(const byte*) main::s[] = (byte*) "camelot"
Simplifying constant pointer cast (byte*) 1024
Successful SSA optimization PassNCastSimplification
@ -283,7 +283,7 @@ FINAL SYMBOL TABLE
(byte) main::i
(byte) main::i#1 reg byte x 16.5
(byte) main::i#2 reg byte x 22.0
(const byte*) main::s[] = (string) "camelot"
(const byte*) main::s[] = (byte*) "camelot"
reg byte x [ main::i#2 main::i#1 ]

View File

@ -8,6 +8,6 @@
(byte) main::i
(byte) main::i#1 reg byte x 16.5
(byte) main::i#2 reg byte x 22.0
(const byte*) main::s[] = (string) "camelot"
(const byte*) main::s[] = (byte*) "camelot"
reg byte x [ main::i#2 main::i#1 ]

View File

@ -543,9 +543,9 @@ SYMBOL TABLE SSA
(byte*) assert_byte::msg#1
(byte*) assert_byte::msg#2
(byte*) assert_byte::msg#3
(const byte*) assert_byte::str[(byte) 2] = (string) " "
(const byte*) assert_byte::str1[(byte) 6] = (string) "fail!"
(const byte*) assert_byte::str2[(byte) 3] = (string) "ok"
(const byte*) assert_byte::str[(byte) 2] = (byte*) " "
(const byte*) assert_byte::str1[(byte) 6] = (byte*) "fail!"
(const byte*) assert_byte::str2[(byte) 3] = (byte*) "ok"
(void()) assert_sbyte((byte*) assert_sbyte::msg , (signed byte) assert_sbyte::b , (signed byte) assert_sbyte::c)
(bool~) assert_sbyte::$2
(label) assert_sbyte::@1
@ -582,9 +582,9 @@ SYMBOL TABLE SSA
(byte*) assert_sbyte::msg#3
(byte*) assert_sbyte::msg#4
(byte*) assert_sbyte::msg#5
(const byte*) assert_sbyte::str[(byte) 2] = (string) " "
(const byte*) assert_sbyte::str1[(byte) 6] = (string) "fail!"
(const byte*) assert_sbyte::str2[(byte) 3] = (string) "ok"
(const byte*) assert_sbyte::str[(byte) 2] = (byte*) " "
(const byte*) assert_sbyte::str1[(byte) 6] = (byte*) "fail!"
(const byte*) assert_sbyte::str2[(byte) 3] = (byte*) "ok"
(void()) main()
(label) main::@1
(label) main::@2
@ -831,9 +831,9 @@ SYMBOL TABLE SSA
(byte) test_bytes::bc#1
(byte) test_bytes::bd
(byte) test_bytes::bd#0
(const byte*) test_bytes::msg[(byte) 4] = (string) "0=0"
(const byte*) test_bytes::msg1[(byte) 6] = (string) "0+2=2"
(const byte*) test_bytes::msg2[(byte) $a] = (string) "0+2-4=254"
(const byte*) test_bytes::msg[(byte) 4] = (byte*) "0=0"
(const byte*) test_bytes::msg1[(byte) 6] = (byte*) "0+2=2"
(const byte*) test_bytes::msg2[(byte) $a] = (byte*) "0+2-4=254"
(void()) test_sbytes()
(number~) test_sbytes::$1
(number~) test_sbytes::$3
@ -854,11 +854,11 @@ SYMBOL TABLE SSA
(signed byte) test_sbytes::be
(signed byte) test_sbytes::be#0
(const signed byte) test_sbytes::bf = (signed byte)(number) -$7f-(number) $7f
(const byte*) test_sbytes::msg[(byte) 4] = (string) "0=0"
(const byte*) test_sbytes::msg1[(byte) 6] = (string) "0+2=2"
(const byte*) test_sbytes::msg2[(byte) 9] = (string) "0+2-4=-2"
(const byte*) test_sbytes::msg3[(byte) $b] = (string) "-(0+2-4)=2"
(const byte*) test_sbytes::msg4[(byte) $b] = (string) "-127-127=2"
(const byte*) test_sbytes::msg[(byte) 4] = (byte*) "0=0"
(const byte*) test_sbytes::msg1[(byte) 6] = (byte*) "0+2=2"
(const byte*) test_sbytes::msg2[(byte) 9] = (byte*) "0+2-4=-2"
(const byte*) test_sbytes::msg3[(byte) $b] = (byte*) "-(0+2-4)=2"
(const byte*) test_sbytes::msg4[(byte) $b] = (byte*) "-127-127=2"
Adding number conversion cast (unumber) 0 in (bool~) memset::$0 ← (word) memset::num#1 > (number) 0
Adding number conversion cast (unumber) 0 in (bool~) print_str::$0 ← (number) 0 != *((byte*) print_str::str#9)
@ -3026,8 +3026,8 @@ FINAL SYMBOL TABLE
(void*) memset::return
(void*) memset::str
(const void*) memset::str#0 str = (void*)(byte*) 1024
(const byte*) msg[(byte) 4] = (string) "0=0"
(const byte*) msg1[(byte) 6] = (string) "0+2=2"
(const byte*) msg[(byte) 4] = (byte*) "0=0"
(const byte*) msg1[(byte) 6] = (byte*) "0+2=2"
(byte*) print_char_cursor
(byte*) print_char_cursor#1 print_char_cursor zp[2]:2 11.0
(byte*) print_char_cursor#2 print_char_cursor zp[2]:2 2.230769230769231
@ -3057,9 +3057,9 @@ FINAL SYMBOL TABLE
(byte*) print_str::str#10 str zp[2]:7 11.5
(byte*) print_str::str#11 str zp[2]:7 6.0
(byte*) print_str::str#5 str zp[2]:7 2.0
(const byte*) str[(byte) 2] = (string) " "
(const byte*) str1[(byte) 6] = (string) "fail!"
(const byte*) str2[(byte) 3] = (string) "ok"
(const byte*) str[(byte) 2] = (byte*) " "
(const byte*) str1[(byte) 6] = (byte*) "fail!"
(const byte*) str2[(byte) 3] = (byte*) "ok"
(void()) test_bytes()
(label) test_bytes::@1
(label) test_bytes::@2
@ -3069,7 +3069,7 @@ FINAL SYMBOL TABLE
(const byte) test_bytes::bc#0 bc = (byte) 2
(byte) test_bytes::bd
(const byte) test_bytes::bd#0 bd = (byte)(signed byte)(const byte) test_bytes::bc#0-(signed byte) 4
(const byte*) test_bytes::msg2[(byte) $a] = (string) "0+2-4=254"
(const byte*) test_bytes::msg2[(byte) $a] = (byte*) "0+2-4=254"
(void()) test_sbytes()
(label) test_sbytes::@1
(label) test_sbytes::@2
@ -3084,9 +3084,9 @@ FINAL SYMBOL TABLE
(signed byte) test_sbytes::be
(const signed byte) test_sbytes::be#0 be = -(const signed byte) test_sbytes::bd#0
(const signed byte) test_sbytes::bf = (signed byte)(number) -$7f-(number) $7f
(const byte*) test_sbytes::msg2[(byte) 9] = (string) "0+2-4=-2"
(const byte*) test_sbytes::msg3[(byte) $b] = (string) "-(0+2-4)=2"
(const byte*) test_sbytes::msg4[(byte) $b] = (string) "-127-127=2"
(const byte*) test_sbytes::msg2[(byte) 9] = (byte*) "0+2-4=-2"
(const byte*) test_sbytes::msg3[(byte) $b] = (byte*) "-(0+2-4)=2"
(const byte*) test_sbytes::msg4[(byte) $b] = (byte*) "-127-127=2"
reg byte x [ assert_sbyte::b#5 ]
zp[2]:2 [ print_char_cursor#80 print_char_cursor#70 print_char_cursor#2 print_char_cursor#85 print_char_cursor#1 print_char_cursor#91 print_char_cursor#92 ]

View File

@ -54,8 +54,8 @@
(void*) memset::return
(void*) memset::str
(const void*) memset::str#0 str = (void*)(byte*) 1024
(const byte*) msg[(byte) 4] = (string) "0=0"
(const byte*) msg1[(byte) 6] = (string) "0+2=2"
(const byte*) msg[(byte) 4] = (byte*) "0=0"
(const byte*) msg1[(byte) 6] = (byte*) "0+2=2"
(byte*) print_char_cursor
(byte*) print_char_cursor#1 print_char_cursor zp[2]:2 11.0
(byte*) print_char_cursor#2 print_char_cursor zp[2]:2 2.230769230769231
@ -85,9 +85,9 @@
(byte*) print_str::str#10 str zp[2]:7 11.5
(byte*) print_str::str#11 str zp[2]:7 6.0
(byte*) print_str::str#5 str zp[2]:7 2.0
(const byte*) str[(byte) 2] = (string) " "
(const byte*) str1[(byte) 6] = (string) "fail!"
(const byte*) str2[(byte) 3] = (string) "ok"
(const byte*) str[(byte) 2] = (byte*) " "
(const byte*) str1[(byte) 6] = (byte*) "fail!"
(const byte*) str2[(byte) 3] = (byte*) "ok"
(void()) test_bytes()
(label) test_bytes::@1
(label) test_bytes::@2
@ -97,7 +97,7 @@
(const byte) test_bytes::bc#0 bc = (byte) 2
(byte) test_bytes::bd
(const byte) test_bytes::bd#0 bd = (byte)(signed byte)(const byte) test_bytes::bc#0-(signed byte) 4
(const byte*) test_bytes::msg2[(byte) $a] = (string) "0+2-4=254"
(const byte*) test_bytes::msg2[(byte) $a] = (byte*) "0+2-4=254"
(void()) test_sbytes()
(label) test_sbytes::@1
(label) test_sbytes::@2
@ -112,9 +112,9 @@
(signed byte) test_sbytes::be
(const signed byte) test_sbytes::be#0 be = -(const signed byte) test_sbytes::bd#0
(const signed byte) test_sbytes::bf = (signed byte)(number) -$7f-(number) $7f
(const byte*) test_sbytes::msg2[(byte) 9] = (string) "0+2-4=-2"
(const byte*) test_sbytes::msg3[(byte) $b] = (string) "-(0+2-4)=2"
(const byte*) test_sbytes::msg4[(byte) $b] = (string) "-127-127=2"
(const byte*) test_sbytes::msg2[(byte) 9] = (byte*) "0+2-4=-2"
(const byte*) test_sbytes::msg3[(byte) $b] = (byte*) "-(0+2-4)=2"
(const byte*) test_sbytes::msg4[(byte) $b] = (byte*) "-127-127=2"
reg byte x [ assert_sbyte::b#5 ]
zp[2]:2 [ print_char_cursor#80 print_char_cursor#70 print_char_cursor#2 print_char_cursor#85 print_char_cursor#1 print_char_cursor#91 print_char_cursor#92 ]

View File

@ -1077,7 +1077,7 @@ SYMBOL TABLE SSA
(byte*) print_char_cursor#7
(byte*) print_char_cursor#8
(byte*) print_char_cursor#9
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#0
(byte*) print_screen
@ -4560,7 +4560,7 @@ FINAL SYMBOL TABLE
(byte*) print_char_cursor#18 print_char_cursor zp[2]:2 4.0
(byte*) print_char_cursor#19 print_char_cursor zp[2]:2 0.6666666666666666
(byte*) print_char_cursor#24 print_char_cursor zp[2]:2 1.3333333333333333
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_screen
(void()) print_word((word) print_word::w)

View File

@ -205,7 +205,7 @@
(byte*) print_char_cursor#18 print_char_cursor zp[2]:2 4.0
(byte*) print_char_cursor#19 print_char_cursor zp[2]:2 0.6666666666666666
(byte*) print_char_cursor#24 print_char_cursor zp[2]:2 1.3333333333333333
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_screen
(void()) print_word((word) print_word::w)

View File

@ -52,7 +52,7 @@ SYMBOL TABLE SSA
(const byte) OFFSET_STRUCT_FOO_THING1 = (byte) 0
(const byte) OFFSET_STRUCT_FOO_THING2 = (byte) 1
(const byte) OFFSET_STRUCT_FOO_THING3 = (byte) 2
(struct foo) bar loadstore = { thing1: (byte) 'a', thing2: (byte) 'b', thing3: (string) "qwe" }
(struct foo) bar loadstore = { thing1: (byte) 'a', thing2: (byte) 'b', thing3: (byte*) "qwe" }
(byte) foo::thing1
(byte) foo::thing2
(const byte*) foo::thing3[(number) $c] = { fill( $c, 0) }
@ -178,7 +178,7 @@ main::@return: scope:[main] from main::@1
VARIABLE REGISTER WEIGHTS
(struct foo) bar loadstore = { thing1: (byte) 'a', thing2: (byte) 'b', thing3: (string) "qwe" }
(struct foo) bar loadstore = { thing1: (byte) 'a', thing2: (byte) 'b', thing3: (byte*) "qwe" }
(byte) foo::thing1
(byte) foo::thing2
(void()) main()
@ -404,7 +404,7 @@ FINAL SYMBOL TABLE
(label) @end
(const byte) OFFSET_STRUCT_FOO_THING2 = (byte) 1
(const byte) OFFSET_STRUCT_FOO_THING3 = (byte) 2
(struct foo) bar loadstore mem[14] = { thing1: (byte) 'a', thing2: (byte) 'b', thing3: (string) "qwe" }
(struct foo) bar loadstore mem[14] = { thing1: (byte) 'a', thing2: (byte) 'b', thing3: (byte*) "qwe" }
(byte) foo::thing1
(byte) foo::thing2
(const byte*) foo::thing3[(number) $c] = { fill( $c, 0) }

View File

@ -3,7 +3,7 @@
(label) @end
(const byte) OFFSET_STRUCT_FOO_THING2 = (byte) 1
(const byte) OFFSET_STRUCT_FOO_THING3 = (byte) 2
(struct foo) bar loadstore mem[14] = { thing1: (byte) 'a', thing2: (byte) 'b', thing3: (string) "qwe" }
(struct foo) bar loadstore mem[14] = { thing1: (byte) 'a', thing2: (byte) 'b', thing3: (byte*) "qwe" }
(byte) foo::thing1
(byte) foo::thing2
(const byte*) foo::thing3[(number) $c] = { fill( $c, 0) }

View File

@ -57,10 +57,10 @@ SYMBOL TABLE SSA
(byte) main::idx#8
(byte) main::idx#9
(const byte*) screen = (byte*)(number) $400
(const byte*) spm[] = (string) "A"pm
(const byte*) spu[] = (string) "A"pu
(const byte*) ssm[] = (string) "A"
(const byte*) ssu[] = (string) "A"su
(const byte*) spm[] = (byte*) "A"pm
(const byte*) spu[] = (byte*) "A"pu
(const byte*) ssm[] = (byte*) "A"
(const byte*) ssu[] = (byte*) "A"su
Adding number conversion cast (unumber) $28 in (byte) main::idx#5 ← (number) $28
Adding number conversion cast (unumber) 0 in *((const byte*) screen + (byte) main::idx#5) ← *((const byte*) spm + (number) 0)
@ -401,10 +401,10 @@ FINAL SYMBOL TABLE
(label) main::@return
(byte) main::idx
(const byte*) screen = (byte*) 1024
(const byte*) spm[] = (string) "A"pm
(const byte*) spu[] = (string) "A"pu
(const byte*) ssm[] = (string) "A"
(const byte*) ssu[] = (string) "A"su
(const byte*) spm[] = (byte*) "A"pm
(const byte*) spu[] = (byte*) "A"pu
(const byte*) ssm[] = (byte*) "A"
(const byte*) ssu[] = (byte*) "A"su

View File

@ -9,8 +9,8 @@
(label) main::@return
(byte) main::idx
(const byte*) screen = (byte*) 1024
(const byte*) spm[] = (string) "A"pm
(const byte*) spu[] = (string) "A"pu
(const byte*) ssm[] = (string) "A"
(const byte*) ssu[] = (string) "A"su
(const byte*) spm[] = (byte*) "A"pm
(const byte*) spu[] = (byte*) "A"pu
(const byte*) ssm[] = (byte*) "A"
(const byte*) ssu[] = (byte*) "A"su

View File

@ -611,7 +611,7 @@ SYMBOL TABLE SSA
(byte) print_euclid::b#7
(byte) print_euclid::b#8
(byte) print_euclid::b#9
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#0
(byte*) print_line_cursor#1
@ -2454,7 +2454,7 @@ FINAL SYMBOL TABLE
(byte) print_euclid::a#10 a zp[1]:2 0.4444444444444444
(byte) print_euclid::b
(byte) print_euclid::b#10 b zp[1]:3 0.4
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#1 print_line_cursor zp[2]:6 3.533333333333333
(byte*) print_line_cursor#16 print_line_cursor zp[2]:6 24.0

View File

@ -85,7 +85,7 @@
(byte) print_euclid::a#10 a zp[1]:2 0.4444444444444444
(byte) print_euclid::b
(byte) print_euclid::b#10 b zp[1]:3 0.4
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#1 print_line_cursor zp[2]:6 3.533333333333333
(byte*) print_line_cursor#16 print_line_cursor zp[2]:6 24.0

View File

@ -1701,18 +1701,18 @@ SYMBOL TABLE SSA
(byte) debug_print_init::j#0
(byte) debug_print_init::j#1
(byte) debug_print_init::j#2
(const byte*) debug_print_init::str[(byte) 3] = (string) "sx"
(const byte*) debug_print_init::str1[(byte) 3] = (string) "sy"
(const byte*) debug_print_init::str10[(byte) 3] = (string) "xp"
(const byte*) debug_print_init::str11[(byte) 3] = (string) "yp"
(const byte*) debug_print_init::str2[(byte) 3] = (string) "sz"
(const byte*) debug_print_init::str3[(byte) 2] = (string) "x"
(const byte*) debug_print_init::str4[(byte) 2] = (string) "y"
(const byte*) debug_print_init::str5[(byte) 2] = (string) "z"
(const byte*) debug_print_init::str6[(byte) 3] = (string) "xr"
(const byte*) debug_print_init::str7[(byte) 3] = (string) "yr"
(const byte*) debug_print_init::str8[(byte) 3] = (string) "zr"
(const byte*) debug_print_init::str9[(byte) 3] = (string) "pp"
(const byte*) debug_print_init::str[(byte) 3] = (byte*) "sx"
(const byte*) debug_print_init::str1[(byte) 3] = (byte*) "sy"
(const byte*) debug_print_init::str10[(byte) 3] = (byte*) "xp"
(const byte*) debug_print_init::str11[(byte) 3] = (byte*) "yp"
(const byte*) debug_print_init::str2[(byte) 3] = (byte*) "sz"
(const byte*) debug_print_init::str3[(byte) 2] = (byte*) "x"
(const byte*) debug_print_init::str4[(byte) 2] = (byte*) "y"
(const byte*) debug_print_init::str5[(byte) 2] = (byte*) "z"
(const byte*) debug_print_init::str6[(byte) 3] = (byte*) "xr"
(const byte*) debug_print_init::str7[(byte) 3] = (byte*) "yr"
(const byte*) debug_print_init::str8[(byte) 3] = (byte*) "zr"
(const byte*) debug_print_init::str9[(byte) 3] = (byte*) "pp"
(void()) main()
(word~) main::$1
(word~) main::$2
@ -1808,7 +1808,7 @@ SYMBOL TABLE SSA
(void()) print_cls()
(label) print_cls::@1
(label) print_cls::@return
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(void()) print_sbyte_at((signed byte) print_sbyte_at::b , (byte*) print_sbyte_at::at)
(bool~) print_sbyte_at::$0
(byte~) print_sbyte_at::$1
@ -9364,18 +9364,18 @@ FINAL SYMBOL TABLE
(byte) debug_print_init::j
(byte) debug_print_init::j#1 reg byte y 151.5
(byte) debug_print_init::j#2 reg byte y 55.54999999999999
(const byte*) debug_print_init::str[(byte) 3] = (string) "sx"
(const byte*) debug_print_init::str1[(byte) 3] = (string) "sy"
(const byte*) debug_print_init::str10[(byte) 3] = (string) "xp"
(const byte*) debug_print_init::str11[(byte) 3] = (string) "yp"
(const byte*) debug_print_init::str2[(byte) 3] = (string) "sz"
(const byte*) debug_print_init::str3[(byte) 2] = (string) "x"
(const byte*) debug_print_init::str4[(byte) 2] = (string) "y"
(const byte*) debug_print_init::str5[(byte) 2] = (string) "z"
(const byte*) debug_print_init::str6[(byte) 3] = (string) "xr"
(const byte*) debug_print_init::str7[(byte) 3] = (string) "yr"
(const byte*) debug_print_init::str8[(byte) 3] = (string) "zr"
(const byte*) debug_print_init::str9[(byte) 3] = (string) "pp"
(const byte*) debug_print_init::str[(byte) 3] = (byte*) "sx"
(const byte*) debug_print_init::str1[(byte) 3] = (byte*) "sy"
(const byte*) debug_print_init::str10[(byte) 3] = (byte*) "xp"
(const byte*) debug_print_init::str11[(byte) 3] = (byte*) "yp"
(const byte*) debug_print_init::str2[(byte) 3] = (byte*) "sz"
(const byte*) debug_print_init::str3[(byte) 2] = (byte*) "x"
(const byte*) debug_print_init::str4[(byte) 2] = (byte*) "y"
(const byte*) debug_print_init::str5[(byte) 2] = (byte*) "z"
(const byte*) debug_print_init::str6[(byte) 3] = (byte*) "xr"
(const byte*) debug_print_init::str7[(byte) 3] = (byte*) "yr"
(const byte*) debug_print_init::str8[(byte) 3] = (byte*) "zr"
(const byte*) debug_print_init::str9[(byte) 3] = (byte*) "pp"
(void()) main()
(label) main::@1
(label) main::@2
@ -9433,7 +9433,7 @@ FINAL SYMBOL TABLE
(byte) print_char_at::ch#4 reg byte y 6.0
(void()) print_cls()
(label) print_cls::@return
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(void()) print_sbyte_at((signed byte) print_sbyte_at::b , (byte*) print_sbyte_at::at)
(label) print_sbyte_at::@1
(label) print_sbyte_at::@2

View File

@ -274,18 +274,18 @@
(byte) debug_print_init::j
(byte) debug_print_init::j#1 reg byte y 151.5
(byte) debug_print_init::j#2 reg byte y 55.54999999999999
(const byte*) debug_print_init::str[(byte) 3] = (string) "sx"
(const byte*) debug_print_init::str1[(byte) 3] = (string) "sy"
(const byte*) debug_print_init::str10[(byte) 3] = (string) "xp"
(const byte*) debug_print_init::str11[(byte) 3] = (string) "yp"
(const byte*) debug_print_init::str2[(byte) 3] = (string) "sz"
(const byte*) debug_print_init::str3[(byte) 2] = (string) "x"
(const byte*) debug_print_init::str4[(byte) 2] = (string) "y"
(const byte*) debug_print_init::str5[(byte) 2] = (string) "z"
(const byte*) debug_print_init::str6[(byte) 3] = (string) "xr"
(const byte*) debug_print_init::str7[(byte) 3] = (string) "yr"
(const byte*) debug_print_init::str8[(byte) 3] = (string) "zr"
(const byte*) debug_print_init::str9[(byte) 3] = (string) "pp"
(const byte*) debug_print_init::str[(byte) 3] = (byte*) "sx"
(const byte*) debug_print_init::str1[(byte) 3] = (byte*) "sy"
(const byte*) debug_print_init::str10[(byte) 3] = (byte*) "xp"
(const byte*) debug_print_init::str11[(byte) 3] = (byte*) "yp"
(const byte*) debug_print_init::str2[(byte) 3] = (byte*) "sz"
(const byte*) debug_print_init::str3[(byte) 2] = (byte*) "x"
(const byte*) debug_print_init::str4[(byte) 2] = (byte*) "y"
(const byte*) debug_print_init::str5[(byte) 2] = (byte*) "z"
(const byte*) debug_print_init::str6[(byte) 3] = (byte*) "xr"
(const byte*) debug_print_init::str7[(byte) 3] = (byte*) "yr"
(const byte*) debug_print_init::str8[(byte) 3] = (byte*) "zr"
(const byte*) debug_print_init::str9[(byte) 3] = (byte*) "pp"
(void()) main()
(label) main::@1
(label) main::@2
@ -343,7 +343,7 @@
(byte) print_char_at::ch#4 reg byte y 6.0
(void()) print_cls()
(label) print_cls::@return
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(void()) print_sbyte_at((signed byte) print_sbyte_at::b , (byte*) print_sbyte_at::at)
(label) print_sbyte_at::@1
(label) print_sbyte_at::@2

View File

@ -561,12 +561,12 @@ SYMBOL TABLE SSA
(label) do_perspective::@8
(label) do_perspective::@9
(label) do_perspective::@return
(const byte*) do_perspective::str[(byte) 2] = (string) "("
(const byte*) do_perspective::str1[(byte) 2] = (string) ","
(const byte*) do_perspective::str2[(byte) 2] = (string) ","
(const byte*) do_perspective::str3[(byte) 7] = (string) ") -> ("
(const byte*) do_perspective::str4[(byte) 2] = (string) ","
(const byte*) do_perspective::str5[(byte) 2] = (string) ")"
(const byte*) do_perspective::str[(byte) 2] = (byte*) "("
(const byte*) do_perspective::str1[(byte) 2] = (byte*) ","
(const byte*) do_perspective::str2[(byte) 2] = (byte*) ","
(const byte*) do_perspective::str3[(byte) 7] = (byte*) ") -> ("
(const byte*) do_perspective::str4[(byte) 2] = (byte*) ","
(const byte*) do_perspective::str5[(byte) 2] = (byte*) ")"
(signed byte) do_perspective::x
(signed byte) do_perspective::x#0
(signed byte) do_perspective::x#1
@ -785,7 +785,7 @@ SYMBOL TABLE SSA
(void()) print_cls()
(label) print_cls::@1
(label) print_cls::@return
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#0
(byte*) print_line_cursor#1
@ -3348,10 +3348,10 @@ FINAL SYMBOL TABLE
(label) do_perspective::@8
(label) do_perspective::@9
(label) do_perspective::@return
(const byte*) do_perspective::str[(byte) 2] = (string) "("
(const byte*) do_perspective::str1[(byte) 2] = (string) ","
(const byte*) do_perspective::str3[(byte) 7] = (string) ") -> ("
(const byte*) do_perspective::str5[(byte) 2] = (string) ")"
(const byte*) do_perspective::str[(byte) 2] = (byte*) "("
(const byte*) do_perspective::str1[(byte) 2] = (byte*) ","
(const byte*) do_perspective::str3[(byte) 7] = (byte*) ") -> ("
(const byte*) do_perspective::str5[(byte) 2] = (byte*) ")"
(signed byte) do_perspective::x
(const signed byte) do_perspective::x#0 x = (signed byte) $39
(signed byte) do_perspective::y
@ -3427,7 +3427,7 @@ FINAL SYMBOL TABLE
(byte*) print_char_cursor#74 print_char_cursor zp[2]:4 12.0
(void()) print_cls()
(label) print_cls::@return
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#1 print_line_cursor zp[2]:2 16.5
(byte*) print_line_cursor#11 print_line_cursor zp[2]:2 22.0

View File

@ -31,10 +31,10 @@
(label) do_perspective::@8
(label) do_perspective::@9
(label) do_perspective::@return
(const byte*) do_perspective::str[(byte) 2] = (string) "("
(const byte*) do_perspective::str1[(byte) 2] = (string) ","
(const byte*) do_perspective::str3[(byte) 7] = (string) ") -> ("
(const byte*) do_perspective::str5[(byte) 2] = (string) ")"
(const byte*) do_perspective::str[(byte) 2] = (byte*) "("
(const byte*) do_perspective::str1[(byte) 2] = (byte*) ","
(const byte*) do_perspective::str3[(byte) 7] = (byte*) ") -> ("
(const byte*) do_perspective::str5[(byte) 2] = (byte*) ")"
(signed byte) do_perspective::x
(const signed byte) do_perspective::x#0 x = (signed byte) $39
(signed byte) do_perspective::y
@ -110,7 +110,7 @@
(byte*) print_char_cursor#74 print_char_cursor zp[2]:4 12.0
(void()) print_cls()
(label) print_cls::@return
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#1 print_line_cursor zp[2]:2 16.5
(byte*) print_line_cursor#11 print_line_cursor zp[2]:2 22.0

View File

@ -766,10 +766,10 @@ SYMBOL TABLE SSA
(byte) main::shift#7
(byte) main::shift#8
(byte) main::shift#9
(const byte*) main::str[(byte) 3] = (string) "f1"
(const byte*) main::str1[(byte) 3] = (string) "f3"
(const byte*) main::str2[(byte) 3] = (string) "f5"
(const byte*) main::str3[(byte) 3] = (string) "f7"
(const byte*) main::str[(byte) 3] = (byte*) "f1"
(const byte*) main::str1[(byte) 3] = (byte*) "f3"
(const byte*) main::str2[(byte) 3] = (byte*) "f5"
(const byte*) main::str3[(byte) 3] = (byte*) "f7"
(word()) mul8u((byte) mul8u::a , (byte) mul8u::b)
(bool~) mul8u::$0
(number~) mul8u::$1
@ -4432,10 +4432,10 @@ FINAL SYMBOL TABLE
(byte*) main::sc#2 sc zp[2]:6 14.666666666666666
(byte) main::shift
(byte) main::shift#9 shift zp[1]:4 5.315789473684211
(const byte*) main::str[(byte) 3] = (string) "f1"
(const byte*) main::str1[(byte) 3] = (string) "f3"
(const byte*) main::str2[(byte) 3] = (string) "f5"
(const byte*) main::str3[(byte) 3] = (string) "f7"
(const byte*) main::str[(byte) 3] = (byte*) "f1"
(const byte*) main::str1[(byte) 3] = (byte*) "f3"
(const byte*) main::str2[(byte) 3] = (byte*) "f5"
(const byte*) main::str3[(byte) 3] = (byte*) "f7"
(word()) mul8u((byte) mul8u::a , (byte) mul8u::b)
(byte~) mul8u::$1 reg byte a 2002.0
(label) mul8u::@1

View File

@ -157,10 +157,10 @@
(byte*) main::sc#2 sc zp[2]:6 14.666666666666666
(byte) main::shift
(byte) main::shift#9 shift zp[1]:4 5.315789473684211
(const byte*) main::str[(byte) 3] = (string) "f1"
(const byte*) main::str1[(byte) 3] = (string) "f3"
(const byte*) main::str2[(byte) 3] = (string) "f5"
(const byte*) main::str3[(byte) 3] = (string) "f7"
(const byte*) main::str[(byte) 3] = (byte*) "f1"
(const byte*) main::str1[(byte) 3] = (byte*) "f3"
(const byte*) main::str2[(byte) 3] = (byte*) "f5"
(const byte*) main::str3[(byte) 3] = (byte*) "f7"
(word()) mul8u((byte) mul8u::a , (byte) mul8u::b)
(byte~) mul8u::$1 reg byte a 2002.0
(label) mul8u::@1

View File

@ -558,7 +558,7 @@ SYMBOL TABLE SSA
(void()) print_cls()
(label) print_cls::@1
(label) print_cls::@return
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(void()) print_sbyte_at((signed byte) print_sbyte_at::b , (byte*) print_sbyte_at::at)
(bool~) print_sbyte_at::$0
(byte~) print_sbyte_at::$1
@ -2752,7 +2752,7 @@ FINAL SYMBOL TABLE
(byte) print_char_at::ch#4 ch zp[1]:9 6.0
(void()) print_cls()
(label) print_cls::@return
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(void()) print_sbyte_at((signed byte) print_sbyte_at::b , (byte*) print_sbyte_at::at)
(label) print_sbyte_at::@1
(label) print_sbyte_at::@2

View File

@ -112,7 +112,7 @@
(byte) print_char_at::ch#4 ch zp[1]:9 6.0
(void()) print_cls()
(label) print_cls::@return
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(void()) print_sbyte_at((signed byte) print_sbyte_at::b , (byte*) print_sbyte_at::at)
(label) print_sbyte_at::@1
(label) print_sbyte_at::@2

View File

@ -163,7 +163,7 @@ SYMBOL TABLE SSA
(label) main::@1
(label) main::@2
(label) main::@return
(const byte*) main::str[(byte) $d] = (string) "hello world!"
(const byte*) main::str[(byte) $d] = (byte*) "hello world!"
(byte*) print_char_cursor
(byte*) print_char_cursor#0
(byte*) print_char_cursor#1
@ -751,7 +751,7 @@ FINAL SYMBOL TABLE
(void()) main()
(label) main::@1
(label) main::@return
(const byte*) main::str[(byte) $d] = (string) "hello world!"
(const byte*) main::str[(byte) $d] = (byte*) "hello world!"
(byte*) print_char_cursor
(byte*) print_char_cursor#1 print_char_cursor zp[2]:4 11.0
(byte*) print_char_cursor#10 print_char_cursor zp[2]:4 4.4

View File

@ -8,7 +8,7 @@
(void()) main()
(label) main::@1
(label) main::@return
(const byte*) main::str[(byte) $d] = (string) "hello world!"
(const byte*) main::str[(byte) $d] = (byte*) "hello world!"
(byte*) print_char_cursor
(byte*) print_char_cursor#1 print_char_cursor zp[2]:4 11.0
(byte*) print_char_cursor#10 print_char_cursor zp[2]:4 4.4

View File

@ -283,7 +283,7 @@ SYMBOL TABLE SSA
(label) main::@4
(label) main::@5
(label) main::@return
(const byte*) main::filename[(byte) 7] = (string) "SPRITE"
(const byte*) main::filename[(byte) 7] = (byte*) "SPRITE"
(byte) main::status
(byte) main::status#0
(byte) main::status#1
@ -1557,7 +1557,7 @@ FINAL SYMBOL TABLE
(label) main::@3
(label) main::@4
(label) main::@return
(const byte*) main::filename[(byte) 7] = (string) "SPRITE"
(const byte*) main::filename[(byte) 7] = (byte*) "SPRITE"
(byte) main::status
(byte) main::status#0 reg byte x 2.0
(label) main::toSpritePtr1

View File

@ -49,7 +49,7 @@
(label) main::@3
(label) main::@4
(label) main::@return
(const byte*) main::filename[(byte) 7] = (string) "SPRITE"
(const byte*) main::filename[(byte) 7] = (byte*) "SPRITE"
(byte) main::status
(byte) main::status#0 reg byte x 2.0
(label) main::toSpritePtr1

View File

@ -1132,7 +1132,7 @@ SYMBOL TABLE SSA
(dword) print_dword_at::dw#0
(dword) print_dword_at::dw#1
(dword) print_dword_at::dw#2
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at)
(byte~) print_word_at::$0
(byte~) print_word_at::$2
@ -5183,7 +5183,7 @@ FINAL SYMBOL TABLE
(byte*) print_dword_at::at
(dword) print_dword_at::dw
(dword) print_dword_at::dw#0 dw zp[4]:19 5.0
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at)
(label) print_word_at::@1
(label) print_word_at::@return

View File

@ -225,7 +225,7 @@
(byte*) print_dword_at::at
(dword) print_dword_at::dw
(dword) print_dword_at::dw#0 dw zp[4]:19 5.0
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at)
(label) print_word_at::@1
(label) print_word_at::@return

View File

@ -136,7 +136,7 @@ SYMBOL TABLE SSA
(const byte*) RASTER = (byte*)(number) $d012
(const byte*) SCREEN = (byte*)(number) $400
(const byte*) SCROLL = (byte*)(number) $d016
(const byte*) TEXT[] = (string) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- "
(const byte*) TEXT[] = (byte*) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- "
(void()) fillscreen((byte*) fillscreen::screen , (byte) fillscreen::fill)
(byte*~) fillscreen::$0
(bool~) fillscreen::$1
@ -1006,7 +1006,7 @@ FINAL SYMBOL TABLE
(const byte*) RASTER = (byte*) 53266
(const byte*) SCREEN = (byte*) 1024
(const byte*) SCROLL = (byte*) 53270
(const byte*) TEXT[] = (string) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- "
(const byte*) TEXT[] = (byte*) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- "
(void()) fillscreen((byte*) fillscreen::screen , (byte) fillscreen::fill)
(label) fillscreen::@1
(label) fillscreen::@2

View File

@ -5,7 +5,7 @@
(const byte*) RASTER = (byte*) 53266
(const byte*) SCREEN = (byte*) 1024
(const byte*) SCROLL = (byte*) 53270
(const byte*) TEXT[] = (string) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- "
(const byte*) TEXT[] = (byte*) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- "
(void()) fillscreen((byte*) fillscreen::screen , (byte) fillscreen::fill)
(label) fillscreen::@1
(label) fillscreen::@2

View File

@ -376,7 +376,7 @@ SYMBOL TABLE SSA
(const byte*) RASTER = (byte*)(number) $d012
(const byte*) SCREEN = (byte*)(number) $400
(const byte*) SCROLL = (byte*)(number) $d016
(const byte*) TEXT = (string) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- "
(const byte*) TEXT = (byte*) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- "
(byte) current_bit
(byte) current_bit#0
(byte) current_bit#1
@ -2430,7 +2430,7 @@ FINAL SYMBOL TABLE
(const byte*) RASTER = (byte*) 53266
(const byte*) SCREEN = (byte*) 1024
(const byte*) SCROLL = (byte*) 53270
(const byte*) TEXT = (string) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- "
(const byte*) TEXT = (byte*) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- "
(byte) current_bit
(byte) current_bit#12 current_bit zp[1]:2 3.0
(byte) current_bit#21 current_bit zp[1]:2 5.833333333333333

View File

@ -7,7 +7,7 @@
(const byte*) RASTER = (byte*) 53266
(const byte*) SCREEN = (byte*) 1024
(const byte*) SCROLL = (byte*) 53270
(const byte*) TEXT = (string) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- "
(const byte*) TEXT = (byte*) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- "
(byte) current_bit
(byte) current_bit#12 current_bit zp[1]:2 3.0
(byte) current_bit#21 current_bit zp[1]:2 5.833333333333333

View File

@ -1404,7 +1404,7 @@ SYMBOL TABLE SSA
(label) gen_sprites::@1
(label) gen_sprites::@3
(label) gen_sprites::@return
(const byte*) gen_sprites::cml[] = (string) "camelot"z
(const byte*) gen_sprites::cml[] = (byte*) "camelot"z
(byte) gen_sprites::i
(byte) gen_sprites::i#0
(byte) gen_sprites::i#1
@ -7247,7 +7247,7 @@ FINAL SYMBOL TABLE
(label) gen_sprites::@1
(label) gen_sprites::@2
(label) gen_sprites::@return
(const byte*) gen_sprites::cml[] = (string) "camelot"z
(const byte*) gen_sprites::cml[] = (byte*) "camelot"z
(byte) gen_sprites::i
(byte) gen_sprites::i#1 i zp[1]:11 16.5
(byte) gen_sprites::i#2 i zp[1]:11 6.6000000000000005

View File

@ -176,7 +176,7 @@
(label) gen_sprites::@1
(label) gen_sprites::@2
(label) gen_sprites::@return
(const byte*) gen_sprites::cml[] = (string) "camelot"z
(const byte*) gen_sprites::cml[] = (byte*) "camelot"z
(byte) gen_sprites::i
(byte) gen_sprites::i#1 i zp[1]:11 16.5
(byte) gen_sprites::i#2 i zp[1]:11 6.6000000000000005

View File

@ -846,8 +846,8 @@ SYMBOL TABLE SSA
(label) main::@8
(label) main::@9
(label) main::@return
(const byte*) main::str[(byte) 9] = (string) "unsigned"
(const byte*) main::str1[(byte) 7] = (string) "signed"
(const byte*) main::str[(byte) 9] = (byte*) "unsigned"
(const byte*) main::str1[(byte) 7] = (byte*) "signed"
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
(bool~) memset::$0
(bool~) memset::$1
@ -1148,7 +1148,7 @@ SYMBOL TABLE SSA
(void()) print_cls()
(label) print_cls::@1
(label) print_cls::@return
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#0
(byte*) print_line_cursor#1
@ -5565,8 +5565,8 @@ FINAL SYMBOL TABLE
(label) main::@8
(label) main::@9
(label) main::@return
(const byte*) main::str[(byte) 9] = (string) "unsigned"
(const byte*) main::str1[(byte) 7] = (string) "signed"
(const byte*) main::str[(byte) 9] = (byte*) "unsigned"
(const byte*) main::str1[(byte) 7] = (byte*) "signed"
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
(label) memset::@1
(label) memset::@2
@ -5668,7 +5668,7 @@ FINAL SYMBOL TABLE
(byte*) print_char_cursor#80 print_char_cursor zp[2]:7 12.0
(void()) print_cls()
(label) print_cls::@return
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#1 print_line_cursor zp[2]:5 0.5421686746987951
(byte*) print_line_cursor#32 print_line_cursor zp[2]:5 24.0

View File

@ -29,8 +29,8 @@
(label) main::@8
(label) main::@9
(label) main::@return
(const byte*) main::str[(byte) 9] = (string) "unsigned"
(const byte*) main::str1[(byte) 7] = (string) "signed"
(const byte*) main::str[(byte) 9] = (byte*) "unsigned"
(const byte*) main::str1[(byte) 7] = (byte*) "signed"
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
(label) memset::@1
(label) memset::@2
@ -132,7 +132,7 @@
(byte*) print_char_cursor#80 print_char_cursor zp[2]:7 12.0
(void()) print_cls()
(label) print_cls::@return
(const byte*) print_hextab[] = (string) "0123456789abcdef"z
(const byte*) print_hextab[] = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#1 print_line_cursor zp[2]:5 0.5421686746987951
(byte*) print_line_cursor#32 print_line_cursor zp[2]:5 24.0

View File

@ -113,7 +113,7 @@ SYMBOL TABLE SSA
(void()) hello()
(label) hello::@1
(label) hello::@return
(const byte*) hello::msg[(byte) 7] = (string) "hello "
(const byte*) hello::msg[(byte) 7] = (byte*) "hello "
(byte) idx loadstore
(void()) main()
(label) main::@1
@ -135,7 +135,7 @@ SYMBOL TABLE SSA
(void()) world()
(label) world::@1
(label) world::@return
(const byte*) world::msg[(byte) 7] = (string) "world "
(const byte*) world::msg[(byte) 7] = (byte*) "world "
Adding number conversion cast (unumber) 0 in (bool~) print::$0 ← (number) 0 != *((byte*) print::msg#2 + (byte) print::i#1)
Successful SSA optimization PassNAddNumberTypeConversions
@ -774,7 +774,7 @@ FINAL SYMBOL TABLE
(byte) do10::i#2 i zp[1]:4 11.0
(void()) hello()
(label) hello::@return
(const byte*) hello::msg[(byte) 7] = (string) "hello "
(const byte*) hello::msg[(byte) 7] = (byte*) "hello "
(byte) idx loadstore zp[1]:7 5.0
(void()) main()
(label) main::@1
@ -789,7 +789,7 @@ FINAL SYMBOL TABLE
(byte*) print::msg#3 msg zp[2]:5 3.6666666666666665
(void()) world()
(label) world::@return
(const byte*) world::msg[(byte) 7] = (string) "world "
(const byte*) world::msg[(byte) 7] = (byte*) "world "
zp[2]:2 [ do10::fn#3 ]
zp[1]:4 [ do10::i#2 do10::i#1 ]

View File

@ -13,7 +13,7 @@
(byte) do10::i#2 i zp[1]:4 11.0
(void()) hello()
(label) hello::@return
(const byte*) hello::msg[(byte) 7] = (string) "hello "
(const byte*) hello::msg[(byte) 7] = (byte*) "hello "
(byte) idx loadstore zp[1]:7 5.0
(void()) main()
(label) main::@1
@ -28,7 +28,7 @@
(byte*) print::msg#3 msg zp[2]:5 3.6666666666666665
(void()) world()
(label) world::@return
(const byte*) world::msg[(byte) 7] = (string) "world "
(const byte*) world::msg[(byte) 7] = (byte*) "world "
zp[2]:2 [ do10::fn#3 ]
zp[1]:4 [ do10::i#2 do10::i#1 ]

View File

@ -93,7 +93,7 @@ SYMBOL TABLE SSA
(label) main::@1
(label) main::@return
(const void()*) main::f = &(void()) hello()
(const byte*) msg[] = (string) "hello "
(const byte*) msg[] = (byte*) "hello "
Adding number conversion cast (unumber) 0 in (bool~) hello::$0 ← (number) 0 != *((const byte*) msg + (byte) hello::i#1)
Successful SSA optimization PassNAddNumberTypeConversions
@ -554,7 +554,7 @@ FINAL SYMBOL TABLE
(byte) idx loadstore zp[1]:3 21.78571428571429
(void()) main()
(label) main::@return
(const byte*) msg[] = (string) "hello "
(const byte*) msg[] = (byte*) "hello "
zp[1]:2 [ do10::i#2 do10::i#1 ]
reg byte x [ hello::i#2 hello::i#1 ]

View File

@ -19,7 +19,7 @@
(byte) idx loadstore zp[1]:3 21.78571428571429
(void()) main()
(label) main::@return
(const byte*) msg[] = (string) "hello "
(const byte*) msg[] = (byte*) "hello "
zp[1]:2 [ do10::i#2 do10::i#1 ]
reg byte x [ hello::i#2 hello::i#1 ]

View File

@ -103,8 +103,8 @@ SYMBOL TABLE SSA
(label) main::@return
(const void()*) main::f = &(void()) hello()
(byte*) msg loadstore
(const byte*) msg1[] = (string) "hello "
(const byte*) msg2[] = (string) "world "
(const byte*) msg1[] = (byte*) "hello "
(const byte*) msg2[] = (byte*) "world "
Adding number conversion cast (unumber) 0 in (bool~) hello::$0 ← (number) 0 != *((byte*) msg + (byte) hello::i#1)
Successful SSA optimization PassNAddNumberTypeConversions
@ -637,8 +637,8 @@ FINAL SYMBOL TABLE
(label) main::@1
(label) main::@return
(byte*) msg loadstore zp[2]:3 14.857142857142858
(const byte*) msg1[] = (string) "hello "
(const byte*) msg2[] = (string) "world "
(const byte*) msg1[] = (byte*) "hello "
(const byte*) msg2[] = (byte*) "world "
zp[1]:2 [ do10::i#2 do10::i#1 ]
reg byte y [ hello::i#2 hello::i#1 ]

View File

@ -21,8 +21,8 @@
(label) main::@1
(label) main::@return
(byte*) msg loadstore zp[2]:3 14.857142857142858
(const byte*) msg1[] = (string) "hello "
(const byte*) msg2[] = (string) "world "
(const byte*) msg1[] = (byte*) "hello "
(const byte*) msg2[] = (byte*) "world "
zp[1]:2 [ do10::i#2 do10::i#1 ]
reg byte y [ hello::i#2 hello::i#1 ]

View File

@ -40,7 +40,7 @@ SYMBOL TABLE SSA
(byte) main::i#0
(byte) main::i#1
(byte) main::i#2
(const byte*) msg[] = (string) "hello world!"
(const byte*) msg[] = (byte*) "hello world!"
Simplifying constant pointer cast (byte*) 1024
Successful SSA optimization PassNCastSimplification
@ -283,7 +283,7 @@ FINAL SYMBOL TABLE
(byte) main::i
(byte) main::i#1 reg byte x 16.5
(byte) main::i#2 reg byte x 22.0
(const byte*) msg[] = (string) "hello world!"
(const byte*) msg[] = (byte*) "hello world!"
reg byte x [ main::i#2 main::i#1 ]

View File

@ -8,6 +8,6 @@
(byte) main::i
(byte) main::i#1 reg byte x 16.5
(byte) main::i#2 reg byte x 22.0
(const byte*) msg[] = (string) "hello world!"
(const byte*) msg[] = (byte*) "hello world!"
reg byte x [ main::i#2 main::i#1 ]

View File

@ -95,7 +95,7 @@ SYMBOL TABLE SSA
(byte*~) main::$1
(label) main::@1
(label) main::@return
(const byte*) main::hello = (string) "hello world!"
(const byte*) main::hello = (byte*) "hello world!"
(label) main::print21
(bool~) main::print21_$0
(label) main::print21_@1
@ -606,7 +606,7 @@ FINAL SYMBOL TABLE
(label) @end
(void()) main()
(label) main::@return
(const byte*) main::hello = (string) "hello world!"
(const byte*) main::hello = (byte*) "hello world!"
(label) main::print21
(label) main::print21_@1
(label) main::print21_@2

View File

@ -3,7 +3,7 @@
(label) @end
(void()) main()
(label) main::@return
(const byte*) main::hello = (string) "hello world!"
(const byte*) main::hello = (byte*) "hello world!"
(label) main::print21
(label) main::print21_@1
(label) main::print21_@2

View File

@ -73,7 +73,7 @@ SYMBOL TABLE SSA
(label) main::@1
(label) main::@2
(label) main::@return
(const byte*) main::hello = (string) "hello world!"
(const byte*) main::hello = (byte*) "hello world!"
(void()) print2((byte*) print2::at , (byte*) print2::msg)
(bool~) print2::$0
(label) print2::@1
@ -504,7 +504,7 @@ FINAL SYMBOL TABLE
(void()) main()
(label) main::@1
(label) main::@return
(const byte*) main::hello = (string) "hello world!"
(const byte*) main::hello = (byte*) "hello world!"
(void()) print2((byte*) print2::at , (byte*) print2::msg)
(label) print2::@1
(label) print2::@2

View File

@ -4,7 +4,7 @@
(void()) main()
(label) main::@1
(label) main::@return
(const byte*) main::hello = (string) "hello world!"
(const byte*) main::hello = (byte*) "hello world!"
(void()) print2((byte*) print2::at , (byte*) print2::msg)
(label) print2::@1
(label) print2::@2

View File

@ -181,7 +181,7 @@ SYMBOL TABLE SSA
(label) @5
(label) @begin
(label) @end
(const byte*) DIGITS[] = (string) "0123456789abcdef"
(const byte*) DIGITS[] = (byte*) "0123456789abcdef"
(void()) cls()
(byte*~) cls::$0
(bool~) cls::$1
@ -1505,7 +1505,7 @@ FINAL SYMBOL TABLE
(label) @1
(label) @begin
(label) @end
(const byte*) DIGITS[] = (string) "0123456789abcdef"
(const byte*) DIGITS[] = (byte*) "0123456789abcdef"
(void()) cls()
(label) cls::@1
(label) cls::@return

View File

@ -1,7 +1,7 @@
(label) @1
(label) @begin
(label) @end
(const byte*) DIGITS[] = (string) "0123456789abcdef"
(const byte*) DIGITS[] = (byte*) "0123456789abcdef"
(void()) cls()
(label) cls::@1
(label) cls::@return

View File

@ -337,7 +337,7 @@ SYMBOL TABLE SSA
(label) @6
(label) @begin
(label) @end
(const byte*) DIGITS[] = (string) "0123456789abcdef"
(const byte*) DIGITS[] = (byte*) "0123456789abcdef"
(const byte) SIZEOF_WORD = (byte) 2
(const word*) UTOA10_SUB[] = { (word) $7530, (word) $2710, (word) $bb8, (word) $3e8, (word) $12c, (word) $64, (word) $1e, (word) $a }
(const byte*) UTOA10_VAL[] = { (byte) 3, (byte) 1, (byte) 3, (byte) 1, (byte) 3, (byte) 1, (byte) 3, (byte) 1 }
@ -382,7 +382,7 @@ SYMBOL TABLE SSA
(byte) main::i#1
(byte) main::i#2
(byte) main::i#3
(const byte*) main::msg[] = (string) "raster lines"
(const byte*) main::msg[] = (byte*) "raster lines"
(byte) main::rst
(byte) main::rst#0
(byte*) main::screen
@ -2749,7 +2749,7 @@ FINAL SYMBOL TABLE
(label) @1
(label) @begin
(label) @end
(const byte*) DIGITS[] = (string) "0123456789abcdef"
(const byte*) DIGITS[] = (byte*) "0123456789abcdef"
(const word*) UTOA10_SUB[] = { (word) $7530, (word) $2710, (word) $bb8, (word) $3e8, (word) $12c, (word) $64, (word) $1e, (word) $a }
(const byte*) UTOA10_VAL[] = { (byte) 3, (byte) 1, (byte) 3, (byte) 1, (byte) 3, (byte) 1, (byte) 3, (byte) 1 }
(const byte*) bordercol = (byte*) 53280
@ -2776,7 +2776,7 @@ FINAL SYMBOL TABLE
(byte) main::i
(byte) main::i#1 reg byte x 202.0
(byte) main::i#2 reg byte x 168.33333333333331
(const byte*) main::msg[] = (string) "raster lines"
(const byte*) main::msg[] = (byte*) "raster lines"
(byte) main::rst
(byte) main::rst#0 reg byte a 202.0
(byte*) main::screen

View File

@ -1,7 +1,7 @@
(label) @1
(label) @begin
(label) @end
(const byte*) DIGITS[] = (string) "0123456789abcdef"
(const byte*) DIGITS[] = (byte*) "0123456789abcdef"
(const word*) UTOA10_SUB[] = { (word) $7530, (word) $2710, (word) $bb8, (word) $3e8, (word) $12c, (word) $64, (word) $1e, (word) $a }
(const byte*) UTOA10_VAL[] = { (byte) 3, (byte) 1, (byte) 3, (byte) 1, (byte) 3, (byte) 1, (byte) 3, (byte) 1 }
(const byte*) bordercol = (byte*) 53280
@ -28,7 +28,7 @@
(byte) main::i
(byte) main::i#1 reg byte x 202.0
(byte) main::i#2 reg byte x 168.33333333333331
(const byte*) main::msg[] = (string) "raster lines"
(const byte*) main::msg[] = (byte*) "raster lines"
(byte) main::rst
(byte) main::rst#0 reg byte a 202.0
(byte*) main::screen

View File

@ -385,7 +385,7 @@ SYMBOL TABLE SSA
(byte*) print_str::str#2
(byte*) print_str::str#3
(byte*) print_str::str#4
(const byte*) txt[] = (string) "camelot"
(const byte*) txt[] = (byte*) "camelot"
Adding number conversion cast (unumber) 0 in (bool~) memset::$0 ← (word) memset::num#1 > (number) 0
Adding number conversion cast (unumber) 0 in (bool~) print_str::$0 ← (number) 0 != *((byte*) print_str::str#2)
@ -1345,7 +1345,7 @@ FINAL SYMBOL TABLE
(byte*) print_str::str
(byte*) print_str::str#0 str zp[2]:2 202.0
(byte*) print_str::str#2 str zp[2]:2 101.0
(const byte*) txt[] = (string) "camelot"
(const byte*) txt[] = (byte*) "camelot"
reg byte x [ main::i#2 main::i#1 ]
zp[2]:2 [ print_str::str#2 print_str::str#0 ]

View File

@ -52,7 +52,7 @@
(byte*) print_str::str
(byte*) print_str::str#0 str zp[2]:2 202.0
(byte*) print_str::str#2 str zp[2]:2 101.0
(const byte*) txt[] = (string) "camelot"
(const byte*) txt[] = (byte*) "camelot"
reg byte x [ main::i#2 main::i#1 ]
zp[2]:2 [ print_str::str#2 print_str::str#0 ]

View File

@ -25,7 +25,7 @@ SYMBOL TABLE SSA
(const byte*) SCREEN = (byte*)(number) $400
(void()) main()
(label) main::@return
(const byte*) table[] = (string) "cml!"z
(const byte*) table[] = (byte*) "cml!"z
Simplifying constant pointer cast (byte*) 1024
Successful SSA optimization PassNCastSimplification
@ -190,7 +190,7 @@ FINAL SYMBOL TABLE
(const byte*) SCREEN = (byte*) 1024
(void()) main()
(label) main::@return
(const byte*) table[] = (string) "cml!"z
(const byte*) table[] = (byte*) "cml!"z

View File

@ -4,5 +4,5 @@
(const byte*) SCREEN = (byte*) 1024
(void()) main()
(label) main::@return
(const byte*) table[] = (string) "cml!"z
(const byte*) table[] = (byte*) "cml!"z

View File

@ -25,7 +25,7 @@ SYMBOL TABLE SSA
(const byte*) SCREEN = (byte*)(number) $400
(void()) main()
(label) main::@return
(const byte*) table[] = (string) "cml!"z
(const byte*) table[] = (byte*) "cml!"z
Simplifying constant pointer cast (byte*) 1024
Successful SSA optimization PassNCastSimplification
@ -190,7 +190,7 @@ FINAL SYMBOL TABLE
(const byte*) SCREEN = (byte*) 1024
(void()) main()
(label) main::@return
(const byte*) table[] = (string) "cml!"z
(const byte*) table[] = (byte*) "cml!"z

View File

@ -4,5 +4,5 @@
(const byte*) SCREEN = (byte*) 1024
(void()) main()
(label) main::@return
(const byte*) table[] = (string) "cml!"z
(const byte*) table[] = (byte*) "cml!"z

View File

@ -26,7 +26,7 @@ SYMBOL TABLE SSA
(void()) main()
(label) main::@return
(const byte*) main::SCREEN = (byte*)(number) $400
(const byte*) table[] = (string) "cml!"z
(const byte*) table[] = (byte*) "cml!"z
Adding number conversion cast (unumber) 0 in *((const byte*) main::SCREEN+(number) $28) ← *((const byte*) table + (number) 0)
Adding number conversion cast (unumber) $28 in *((const byte*) main::SCREEN+(number) $28) ← *((const byte*) table + (unumber)(number) 0)
@ -209,7 +209,7 @@ FINAL SYMBOL TABLE
(void()) main()
(label) main::@return
(const byte*) main::SCREEN = (byte*) 1024
(const byte*) table[] = (string) "cml!"z
(const byte*) table[] = (byte*) "cml!"z

View File

@ -4,5 +4,5 @@
(void()) main()
(label) main::@return
(const byte*) main::SCREEN = (byte*) 1024
(const byte*) table[] = (string) "cml!"z
(const byte*) table[] = (byte*) "cml!"z

View File

@ -95,7 +95,7 @@ SYMBOL TABLE SSA
(byte*~) main::$1
(label) main::@1
(label) main::@return
(const byte*) main::hello = (string) "hello world!"
(const byte*) main::hello = (byte*) "hello world!"
(label) main::print1
(bool~) main::print1_$0
(label) main::print1_@1
@ -606,7 +606,7 @@ FINAL SYMBOL TABLE
(label) @end
(void()) main()
(label) main::@return
(const byte*) main::hello = (string) "hello world!"
(const byte*) main::hello = (byte*) "hello world!"
(label) main::print1
(label) main::print1_@1
(label) main::print1_@2

View File

@ -3,7 +3,7 @@
(label) @end
(void()) main()
(label) main::@return
(const byte*) main::hello = (string) "hello world!"
(const byte*) main::hello = (byte*) "hello world!"
(label) main::print1
(label) main::print1_@1
(label) main::print1_@2

View File

@ -32,7 +32,7 @@ SYMBOL TABLE SSA
(void()) main()
(label) main::@return
(const byte*) main::SCREEN = (byte*)(number) $400
(const byte*) table[] = (string) "cml!"z
(const byte*) table[] = (byte*) "cml!"z
Simplifying constant pointer cast (byte*) 1024
Successful SSA optimization PassNCastSimplification
@ -205,7 +205,7 @@ FINAL SYMBOL TABLE
(void()) main()
(label) main::@return
(const byte*) main::SCREEN = (byte*) 1024
(const byte*) table[] = (string) "cml!"z
(const byte*) table[] = (byte*) "cml!"z

View File

@ -4,5 +4,5 @@
(void()) main()
(label) main::@return
(const byte*) main::SCREEN = (byte*) 1024
(const byte*) table[] = (string) "cml!"z
(const byte*) table[] = (byte*) "cml!"z

Some files were not shown because too many files have changed in this diff Show More