1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-08 17:54:40 +00:00

Improved dword type inference.

This commit is contained in:
jespergravgaard 2018-01-28 17:21:57 +01:00
parent 9025b7d64a
commit 3d33851983
17 changed files with 619 additions and 598 deletions

View File

@ -128,12 +128,18 @@ public class SymbolTypeInference {
if(type1 == null && type2 instanceof SymbolTypePointer) {
return ((SymbolTypePointer) type2).getElementType();
}
if(SymbolType.WORD.equals(type1) || SymbolType.WORD.equals(type2)) {
return SymbolType.WORD;
} else if(SymbolType.isByte(type1) && SymbolType.isByte(type2)) {
if(SymbolType.isByte(type1) && SymbolType.isByte(type2)) {
return SymbolType.BYTE;
} else if(SymbolType.SBYTE.equals(type1) && SymbolType.SBYTE.equals(type2)) {
return SymbolType.SBYTE;
} else if(SymbolType.isWord(type1) && SymbolType.isWord(type2)) {
return SymbolType.WORD;
} else if(SymbolType.isSWord(type1) && SymbolType.isSWord(type2)) {
return SymbolType.SWORD;
} else if(SymbolType.isDWord(type1) && SymbolType.isDWord(type2)) {
return SymbolType.DWORD;
} else if(SymbolType.isSDWord(type1) && SymbolType.isSDWord(type2)) {
return SymbolType.SDWORD;
}
throw new RuntimeException("Type inference case not handled " + type1 + " " + operator + " " + type2);
case "*idx":
@ -148,12 +154,13 @@ public class SymbolTypeInference {
case "&":
case "|":
case "^":
if(SymbolType.WORD.equals(type1) || SymbolType.WORD.equals(type2)) {
return SymbolType.WORD;
} else if(SymbolType.isByte(type1) && SymbolType.isByte(type2)) {
if(SymbolType.isByte(type1) && SymbolType.isByte(type2)) {
return SymbolType.BYTE;
} else if(SymbolType.isWord(type1) && SymbolType.isWord(type2)) {
return SymbolType.WORD;
} else if(SymbolType.isDWord(type1) || SymbolType.isSDWord(type2)) {
return SymbolType.DWORD;
}
throw new RuntimeException("Type inference case not handled " + type1 + " " + operator + " " + type2);
case "<<":
case ">>":
@ -165,6 +172,10 @@ public class SymbolTypeInference {
return SymbolType.WORD;
} else if(SymbolType.isSWord(type1)) {
return SymbolType.SWORD;
} else if(SymbolType.isDWord(type1)) {
return SymbolType.DWORD;
} else if(SymbolType.isSDWord(type1)) {
return SymbolType.SDWORD;
}
throw new RuntimeException("Type inference case not handled " + type1 + " " + operator + " " + type2);
default:
@ -201,9 +212,9 @@ public class SymbolTypeInference {
return SymbolType.WORD;
} else if(SymbolType.isSWord(type1) && (SymbolType.isSWord(type2) || SymbolType.isSByte(type2))) {
return SymbolType.SWORD;
} else if(SymbolType.isDWord(type1) && (SymbolType.isDWord(type2) || SymbolType.isWord(type2))|| SymbolType.isByte(type2)) {
} else if(SymbolType.isDWord(type1) && (SymbolType.isDWord(type2) || SymbolType.isWord(type2)) || SymbolType.isByte(type2)) {
return SymbolType.DWORD;
} else if(SymbolType.isSDWord(type1) && (SymbolType.isSDWord(type2) || SymbolType.isSWord(type2)|| SymbolType.isSByte(type2))) {
} else if(SymbolType.isSDWord(type1) && (SymbolType.isSDWord(type2) || SymbolType.isSWord(type2) || SymbolType.isSByte(type2))) {
return SymbolType.SDWORD;
}
throw new RuntimeException("Type inference case not handled " + type1 + " " + "+" + " " + type2);
@ -218,6 +229,10 @@ public class SymbolTypeInference {
return SymbolType.SWORD;
} else if(SymbolType.isWord(type1) || SymbolType.isWord(type2)) {
return SymbolType.WORD;
} else if(SymbolType.isSDWord(type1) || SymbolType.isSDWord(type2)) {
return SymbolType.SDWORD;
} else if(SymbolType.isDWord(type1) || SymbolType.isDWord(type2)) {
return SymbolType.DWORD;
}
throw new RuntimeException("Type inference case not handled " + type1 + " " + "+" + " " + type2);
}
@ -241,6 +256,12 @@ public class SymbolTypeInference {
if(SymbolType.isSWord(type1) && (SymbolType.isSWord(type2) || SymbolType.isSByte(type2))) {
return SymbolType.SWORD;
}
if(SymbolType.isDWord(type1) && (SymbolType.isDWord(type2) || SymbolType.isWord(type2) || SymbolType.isByte(type2))) {
return SymbolType.DWORD;
}
if(SymbolType.isSDWord(type1) && (SymbolType.isSDWord(type2) || SymbolType.isSWord(type2) || SymbolType.isSByte(type2))) {
return SymbolType.SDWORD;
}
throw new RuntimeException("Type inference case not handled " + type1 + " - " + type2);
}
@ -256,7 +277,7 @@ public class SymbolTypeInference {
return true;
} else if(type instanceof SymbolTypeInline) {
SymbolTypeInline typeInline = (SymbolTypeInline) type;
return typeInline.isByte() || typeInline.isSByte() || typeInline.isWord() || typeInline.isSWord();
return typeInline.isByte() || typeInline.isSByte() || typeInline.isWord() || typeInline.isSWord() || typeInline.isDWord() || typeInline.isSDWord();
} else {
return false;
}

View File

@ -10,7 +10,7 @@ import java.util.Collection;
public class SymbolTypeInline implements SymbolType {
/** All numeric types. */
public static final SymbolTypeInline NUMERIC = new SymbolTypeInline(Arrays.asList(BYTE, SBYTE, WORD, SWORD));
public static final SymbolTypeInline NUMERIC = new SymbolTypeInline(Arrays.asList(BYTE, SBYTE, WORD, SWORD, DWORD, SDWORD));
/**
* All potential types for the inline constant.
*/

View File

@ -251,13 +251,13 @@ proc (void()) line((byte) line::x0 , (byte) line::x1 , (byte) line::y0 , (byte)
(boolean~) line::$0 ← (byte) line::x0 < (byte) line::x1
(boolean~) line::$1 ← ! (boolean~) line::$0
if((boolean~) line::$1) goto line::@1
(byte/signed byte/word/signed word~) line::$2 ← (byte) line::x1 - (byte) line::x0
(byte) line::xd ← (byte/signed byte/word/signed word~) line::$2
(byte/signed byte/word/signed word/dword/signed dword~) line::$2 ← (byte) line::x1 - (byte) line::x0
(byte) line::xd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$2
(boolean~) line::$3 ← (byte) line::y0 < (byte) line::y1
(boolean~) line::$4 ← ! (boolean~) line::$3
if((boolean~) line::$4) goto line::@2
(byte/signed byte/word/signed word~) line::$5 ← (byte) line::y1 - (byte) line::y0
(byte) line::yd ← (byte/signed byte/word/signed word~) line::$5
(byte/signed byte/word/signed word/dword/signed dword~) line::$5 ← (byte) line::y1 - (byte) line::y0
(byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$5
(boolean~) line::$6 ← (byte) line::yd < (byte) line::xd
(boolean~) line::$7 ← ! (boolean~) line::$6
if((boolean~) line::$7) goto line::@3
@ -268,8 +268,8 @@ line::@3:
line::@4:
goto line::@5
line::@2:
(byte/signed byte/word/signed word~) line::$10 ← (byte) line::y0 - (byte) line::y1
(byte) line::yd ← (byte/signed byte/word/signed word~) line::$10
(byte/signed byte/word/signed word/dword/signed dword~) line::$10 ← (byte) line::y0 - (byte) line::y1
(byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$10
(boolean~) line::$11 ← (byte) line::yd < (byte) line::xd
(boolean~) line::$12 ← ! (boolean~) line::$11
if((boolean~) line::$12) goto line::@6
@ -281,13 +281,13 @@ line::@7:
line::@5:
goto line::@8
line::@1:
(byte/signed byte/word/signed word~) line::$15 ← (byte) line::x0 - (byte) line::x1
(byte) line::xd ← (byte/signed byte/word/signed word~) line::$15
(byte/signed byte/word/signed word/dword/signed dword~) line::$15 ← (byte) line::x0 - (byte) line::x1
(byte) line::xd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$15
(boolean~) line::$16 ← (byte) line::y0 < (byte) line::y1
(boolean~) line::$17 ← ! (boolean~) line::$16
if((boolean~) line::$17) goto line::@9
(byte/signed byte/word/signed word~) line::$18 ← (byte) line::y1 - (byte) line::y0
(byte) line::yd ← (byte/signed byte/word/signed word~) line::$18
(byte/signed byte/word/signed word/dword/signed dword~) line::$18 ← (byte) line::y1 - (byte) line::y0
(byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$18
(boolean~) line::$19 ← (byte) line::yd < (byte) line::xd
(boolean~) line::$20 ← ! (boolean~) line::$19
if((boolean~) line::$20) goto line::@10
@ -298,8 +298,8 @@ line::@10:
line::@11:
goto line::@12
line::@9:
(byte/signed byte/word/signed word~) line::$23 ← (byte) line::y0 - (byte) line::y1
(byte) line::yd ← (byte/signed byte/word/signed word~) line::$23
(byte/signed byte/word/signed word/dword/signed dword~) line::$23 ← (byte) line::y0 - (byte) line::y1
(byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$23
(boolean~) line::$24 ← (byte) line::yd < (byte) line::xd
(boolean~) line::$25 ← ! (boolean~) line::$24
if((boolean~) line::$25) goto line::@13
@ -325,8 +325,8 @@ line_xdyi::@1:
(boolean~) line_xdyi::$4 ← ! (boolean~) line_xdyi::$3
if((boolean~) line_xdyi::$4) goto line_xdyi::@2
(byte) line_xdyi::y ← ++ (byte) line_xdyi::y
(byte/signed byte/word/signed word~) line_xdyi::$5 ← (byte) line_xdyi::e - (byte) line_xdyi::xd
(byte) line_xdyi::e ← (byte/signed byte/word/signed word~) line_xdyi::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5 ← (byte) line_xdyi::e - (byte) line_xdyi::xd
(byte) line_xdyi::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5
line_xdyi::@2:
(byte/word~) line_xdyi::$6 ← (byte) line_xdyi::x1 + (byte/signed byte/word/signed word/dword/signed dword) 1
(boolean~) line_xdyi::$7 ← (byte) line_xdyi::x != (byte/word~) line_xdyi::$6
@ -346,8 +346,8 @@ line_xdyd::@1:
(boolean~) line_xdyd::$4 ← ! (boolean~) line_xdyd::$3
if((boolean~) line_xdyd::$4) goto line_xdyd::@2
(byte) line_xdyd::y ← -- (byte) line_xdyd::y
(byte/signed byte/word/signed word~) line_xdyd::$5 ← (byte) line_xdyd::e - (byte) line_xdyd::xd
(byte) line_xdyd::e ← (byte/signed byte/word/signed word~) line_xdyd::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5 ← (byte) line_xdyd::e - (byte) line_xdyd::xd
(byte) line_xdyd::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5
line_xdyd::@2:
(byte/word~) line_xdyd::$6 ← (byte) line_xdyd::x1 + (byte/signed byte/word/signed word/dword/signed dword) 1
(boolean~) line_xdyd::$7 ← (byte) line_xdyd::x != (byte/word~) line_xdyd::$6
@ -367,8 +367,8 @@ line_ydxi::@1:
(boolean~) line_ydxi::$4 ← ! (boolean~) line_ydxi::$3
if((boolean~) line_ydxi::$4) goto line_ydxi::@2
(byte) line_ydxi::x ← ++ (byte) line_ydxi::x
(byte/signed byte/word/signed word~) line_ydxi::$5 ← (byte) line_ydxi::e - (byte) line_ydxi::yd
(byte) line_ydxi::e ← (byte/signed byte/word/signed word~) line_ydxi::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5 ← (byte) line_ydxi::e - (byte) line_ydxi::yd
(byte) line_ydxi::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5
line_ydxi::@2:
(byte/word~) line_ydxi::$6 ← (byte) line_ydxi::y1 + (byte/signed byte/word/signed word/dword/signed dword) 1
(boolean~) line_ydxi::$7 ← (byte) line_ydxi::y != (byte/word~) line_ydxi::$6
@ -389,8 +389,8 @@ line_ydxd::@1:
(boolean~) line_ydxd::$4 ← ! (boolean~) line_ydxd::$3
if((boolean~) line_ydxd::$4) goto line_ydxd::@2
(byte) line_ydxd::x ← -- (byte) line_ydxd::x
(byte/signed byte/word/signed word~) line_ydxd::$5 ← (byte) line_ydxd::e - (byte) line_ydxd::yd
(byte) line_ydxd::e ← (byte/signed byte/word/signed word~) line_ydxd::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5 ← (byte) line_ydxd::e - (byte) line_ydxd::yd
(byte) line_ydxd::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5
line_ydxd::@2:
(byte/word~) line_ydxd::$6 ← (byte) line_ydxd::y1 + (byte/signed byte/word/signed word/dword/signed dword) 1
(boolean~) line_ydxd::$7 ← (byte) line_ydxd::y != (byte/word~) line_ydxd::$6
@ -526,28 +526,28 @@ SYMBOLS
(void()) line((byte) line::x0 , (byte) line::x1 , (byte) line::y0 , (byte) line::y1)
(boolean~) line::$0
(boolean~) line::$1
(byte/signed byte/word/signed word~) line::$10
(byte/signed byte/word/signed word/dword/signed dword~) line::$10
(boolean~) line::$11
(boolean~) line::$12
(void~) line::$13
(void~) line::$14
(byte/signed byte/word/signed word~) line::$15
(byte/signed byte/word/signed word/dword/signed dword~) line::$15
(boolean~) line::$16
(boolean~) line::$17
(byte/signed byte/word/signed word~) line::$18
(byte/signed byte/word/signed word/dword/signed dword~) line::$18
(boolean~) line::$19
(byte/signed byte/word/signed word~) line::$2
(byte/signed byte/word/signed word/dword/signed dword~) line::$2
(boolean~) line::$20
(void~) line::$21
(void~) line::$22
(byte/signed byte/word/signed word~) line::$23
(byte/signed byte/word/signed word/dword/signed dword~) line::$23
(boolean~) line::$24
(boolean~) line::$25
(void~) line::$26
(void~) line::$27
(boolean~) line::$3
(boolean~) line::$4
(byte/signed byte/word/signed word~) line::$5
(byte/signed byte/word/signed word/dword/signed dword~) line::$5
(boolean~) line::$6
(boolean~) line::$7
(void~) line::$8
@ -579,7 +579,7 @@ SYMBOLS
(byte/word~) line_xdyd::$2
(boolean~) line_xdyd::$3
(boolean~) line_xdyd::$4
(byte/signed byte/word/signed word~) line_xdyd::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5
(byte/word~) line_xdyd::$6
(boolean~) line_xdyd::$7
(label) line_xdyd::@1
@ -597,7 +597,7 @@ SYMBOLS
(byte/word~) line_xdyi::$2
(boolean~) line_xdyi::$3
(boolean~) line_xdyi::$4
(byte/signed byte/word/signed word~) line_xdyi::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5
(byte/word~) line_xdyi::$6
(boolean~) line_xdyi::$7
(label) line_xdyi::@1
@ -615,7 +615,7 @@ SYMBOLS
(byte/word~) line_ydxd::$2
(boolean~) line_ydxd::$3
(boolean~) line_ydxd::$4
(byte/signed byte/word/signed word~) line_ydxd::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5
(byte/word~) line_ydxd::$6
(boolean~) line_ydxd::$7
(label) line_ydxd::@1
@ -633,7 +633,7 @@ SYMBOLS
(byte/word~) line_ydxi::$2
(boolean~) line_ydxi::$3
(boolean~) line_ydxi::$4
(byte/signed byte/word/signed word~) line_ydxi::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5
(byte/word~) line_ydxi::$6
(boolean~) line_ydxi::$7
(label) line_ydxi::@1
@ -776,29 +776,29 @@ line: scope:[line] from
if((boolean~) line::$1) goto line::@1
to:line::@15
line::@1: scope:[line] from line line::@22
(byte/signed byte/word/signed word~) line::$15 ← (byte) line::x0 - (byte) line::x1
(byte) line::xd ← (byte/signed byte/word/signed word~) line::$15
(byte/signed byte/word/signed word/dword/signed dword~) line::$15 ← (byte) line::x0 - (byte) line::x1
(byte) line::xd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$15
(boolean~) line::$16 ← (byte) line::y0 < (byte) line::y1
(boolean~) line::$17 ← ! (boolean~) line::$16
if((boolean~) line::$17) goto line::@9
to:line::@23
line::@15: scope:[line] from line
(byte/signed byte/word/signed word~) line::$2 ← (byte) line::x1 - (byte) line::x0
(byte) line::xd ← (byte/signed byte/word/signed word~) line::$2
(byte/signed byte/word/signed word/dword/signed dword~) line::$2 ← (byte) line::x1 - (byte) line::x0
(byte) line::xd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$2
(boolean~) line::$3 ← (byte) line::y0 < (byte) line::y1
(boolean~) line::$4 ← ! (boolean~) line::$3
if((boolean~) line::$4) goto line::@2
to:line::@16
line::@2: scope:[line] from line::@15 line::@19
(byte/signed byte/word/signed word~) line::$10 ← (byte) line::y0 - (byte) line::y1
(byte) line::yd ← (byte/signed byte/word/signed word~) line::$10
(byte/signed byte/word/signed word/dword/signed dword~) line::$10 ← (byte) line::y0 - (byte) line::y1
(byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$10
(boolean~) line::$11 ← (byte) line::yd < (byte) line::xd
(boolean~) line::$12 ← ! (boolean~) line::$11
if((boolean~) line::$12) goto line::@6
to:line::@20
line::@16: scope:[line] from line::@15
(byte/signed byte/word/signed word~) line::$5 ← (byte) line::y1 - (byte) line::y0
(byte) line::yd ← (byte/signed byte/word/signed word~) line::$5
(byte/signed byte/word/signed word/dword/signed dword~) line::$5 ← (byte) line::y1 - (byte) line::y0
(byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$5
(boolean~) line::$6 ← (byte) line::yd < (byte) line::xd
(boolean~) line::$7 ← ! (boolean~) line::$6
if((boolean~) line::$7) goto line::@3
@ -832,15 +832,15 @@ line::@8: scope:[line] from line::@12 line::@5
line::@22: scope:[line] from
to:line::@1
line::@9: scope:[line] from line::@1 line::@26
(byte/signed byte/word/signed word~) line::$23 ← (byte) line::y0 - (byte) line::y1
(byte) line::yd ← (byte/signed byte/word/signed word~) line::$23
(byte/signed byte/word/signed word/dword/signed dword~) line::$23 ← (byte) line::y0 - (byte) line::y1
(byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$23
(boolean~) line::$24 ← (byte) line::yd < (byte) line::xd
(boolean~) line::$25 ← ! (boolean~) line::$24
if((boolean~) line::$25) goto line::@13
to:line::@27
line::@23: scope:[line] from line::@1
(byte/signed byte/word/signed word~) line::$18 ← (byte) line::y1 - (byte) line::y0
(byte) line::yd ← (byte/signed byte/word/signed word~) line::$18
(byte/signed byte/word/signed word/dword/signed dword~) line::$18 ← (byte) line::y1 - (byte) line::y0
(byte) line::yd ← (byte/signed byte/word/signed word/dword/signed dword~) line::$18
(boolean~) line::$19 ← (byte) line::yd < (byte) line::xd
(boolean~) line::$20 ← ! (boolean~) line::$19
if((boolean~) line::$20) goto line::@10
@ -894,8 +894,8 @@ line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@1 line_xdyi::@3
to:line_xdyi::@4
line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@1
(byte) line_xdyi::y ← ++ (byte) line_xdyi::y
(byte/signed byte/word/signed word~) line_xdyi::$5 ← (byte) line_xdyi::e - (byte) line_xdyi::xd
(byte) line_xdyi::e ← (byte/signed byte/word/signed word~) line_xdyi::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5 ← (byte) line_xdyi::e - (byte) line_xdyi::xd
(byte) line_xdyi::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5
to:line_xdyi::@2
line_xdyi::@4: scope:[line_xdyi] from line_xdyi::@2
to:line_xdyi::@return
@ -924,8 +924,8 @@ line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@1 line_xdyd::@3
to:line_xdyd::@4
line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@1
(byte) line_xdyd::y ← -- (byte) line_xdyd::y
(byte/signed byte/word/signed word~) line_xdyd::$5 ← (byte) line_xdyd::e - (byte) line_xdyd::xd
(byte) line_xdyd::e ← (byte/signed byte/word/signed word~) line_xdyd::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5 ← (byte) line_xdyd::e - (byte) line_xdyd::xd
(byte) line_xdyd::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5
to:line_xdyd::@2
line_xdyd::@4: scope:[line_xdyd] from line_xdyd::@2
to:line_xdyd::@return
@ -954,8 +954,8 @@ line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@1 line_ydxi::@3
to:line_ydxi::@4
line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@1
(byte) line_ydxi::x ← ++ (byte) line_ydxi::x
(byte/signed byte/word/signed word~) line_ydxi::$5 ← (byte) line_ydxi::e - (byte) line_ydxi::yd
(byte) line_ydxi::e ← (byte/signed byte/word/signed word~) line_ydxi::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5 ← (byte) line_ydxi::e - (byte) line_ydxi::yd
(byte) line_ydxi::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5
to:line_ydxi::@2
line_ydxi::@4: scope:[line_ydxi] from line_ydxi::@2
to:line_ydxi::@return
@ -985,8 +985,8 @@ line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@1 line_ydxd::@3
to:line_ydxd::@4
line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@1
(byte) line_ydxd::x ← -- (byte) line_ydxd::x
(byte/signed byte/word/signed word~) line_ydxd::$5 ← (byte) line_ydxd::e - (byte) line_ydxd::yd
(byte) line_ydxd::e ← (byte/signed byte/word/signed word~) line_ydxd::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5 ← (byte) line_ydxd::e - (byte) line_ydxd::yd
(byte) line_ydxd::e ← (byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5
to:line_ydxd::@2
line_ydxd::@4: scope:[line_ydxd] from line_ydxd::@2
to:line_ydxd::@return
@ -1262,8 +1262,8 @@ line::@1: scope:[line] from line
(byte) line::y0#1 ← phi( line/(byte) line::y0#13 )
(byte) line::x1#2 ← phi( line/(byte) line::x1#1 )
(byte) line::x0#2 ← phi( line/(byte) line::x0#1 )
(byte/signed byte/word/signed word~) line::$15 ← (byte) line::x0#2 - (byte) line::x1#2
(byte) line::xd#0 ← (byte/signed byte/word/signed word~) line::$15
(byte/signed byte/word/signed word/dword/signed dword~) line::$15 ← (byte) line::x0#2 - (byte) line::x1#2
(byte) line::xd#0 ← (byte/signed byte/word/signed word/dword/signed dword~) line::$15
(boolean~) line::$16 ← (byte) line::y0#1 < (byte) line::y1#1
(boolean~) line::$17 ← ! (boolean~) line::$16
if((boolean~) line::$17) goto line::@9
@ -1273,8 +1273,8 @@ line::@15: scope:[line] from line
(byte) line::y0#2 ← phi( line/(byte) line::y0#13 )
(byte) line::x0#3 ← phi( line/(byte) line::x0#1 )
(byte) line::x1#3 ← phi( line/(byte) line::x1#1 )
(byte/signed byte/word/signed word~) line::$2 ← (byte) line::x1#3 - (byte) line::x0#3
(byte) line::xd#1 ← (byte/signed byte/word/signed word~) line::$2
(byte/signed byte/word/signed word/dword/signed dword~) line::$2 ← (byte) line::x1#3 - (byte) line::x0#3
(byte) line::xd#1 ← (byte/signed byte/word/signed word/dword/signed dword~) line::$2
(boolean~) line::$3 ← (byte) line::y0#2 < (byte) line::y1#2
(boolean~) line::$4 ← ! (boolean~) line::$3
if((boolean~) line::$4) goto line::@2
@ -1285,8 +1285,8 @@ line::@2: scope:[line] from line::@15
(byte) line::xd#2 ← phi( line::@15/(byte) line::xd#1 )
(byte) line::y1#3 ← phi( line::@15/(byte) line::y1#2 )
(byte) line::y0#3 ← phi( line::@15/(byte) line::y0#2 )
(byte/signed byte/word/signed word~) line::$10 ← (byte) line::y0#3 - (byte) line::y1#3
(byte) line::yd#0 ← (byte/signed byte/word/signed word~) line::$10
(byte/signed byte/word/signed word/dword/signed dword~) line::$10 ← (byte) line::y0#3 - (byte) line::y1#3
(byte) line::yd#0 ← (byte/signed byte/word/signed word/dword/signed dword~) line::$10
(boolean~) line::$11 ← (byte) line::yd#0 < (byte) line::xd#2
(boolean~) line::$12 ← ! (boolean~) line::$11
if((boolean~) line::$12) goto line::@6
@ -1297,8 +1297,8 @@ line::@16: scope:[line] from line::@15
(byte) line::xd#3 ← phi( line::@15/(byte) line::xd#1 )
(byte) line::y0#4 ← phi( line::@15/(byte) line::y0#2 )
(byte) line::y1#4 ← phi( line::@15/(byte) line::y1#2 )
(byte/signed byte/word/signed word~) line::$5 ← (byte) line::y1#4 - (byte) line::y0#4
(byte) line::yd#1 ← (byte/signed byte/word/signed word~) line::$5
(byte/signed byte/word/signed word/dword/signed dword~) line::$5 ← (byte) line::y1#4 - (byte) line::y0#4
(byte) line::yd#1 ← (byte/signed byte/word/signed word/dword/signed dword~) line::$5
(boolean~) line::$6 ← (byte) line::yd#1 < (byte) line::xd#3
(boolean~) line::$7 ← ! (boolean~) line::$6
if((boolean~) line::$7) goto line::@3
@ -1369,8 +1369,8 @@ line::@9: scope:[line] from line::@1
(byte) line::xd#8 ← phi( line::@1/(byte) line::xd#0 )
(byte) line::y1#7 ← phi( line::@1/(byte) line::y1#1 )
(byte) line::y0#9 ← phi( line::@1/(byte) line::y0#1 )
(byte/signed byte/word/signed word~) line::$23 ← (byte) line::y0#9 - (byte) line::y1#7
(byte) line::yd#2 ← (byte/signed byte/word/signed word~) line::$23
(byte/signed byte/word/signed word/dword/signed dword~) line::$23 ← (byte) line::y0#9 - (byte) line::y1#7
(byte) line::yd#2 ← (byte/signed byte/word/signed word/dword/signed dword~) line::$23
(boolean~) line::$24 ← (byte) line::yd#2 < (byte) line::xd#8
(boolean~) line::$25 ← ! (boolean~) line::$24
if((boolean~) line::$25) goto line::@13
@ -1381,8 +1381,8 @@ line::@23: scope:[line] from line::@1
(byte) line::xd#9 ← phi( line::@1/(byte) line::xd#0 )
(byte) line::y0#10 ← phi( line::@1/(byte) line::y0#1 )
(byte) line::y1#8 ← phi( line::@1/(byte) line::y1#1 )
(byte/signed byte/word/signed word~) line::$18 ← (byte) line::y1#8 - (byte) line::y0#10
(byte) line::yd#3 ← (byte/signed byte/word/signed word~) line::$18
(byte/signed byte/word/signed word/dword/signed dword~) line::$18 ← (byte) line::y1#8 - (byte) line::y0#10
(byte) line::yd#3 ← (byte/signed byte/word/signed word/dword/signed dword~) line::$18
(boolean~) line::$19 ← (byte) line::yd#3 < (byte) line::xd#9
(boolean~) line::$20 ← ! (boolean~) line::$19
if((boolean~) line::$20) goto line::@10
@ -1503,8 +1503,8 @@ line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5
(byte) line_xdyi::e#4 ← phi( line_xdyi::@5/(byte) line_xdyi::e#1 )
(byte) line_xdyi::y#4 ← phi( line_xdyi::@5/(byte) line_xdyi::y#7 )
(byte) line_xdyi::y#2 ← ++ (byte) line_xdyi::y#4
(byte/signed byte/word/signed word~) line_xdyi::$5 ← (byte) line_xdyi::e#4 - (byte) line_xdyi::xd#3
(byte) line_xdyi::e#2 ← (byte/signed byte/word/signed word~) line_xdyi::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5 ← (byte) line_xdyi::e#4 - (byte) line_xdyi::xd#3
(byte) line_xdyi::e#2 ← (byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5
to:line_xdyi::@2
line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2
return
@ -1562,8 +1562,8 @@ line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5
(byte) line_xdyd::e#4 ← phi( line_xdyd::@5/(byte) line_xdyd::e#1 )
(byte) line_xdyd::y#4 ← phi( line_xdyd::@5/(byte) line_xdyd::y#7 )
(byte) line_xdyd::y#2 ← -- (byte) line_xdyd::y#4
(byte/signed byte/word/signed word~) line_xdyd::$5 ← (byte) line_xdyd::e#4 - (byte) line_xdyd::xd#3
(byte) line_xdyd::e#2 ← (byte/signed byte/word/signed word~) line_xdyd::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5 ← (byte) line_xdyd::e#4 - (byte) line_xdyd::xd#3
(byte) line_xdyd::e#2 ← (byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5
to:line_xdyd::@2
line_xdyd::@return: scope:[line_xdyd] from line_xdyd::@2
return
@ -1621,8 +1621,8 @@ line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5
(byte) line_ydxi::e#4 ← phi( line_ydxi::@5/(byte) line_ydxi::e#1 )
(byte) line_ydxi::x#4 ← phi( line_ydxi::@5/(byte) line_ydxi::x#7 )
(byte) line_ydxi::x#2 ← ++ (byte) line_ydxi::x#4
(byte/signed byte/word/signed word~) line_ydxi::$5 ← (byte) line_ydxi::e#4 - (byte) line_ydxi::yd#3
(byte) line_ydxi::e#2 ← (byte/signed byte/word/signed word~) line_ydxi::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5 ← (byte) line_ydxi::e#4 - (byte) line_ydxi::yd#3
(byte) line_ydxi::e#2 ← (byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5
to:line_ydxi::@2
line_ydxi::@return: scope:[line_ydxi] from line_ydxi::@2
return
@ -1681,8 +1681,8 @@ line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5
(byte) line_ydxd::e#4 ← phi( line_ydxd::@5/(byte) line_ydxd::e#1 )
(byte) line_ydxd::x#4 ← phi( line_ydxd::@5/(byte) line_ydxd::x#7 )
(byte) line_ydxd::x#2 ← -- (byte) line_ydxd::x#4
(byte/signed byte/word/signed word~) line_ydxd::$5 ← (byte) line_ydxd::e#4 - (byte) line_ydxd::yd#3
(byte) line_ydxd::e#2 ← (byte/signed byte/word/signed word~) line_ydxd::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5 ← (byte) line_ydxd::e#4 - (byte) line_ydxd::yd#3
(byte) line_ydxd::e#2 ← (byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5
to:line_ydxd::@2
line_ydxd::@return: scope:[line_ydxd] from line_ydxd::@2
return
@ -1921,22 +1921,22 @@ SYMBOL TABLE SSA
(void()) line((byte) line::x0 , (byte) line::x1 , (byte) line::y0 , (byte) line::y1)
(boolean~) line::$0
(boolean~) line::$1
(byte/signed byte/word/signed word~) line::$10
(byte/signed byte/word/signed word/dword/signed dword~) line::$10
(boolean~) line::$11
(boolean~) line::$12
(byte/signed byte/word/signed word~) line::$15
(byte/signed byte/word/signed word/dword/signed dword~) line::$15
(boolean~) line::$16
(boolean~) line::$17
(byte/signed byte/word/signed word~) line::$18
(byte/signed byte/word/signed word/dword/signed dword~) line::$18
(boolean~) line::$19
(byte/signed byte/word/signed word~) line::$2
(byte/signed byte/word/signed word/dword/signed dword~) line::$2
(boolean~) line::$20
(byte/signed byte/word/signed word~) line::$23
(byte/signed byte/word/signed word/dword/signed dword~) line::$23
(boolean~) line::$24
(boolean~) line::$25
(boolean~) line::$3
(boolean~) line::$4
(byte/signed byte/word/signed word~) line::$5
(byte/signed byte/word/signed word/dword/signed dword~) line::$5
(boolean~) line::$6
(boolean~) line::$7
(label) line::@1
@ -2055,7 +2055,7 @@ SYMBOL TABLE SSA
(byte/word~) line_xdyd::$2
(boolean~) line_xdyd::$3
(boolean~) line_xdyd::$4
(byte/signed byte/word/signed word~) line_xdyd::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5
(byte/word~) line_xdyd::$6
(boolean~) line_xdyd::$7
(label) line_xdyd::@1
@ -2118,7 +2118,7 @@ SYMBOL TABLE SSA
(byte/word~) line_xdyi::$2
(boolean~) line_xdyi::$3
(boolean~) line_xdyi::$4
(byte/signed byte/word/signed word~) line_xdyi::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5
(byte/word~) line_xdyi::$6
(boolean~) line_xdyi::$7
(label) line_xdyi::@1
@ -2181,7 +2181,7 @@ SYMBOL TABLE SSA
(byte/word~) line_ydxd::$2
(boolean~) line_ydxd::$3
(boolean~) line_ydxd::$4
(byte/signed byte/word/signed word~) line_ydxd::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5
(byte/word~) line_ydxd::$6
(boolean~) line_ydxd::$7
(label) line_ydxd::@1
@ -2245,7 +2245,7 @@ SYMBOL TABLE SSA
(byte/word~) line_ydxi::$2
(boolean~) line_ydxi::$3
(boolean~) line_ydxi::$4
(byte/signed byte/word/signed word~) line_ydxi::$5
(byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5
(byte/word~) line_ydxi::$6
(boolean~) line_ydxi::$7
(label) line_ydxi::@1
@ -2499,12 +2499,12 @@ Alias (byte) line::x0#1 = (byte) line::x0#2 (byte) line::x0#3 (byte) line::x0#11
Alias (byte) line::x1#1 = (byte) line::x1#2 (byte) line::x1#3 (byte) line::x1#11 (byte) line::x1#10 (byte) line::x1#4 (byte) line::x1#5 (byte) line::x1#6 (byte) line::x1#13 (byte) line::x1#12 (byte) line::x1#7 (byte) line::x1#8 (byte) line::x1#9
Alias (byte) line::y0#1 = (byte) line::y0#13 (byte) line::y0#2 (byte) line::y0#3 (byte) line::y0#4 (byte) line::y0#5 (byte) line::y0#6 (byte) line::y0#7 (byte) line::y0#8 (byte) line::y0#9 (byte) line::y0#10 (byte) line::y0#11 (byte) line::y0#12
Alias (byte) line::y1#1 = (byte) line::y1#13 (byte) line::y1#2 (byte) line::y1#3 (byte) line::y1#4 (byte) line::y1#5 (byte) line::y1#6 (byte) line::y1#7 (byte) line::y1#8 (byte) line::y1#9 (byte) line::y1#10 (byte) line::y1#11 (byte) line::y1#12
Alias (byte) line::xd#0 = (byte/signed byte/word/signed word~) line::$15 (byte) line::xd#8 (byte) line::xd#9 (byte) line::xd#10 (byte) line::xd#11 (byte) line::xd#12 (byte) line::xd#13
Alias (byte) line::xd#1 = (byte/signed byte/word/signed word~) line::$2 (byte) line::xd#2 (byte) line::xd#3 (byte) line::xd#4 (byte) line::xd#5 (byte) line::xd#6 (byte) line::xd#7
Alias (byte) line::yd#0 = (byte/signed byte/word/signed word~) line::$10 (byte) line::yd#6 (byte) line::yd#7
Alias (byte) line::yd#1 = (byte/signed byte/word/signed word~) line::$5 (byte) line::yd#4 (byte) line::yd#5
Alias (byte) line::yd#10 = (byte) line::yd#2 (byte/signed byte/word/signed word~) line::$23 (byte) line::yd#11
Alias (byte) line::yd#3 = (byte/signed byte/word/signed word~) line::$18 (byte) line::yd#8 (byte) line::yd#9
Alias (byte) line::xd#0 = (byte/signed byte/word/signed word/dword/signed dword~) line::$15 (byte) line::xd#8 (byte) line::xd#9 (byte) line::xd#10 (byte) line::xd#11 (byte) line::xd#12 (byte) line::xd#13
Alias (byte) line::xd#1 = (byte/signed byte/word/signed word/dword/signed dword~) line::$2 (byte) line::xd#2 (byte) line::xd#3 (byte) line::xd#4 (byte) line::xd#5 (byte) line::xd#6 (byte) line::xd#7
Alias (byte) line::yd#0 = (byte/signed byte/word/signed word/dword/signed dword~) line::$10 (byte) line::yd#6 (byte) line::yd#7
Alias (byte) line::yd#1 = (byte/signed byte/word/signed word/dword/signed dword~) line::$5 (byte) line::yd#4 (byte) line::yd#5
Alias (byte) line::yd#10 = (byte) line::yd#2 (byte/signed byte/word/signed word/dword/signed dword~) line::$23 (byte) line::yd#11
Alias (byte) line::yd#3 = (byte/signed byte/word/signed word/dword/signed dword~) line::$18 (byte) line::yd#8 (byte) line::yd#9
Alias (byte) line_xdyi::e#0 = (byte~) line_xdyi::$0
Alias (byte) line_xdyi::x#3 = (byte) line_xdyi::x#4
Alias (byte) line_xdyi::e#3 = (byte) line_xdyi::e#5
@ -2514,7 +2514,7 @@ Alias (byte) line_xdyi::x1#3 = (byte) line_xdyi::x1#4 (byte) line_xdyi::x1#5
Alias (byte) line_xdyi::y#3 = (byte) line_xdyi::y#7 (byte) line_xdyi::y#4
Alias (byte) line_xdyi::e#1 = (byte/word~) line_xdyi::$2 (byte) line_xdyi::e#4
Alias (byte) line_xdyi::x#2 = (byte) line_xdyi::x#7
Alias (byte) line_xdyi::e#2 = (byte/signed byte/word/signed word~) line_xdyi::$5
Alias (byte) line_xdyi::e#2 = (byte/signed byte/word/signed word/dword/signed dword~) line_xdyi::$5
Alias (byte) line_xdyd::e#0 = (byte~) line_xdyd::$0
Alias (byte) line_xdyd::x#3 = (byte) line_xdyd::x#4
Alias (byte) line_xdyd::e#3 = (byte) line_xdyd::e#5
@ -2524,7 +2524,7 @@ Alias (byte) line_xdyd::x1#3 = (byte) line_xdyd::x1#4 (byte) line_xdyd::x1#5
Alias (byte) line_xdyd::y#3 = (byte) line_xdyd::y#7 (byte) line_xdyd::y#4
Alias (byte) line_xdyd::e#1 = (byte/word~) line_xdyd::$2 (byte) line_xdyd::e#4
Alias (byte) line_xdyd::x#2 = (byte) line_xdyd::x#7
Alias (byte) line_xdyd::e#2 = (byte/signed byte/word/signed word~) line_xdyd::$5
Alias (byte) line_xdyd::e#2 = (byte/signed byte/word/signed word/dword/signed dword~) line_xdyd::$5
Alias (byte) line_ydxi::e#0 = (byte~) line_ydxi::$0
Alias (byte) line_ydxi::y#3 = (byte) line_ydxi::y#4
Alias (byte) line_ydxi::e#3 = (byte) line_ydxi::e#5
@ -2534,7 +2534,7 @@ Alias (byte) line_ydxi::y1#3 = (byte) line_ydxi::y1#4 (byte) line_ydxi::y1#5
Alias (byte) line_ydxi::x#3 = (byte) line_ydxi::x#7 (byte) line_ydxi::x#4
Alias (byte) line_ydxi::e#1 = (byte/word~) line_ydxi::$2 (byte) line_ydxi::e#4
Alias (byte) line_ydxi::y#2 = (byte) line_ydxi::y#7
Alias (byte) line_ydxi::e#2 = (byte/signed byte/word/signed word~) line_ydxi::$5
Alias (byte) line_ydxi::e#2 = (byte/signed byte/word/signed word/dword/signed dword~) line_ydxi::$5
Alias (byte) line_ydxd::e#0 = (byte~) line_ydxd::$0
Alias (byte) line_ydxd::y#2 = (byte) line_ydxd::y#5 (byte) line_ydxd::y#4
Alias (byte) line_ydxd::e#3 = (byte) line_ydxd::e#5
@ -2544,7 +2544,7 @@ Alias (byte) line_ydxd::y1#3 = (byte) line_ydxd::y1#4 (byte) line_ydxd::y1#5
Alias (byte) line_ydxd::x#3 = (byte) line_ydxd::x#7 (byte) line_ydxd::x#4
Alias (byte) line_ydxd::e#1 = (byte/word~) line_ydxd::$2 (byte) line_ydxd::e#4
Alias (byte) line_ydxd::y#3 = (byte) line_ydxd::y#8
Alias (byte) line_ydxd::e#2 = (byte/signed byte/word/signed word~) line_ydxd::$5
Alias (byte) line_ydxd::e#2 = (byte/signed byte/word/signed word/dword/signed dword~) line_ydxd::$5
Alias (byte) init_plot_tables::bits#1 = (byte~) init_plot_tables::$2
Alias (byte) init_plot_tables::x#2 = (byte) init_plot_tables::x#4
Alias (byte*) init_plot_tables::yoffs#2 = (byte*) init_plot_tables::yoffs#3

View File

@ -34,10 +34,10 @@ proc (void()) main()
(byte) main::y0 ← (byte/signed byte/word/signed word/dword/signed dword) 4
(byte) main::x1 ← (byte/signed byte/word/signed word/dword/signed dword) 39
(byte) main::y1 ← (byte/signed byte/word/signed word/dword/signed dword) 24
(byte/signed byte/word/signed word~) main::$0 ← (byte) main::x1 - (byte) main::x0
(byte) main::xd ← (byte/signed byte/word/signed word~) main::$0
(byte/signed byte/word/signed word~) main::$1 ← (byte) main::y1 - (byte) main::y0
(byte) main::yd ← (byte/signed byte/word/signed word~) main::$1
(byte/signed byte/word/signed word/dword/signed dword~) main::$0 ← (byte) main::x1 - (byte) main::x0
(byte) main::xd ← (byte/signed byte/word/signed word/dword/signed dword~) main::$0
(byte/signed byte/word/signed word/dword/signed dword~) main::$1 ← (byte) main::y1 - (byte) main::y0
(byte) main::yd ← (byte/signed byte/word/signed word/dword/signed dword~) main::$1
(byte) main::x ← (byte) main::x0
(byte) main::y ← (byte) main::y0
(byte~) main::$2 ← (byte) main::yd / (byte/signed byte/word/signed word/dword/signed dword) 2
@ -61,8 +61,8 @@ main::@1:
(byte) main::y ← (byte/word~) main::$11
(byte*~) main::$12 ← (byte*) main::cursor + (byte/signed byte/word/signed word/dword/signed dword) 40
(byte*) main::cursor ← (byte*~) main::$12
(byte/signed byte/word/signed word~) main::$13 ← (byte) main::e - (byte) main::xd
(byte) main::e ← (byte/signed byte/word/signed word~) main::$13
(byte/signed byte/word/signed word/dword/signed dword~) main::$13 ← (byte) main::e - (byte) main::xd
(byte) main::e ← (byte/signed byte/word/signed word/dword/signed dword~) main::$13
main::@2:
(byte/word~) main::$14 ← (byte) main::x1 + (byte/signed byte/word/signed word/dword/signed dword) 1
(boolean~) main::$15 ← (byte) main::x < (byte/word~) main::$14
@ -76,12 +76,12 @@ SYMBOLS
(byte[1000]) SCREEN
(byte) STAR
(void()) main()
(byte/signed byte/word/signed word~) main::$0
(byte/signed byte/word/signed word~) main::$1
(byte/signed byte/word/signed word/dword/signed dword~) main::$0
(byte/signed byte/word/signed word/dword/signed dword~) main::$1
(boolean~) main::$10
(byte/word~) main::$11
(byte*~) main::$12
(byte/signed byte/word/signed word~) main::$13
(byte/signed byte/word/signed word/dword/signed dword~) main::$13
(byte/word~) main::$14
(boolean~) main::$15
(byte~) main::$2
@ -117,10 +117,10 @@ main: scope:[main] from
(byte) main::y0 ← (byte/signed byte/word/signed word/dword/signed dword) 4
(byte) main::x1 ← (byte/signed byte/word/signed word/dword/signed dword) 39
(byte) main::y1 ← (byte/signed byte/word/signed word/dword/signed dword) 24
(byte/signed byte/word/signed word~) main::$0 ← (byte) main::x1 - (byte) main::x0
(byte) main::xd ← (byte/signed byte/word/signed word~) main::$0
(byte/signed byte/word/signed word~) main::$1 ← (byte) main::y1 - (byte) main::y0
(byte) main::yd ← (byte/signed byte/word/signed word~) main::$1
(byte/signed byte/word/signed word/dword/signed dword~) main::$0 ← (byte) main::x1 - (byte) main::x0
(byte) main::xd ← (byte/signed byte/word/signed word/dword/signed dword~) main::$0
(byte/signed byte/word/signed word/dword/signed dword~) main::$1 ← (byte) main::y1 - (byte) main::y0
(byte) main::yd ← (byte/signed byte/word/signed word/dword/signed dword~) main::$1
(byte) main::x ← (byte) main::x0
(byte) main::y ← (byte) main::y0
(byte~) main::$2 ← (byte) main::yd / (byte/signed byte/word/signed word/dword/signed dword) 2
@ -152,8 +152,8 @@ main::@3: scope:[main] from main::@1
(byte) main::y ← (byte/word~) main::$11
(byte*~) main::$12 ← (byte*) main::cursor + (byte/signed byte/word/signed word/dword/signed dword) 40
(byte*) main::cursor ← (byte*~) main::$12
(byte/signed byte/word/signed word~) main::$13 ← (byte) main::e - (byte) main::xd
(byte) main::e ← (byte/signed byte/word/signed word~) main::$13
(byte/signed byte/word/signed word/dword/signed dword~) main::$13 ← (byte) main::e - (byte) main::xd
(byte) main::e ← (byte/signed byte/word/signed word/dword/signed dword~) main::$13
to:main::@2
main::@4: scope:[main] from main::@2
to:main::@return
@ -183,10 +183,10 @@ main: scope:[main] from @1
(byte) main::y0#0 ← (byte/signed byte/word/signed word/dword/signed dword) 4
(byte) main::x1#0 ← (byte/signed byte/word/signed word/dword/signed dword) 39
(byte) main::y1#0 ← (byte/signed byte/word/signed word/dword/signed dword) 24
(byte/signed byte/word/signed word~) main::$0 ← (byte) main::x1#0 - (byte) main::x0#0
(byte) main::xd#0 ← (byte/signed byte/word/signed word~) main::$0
(byte/signed byte/word/signed word~) main::$1 ← (byte) main::y1#0 - (byte) main::y0#0
(byte) main::yd#0 ← (byte/signed byte/word/signed word~) main::$1
(byte/signed byte/word/signed word/dword/signed dword~) main::$0 ← (byte) main::x1#0 - (byte) main::x0#0
(byte) main::xd#0 ← (byte/signed byte/word/signed word/dword/signed dword~) main::$0
(byte/signed byte/word/signed word/dword/signed dword~) main::$1 ← (byte) main::y1#0 - (byte) main::y0#0
(byte) main::yd#0 ← (byte/signed byte/word/signed word/dword/signed dword~) main::$1
(byte) main::x#0 ← (byte) main::x0#0
(byte) main::y#0 ← (byte) main::y0#0
(byte~) main::$2 ← (byte) main::yd#0 / (byte/signed byte/word/signed word/dword/signed dword) 2
@ -242,8 +242,8 @@ main::@3: scope:[main] from main::@1
(byte) main::y#1 ← (byte/word~) main::$11
(byte*~) main::$12 ← (byte*) main::cursor#4 + (byte/signed byte/word/signed word/dword/signed dword) 40
(byte*) main::cursor#2 ← (byte*~) main::$12
(byte/signed byte/word/signed word~) main::$13 ← (byte) main::e#4 - (byte) main::xd#2
(byte) main::e#2 ← (byte/signed byte/word/signed word~) main::$13
(byte/signed byte/word/signed word/dword/signed dword~) main::$13 ← (byte) main::e#4 - (byte) main::xd#2
(byte) main::e#2 ← (byte/signed byte/word/signed word/dword/signed dword~) main::$13
to:main::@2
main::@return: scope:[main] from main::@2
return
@ -271,12 +271,12 @@ SYMBOL TABLE SSA
(byte) STAR#4
(byte) STAR#5
(void()) main()
(byte/signed byte/word/signed word~) main::$0
(byte/signed byte/word/signed word~) main::$1
(byte/signed byte/word/signed word/dword/signed dword~) main::$0
(byte/signed byte/word/signed word/dword/signed dword~) main::$1
(boolean~) main::$10
(byte/word~) main::$11
(byte*~) main::$12
(byte/signed byte/word/signed word~) main::$13
(byte/signed byte/word/signed word/dword/signed dword~) main::$13
(byte/word~) main::$14
(boolean~) main::$15
(byte~) main::$2
@ -345,8 +345,8 @@ Succesful SSA optimization Pass2CullEmptyBlocks
Inversing boolean not (boolean~) main::$10 ← (byte) main::xd#1 > (byte) main::e#1 from (boolean~) main::$9 ← (byte) main::xd#1 <= (byte) main::e#1
Succesful SSA optimization Pass2UnaryNotSimplification
Not aliassing across scopes: STAR#2 STAR#4
Alias (byte) main::xd#0 = (byte/signed byte/word/signed word~) main::$0
Alias (byte) main::yd#0 = (byte/signed byte/word/signed word~) main::$1
Alias (byte) main::xd#0 = (byte/signed byte/word/signed word/dword/signed dword~) main::$0
Alias (byte) main::yd#0 = (byte/signed byte/word/signed word/dword/signed dword~) main::$1
Alias (byte) main::x#0 = (byte) main::x0#0
Alias (byte) main::y#0 = (byte) main::y0#0
Alias (byte) main::e#0 = (byte~) main::$2
@ -361,7 +361,7 @@ Alias (byte) STAR#1 = (byte) STAR#5
Alias (byte) main::yd#1 = (byte) main::yd#3
Alias (byte) main::y#1 = (byte/word~) main::$11
Alias (byte*) main::cursor#2 = (byte*~) main::$12
Alias (byte) main::e#2 = (byte/signed byte/word/signed word~) main::$13
Alias (byte) main::e#2 = (byte/signed byte/word/signed word/dword/signed dword~) main::$13
Alias (byte) STAR#0 = (byte) STAR#4
Succesful SSA optimization Pass2AliasElimination
Not aliassing across scopes: STAR#2 STAR#0

View File

@ -34,10 +34,10 @@ proc (void()) main()
(byte) main::y0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
(byte) main::x1 ← (byte/signed byte/word/signed word/dword/signed dword) 39
(byte) main::y1 ← (byte/signed byte/word/signed word/dword/signed dword) 24
(byte/signed byte/word/signed word~) main::$0 ← (byte) main::x1 - (byte) main::x0
(byte) main::xd ← (byte/signed byte/word/signed word~) main::$0
(byte/signed byte/word/signed word~) main::$1 ← (byte) main::y1 - (byte) main::y0
(byte) main::yd ← (byte/signed byte/word/signed word~) main::$1
(byte/signed byte/word/signed word/dword/signed dword~) main::$0 ← (byte) main::x1 - (byte) main::x0
(byte) main::xd ← (byte/signed byte/word/signed word/dword/signed dword~) main::$0
(byte/signed byte/word/signed word/dword/signed dword~) main::$1 ← (byte) main::y1 - (byte) main::y0
(byte) main::yd ← (byte/signed byte/word/signed word/dword/signed dword~) main::$1
(byte) main::x ← (byte) main::x0
(byte) main::y ← (byte) main::y0
(byte~) main::$2 ← (byte) main::yd / (byte/signed byte/word/signed word/dword/signed dword) 2
@ -60,8 +60,8 @@ main::@1:
(byte) main::y ← (byte/word~) main::$10
(word~) main::$11 ← (word) main::idx + (byte/signed byte/word/signed word/dword/signed dword) 40
(word) main::idx ← (word~) main::$11
(byte/signed byte/word/signed word~) main::$12 ← (byte) main::e - (byte) main::xd
(byte) main::e ← (byte/signed byte/word/signed word~) main::$12
(byte/signed byte/word/signed word/dword/signed dword~) main::$12 ← (byte) main::e - (byte) main::xd
(byte) main::e ← (byte/signed byte/word/signed word/dword/signed dword~) main::$12
main::@2:
(byte/word~) main::$13 ← (byte) main::x1 + (byte/signed byte/word/signed word/dword/signed dword) 1
(boolean~) main::$14 ← (byte) main::x < (byte/word~) main::$13
@ -73,11 +73,11 @@ endproc // main()
SYMBOLS
(void()) main()
(byte/signed byte/word/signed word~) main::$0
(byte/signed byte/word/signed word~) main::$1
(byte/signed byte/word/signed word/dword/signed dword~) main::$0
(byte/signed byte/word/signed word/dword/signed dword~) main::$1
(byte/word~) main::$10
(word~) main::$11
(byte/signed byte/word/signed word~) main::$12
(byte/signed byte/word/signed word/dword/signed dword~) main::$12
(byte/word~) main::$13
(boolean~) main::$14
(byte~) main::$2
@ -115,10 +115,10 @@ main: scope:[main] from
(byte) main::y0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
(byte) main::x1 ← (byte/signed byte/word/signed word/dword/signed dword) 39
(byte) main::y1 ← (byte/signed byte/word/signed word/dword/signed dword) 24
(byte/signed byte/word/signed word~) main::$0 ← (byte) main::x1 - (byte) main::x0
(byte) main::xd ← (byte/signed byte/word/signed word~) main::$0
(byte/signed byte/word/signed word~) main::$1 ← (byte) main::y1 - (byte) main::y0
(byte) main::yd ← (byte/signed byte/word/signed word~) main::$1
(byte/signed byte/word/signed word/dword/signed dword~) main::$0 ← (byte) main::x1 - (byte) main::x0
(byte) main::xd ← (byte/signed byte/word/signed word/dword/signed dword~) main::$0
(byte/signed byte/word/signed word/dword/signed dword~) main::$1 ← (byte) main::y1 - (byte) main::y0
(byte) main::yd ← (byte/signed byte/word/signed word/dword/signed dword~) main::$1
(byte) main::x ← (byte) main::x0
(byte) main::y ← (byte) main::y0
(byte~) main::$2 ← (byte) main::yd / (byte/signed byte/word/signed word/dword/signed dword) 2
@ -149,8 +149,8 @@ main::@3: scope:[main] from main::@1
(byte) main::y ← (byte/word~) main::$10
(word~) main::$11 ← (word) main::idx + (byte/signed byte/word/signed word/dword/signed dword) 40
(word) main::idx ← (word~) main::$11
(byte/signed byte/word/signed word~) main::$12 ← (byte) main::e - (byte) main::xd
(byte) main::e ← (byte/signed byte/word/signed word~) main::$12
(byte/signed byte/word/signed word/dword/signed dword~) main::$12 ← (byte) main::e - (byte) main::xd
(byte) main::e ← (byte/signed byte/word/signed word/dword/signed dword~) main::$12
to:main::@2
main::@4: scope:[main] from main::@2
to:main::@return
@ -179,10 +179,10 @@ main: scope:[main] from @1
(byte) main::y0#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
(byte) main::x1#0 ← (byte/signed byte/word/signed word/dword/signed dword) 39
(byte) main::y1#0 ← (byte/signed byte/word/signed word/dword/signed dword) 24
(byte/signed byte/word/signed word~) main::$0 ← (byte) main::x1#0 - (byte) main::x0#0
(byte) main::xd#0 ← (byte/signed byte/word/signed word~) main::$0
(byte/signed byte/word/signed word~) main::$1 ← (byte) main::y1#0 - (byte) main::y0#0
(byte) main::yd#0 ← (byte/signed byte/word/signed word~) main::$1
(byte/signed byte/word/signed word/dword/signed dword~) main::$0 ← (byte) main::x1#0 - (byte) main::x0#0
(byte) main::xd#0 ← (byte/signed byte/word/signed word/dword/signed dword~) main::$0
(byte/signed byte/word/signed word/dword/signed dword~) main::$1 ← (byte) main::y1#0 - (byte) main::y0#0
(byte) main::yd#0 ← (byte/signed byte/word/signed word/dword/signed dword~) main::$1
(byte) main::x#0 ← (byte) main::x0#0
(byte) main::y#0 ← (byte) main::y0#0
(byte~) main::$2 ← (byte) main::yd#0 / (byte/signed byte/word/signed word/dword/signed dword) 2
@ -237,8 +237,8 @@ main::@3: scope:[main] from main::@1
(byte) main::y#1 ← (byte/word~) main::$10
(word~) main::$11 ← (word) main::idx#4 + (byte/signed byte/word/signed word/dword/signed dword) 40
(word) main::idx#2 ← (word~) main::$11
(byte/signed byte/word/signed word~) main::$12 ← (byte) main::e#4 - (byte) main::xd#2
(byte) main::e#2 ← (byte/signed byte/word/signed word~) main::$12
(byte/signed byte/word/signed word/dword/signed dword~) main::$12 ← (byte) main::e#4 - (byte) main::xd#2
(byte) main::e#2 ← (byte/signed byte/word/signed word/dword/signed dword~) main::$12
to:main::@2
main::@return: scope:[main] from main::@2
return
@ -256,11 +256,11 @@ SYMBOL TABLE SSA
(label) @begin
(label) @end
(void()) main()
(byte/signed byte/word/signed word~) main::$0
(byte/signed byte/word/signed word~) main::$1
(byte/signed byte/word/signed word/dword/signed dword~) main::$0
(byte/signed byte/word/signed word/dword/signed dword~) main::$1
(byte/word~) main::$10
(word~) main::$11
(byte/signed byte/word/signed word~) main::$12
(byte/signed byte/word/signed word/dword/signed dword~) main::$12
(byte/word~) main::$13
(boolean~) main::$14
(byte~) main::$2
@ -335,8 +335,8 @@ Culled Empty Block (label) @2
Succesful SSA optimization Pass2CullEmptyBlocks
Inversing boolean not (boolean~) main::$9 ← (byte) main::xd#1 >= (byte) main::e#1 from (boolean~) main::$8 ← (byte) main::xd#1 < (byte) main::e#1
Succesful SSA optimization Pass2UnaryNotSimplification
Alias (byte) main::xd#0 = (byte/signed byte/word/signed word~) main::$0
Alias (byte) main::yd#0 = (byte/signed byte/word/signed word~) main::$1
Alias (byte) main::xd#0 = (byte/signed byte/word/signed word/dword/signed dword~) main::$0
Alias (byte) main::yd#0 = (byte/signed byte/word/signed word/dword/signed dword~) main::$1
Alias (byte) main::x#0 = (byte) main::x0#0
Alias (byte) main::y#0 = (byte) main::y0#0
Alias (byte) main::e#0 = (byte~) main::$2
@ -351,7 +351,7 @@ Alias (byte) main::STAR#1 = (byte) main::STAR#3
Alias (byte) main::yd#1 = (byte) main::yd#3
Alias (byte) main::y#1 = (byte/word~) main::$10
Alias (word) main::idx#2 = (word~) main::$11
Alias (byte) main::e#2 = (byte/signed byte/word/signed word~) main::$12
Alias (byte) main::e#2 = (byte/signed byte/word/signed word/dword/signed dword~) main::$12
Succesful SSA optimization Pass2AliasElimination
Alias (byte) main::x1#1 = (byte) main::x1#2
Alias (byte) main::x#1 = (byte) main::x#3

View File

@ -43,8 +43,8 @@ STATEMENTS
proc (void()) main()
(byte) main::b ← (byte/signed byte/word/signed word/dword/signed dword) 0
main::@1:
(byte/signed byte/word/signed word~) main::$0 ← (byte/word/signed word/dword/signed dword) 200 - (byte) main::b
(byte) main::b2 ← (byte/signed byte/word/signed word~) main::$0
(byte/signed byte/word/signed word/dword/signed dword~) main::$0 ← (byte/word/signed word/dword/signed dword) 200 - (byte) main::b
(byte) main::b2 ← (byte/signed byte/word/signed word/dword/signed dword~) main::$0
*((byte*) SCREEN + (byte) main::b) ← (byte) main::b2
(signed byte~) main::$1 ← ((signed byte)) (byte) main::b
(signed byte~) main::$2 ← - (signed byte~) main::$1
@ -91,7 +91,7 @@ SYMBOLS
(byte*) SCREEN3
(byte*) SCREEN4
(void()) main()
(byte/signed byte/word/signed word~) main::$0
(byte/signed byte/word/signed word/dword/signed dword~) main::$0
(signed byte~) main::$1
(signed byte~) main::$2
(byte~) main::$3
@ -134,8 +134,8 @@ main: scope:[main] from
(byte) main::b ← (byte/signed byte/word/signed word/dword/signed dword) 0
to:main::@1
main::@1: scope:[main] from main main::@1
(byte/signed byte/word/signed word~) main::$0 ← (byte/word/signed word/dword/signed dword) 200 - (byte) main::b
(byte) main::b2 ← (byte/signed byte/word/signed word~) main::$0
(byte/signed byte/word/signed word/dword/signed dword~) main::$0 ← (byte/word/signed word/dword/signed dword) 200 - (byte) main::b
(byte) main::b2 ← (byte/signed byte/word/signed word/dword/signed dword~) main::$0
*((byte*) SCREEN + (byte) main::b) ← (byte) main::b2
(signed byte~) main::$1 ← ((signed byte)) (byte) main::b
(signed byte~) main::$2 ← - (signed byte~) main::$1
@ -220,8 +220,8 @@ main::@1: scope:[main] from main main::@1
(byte*) SCREEN2#1 ← phi( main/(byte*) SCREEN2#2 main::@1/(byte*) SCREEN2#1 )
(byte*) SCREEN#1 ← phi( main/(byte*) SCREEN#2 main::@1/(byte*) SCREEN#1 )
(byte) main::b#2 ← phi( main/(byte) main::b#0 main::@1/(byte) main::b#1 )
(byte/signed byte/word/signed word~) main::$0 ← (byte/word/signed word/dword/signed dword) 200 - (byte) main::b#2
(byte) main::b2#0 ← (byte/signed byte/word/signed word~) main::$0
(byte/signed byte/word/signed word/dword/signed dword~) main::$0 ← (byte/word/signed word/dword/signed dword) 200 - (byte) main::b#2
(byte) main::b2#0 ← (byte/signed byte/word/signed word/dword/signed dword~) main::$0
*((byte*) SCREEN#1 + (byte) main::b#2) ← (byte) main::b2#0
(signed byte~) main::$1 ← ((signed byte)) (byte) main::b#2
(signed byte~) main::$2 ← - (signed byte~) main::$1
@ -317,7 +317,7 @@ SYMBOL TABLE SSA
(byte*) SCREEN4#5
(byte*) SCREEN4#6
(void()) main()
(byte/signed byte/word/signed word~) main::$0
(byte/signed byte/word/signed word/dword/signed dword~) main::$0
(signed byte~) main::$1
(signed byte~) main::$2
(byte~) main::$3
@ -368,7 +368,7 @@ Not aliassing across scopes: SCREEN4#2 SCREEN4#3
Alias (byte*) SCREEN2#0 = (byte*~) $1 (byte*) SCREEN2#3
Alias (byte*) SCREEN3#0 = (byte*~) $3 (byte*) SCREEN3#6
Alias (byte*) SCREEN4#0 = (byte*~) $5 (byte*) SCREEN4#6
Alias (byte) main::b2#0 = (byte/signed byte/word/signed word~) main::$0
Alias (byte) main::b2#0 = (byte/signed byte/word/signed word/dword/signed dword~) main::$0
Alias (signed byte) main::sb#0 = (signed byte~) main::$2
Alias (byte*) SCREEN3#3 = (byte*) SCREEN3#4
Alias (byte*) SCREEN4#3 = (byte*) SCREEN4#4

View File

@ -46,7 +46,7 @@ test_sbytes::@return: scope:[test_sbytes] from test_sbytes::@4
[21] return [ ] ( main:2::test_sbytes:9 [ ] )
to:@return
assert_sbyte: scope:[assert_sbyte] from test_sbytes test_sbytes::@1 test_sbytes::@2 test_sbytes::@3 test_sbytes::@4
[22] (signed byte) assert_sbyte::c#5 ← phi( test_sbytes/(byte/signed byte/word/signed word) 0 test_sbytes::@1/(byte/signed byte/word/signed word) 2 test_sbytes::@2/-(byte/signed byte/word/signed word) 2 test_sbytes::@3/(byte/signed byte/word/signed word) 2 test_sbytes::@4/(byte/signed byte/word/signed word) 2 ) [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] ( main:2::test_sbytes:9::assert_sbyte:12 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] )
[22] (signed byte) assert_sbyte::c#5 ← phi( test_sbytes/(byte/signed byte/word/signed word/dword/signed dword) 0 test_sbytes::@1/(byte/signed byte/word/signed word/dword/signed dword) 2 test_sbytes::@2/-(byte/signed byte/word/signed word/dword/signed dword) 2 test_sbytes::@3/(byte/signed byte/word/signed word/dword/signed dword) 2 test_sbytes::@4/(byte/signed byte/word/signed word/dword/signed dword) 2 ) [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] ( main:2::test_sbytes:9::assert_sbyte:12 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] )
[22] (signed byte) assert_sbyte::b#5 ← phi( test_sbytes/(const signed byte) test_sbytes::bb#0 test_sbytes::@1/(const signed byte) test_sbytes::bc#0 test_sbytes::@2/(const signed byte) test_sbytes::bd#0 test_sbytes::@3/(const signed byte) test_sbytes::be#0 test_sbytes::@4/(const signed byte) test_sbytes::bf#0 ) [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] ( main:2::test_sbytes:9::assert_sbyte:12 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] )
[22] (byte*) assert_sbyte::msg#5 ← phi( test_sbytes/(const string) test_sbytes::msg test_sbytes::@1/(const string) test_sbytes::msg1 test_sbytes::@2/(const string) test_sbytes::msg2 test_sbytes::@3/(const string) test_sbytes::msg3 test_sbytes::@4/(const string) test_sbytes::msg4 ) [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] ( main:2::test_sbytes:9::assert_sbyte:12 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20 [ assert_sbyte::msg#5 assert_sbyte::b#5 assert_sbyte::c#5 line_cursor#1 ] )
[23] (byte*) print_str::str#5 ← (byte*) assert_sbyte::msg#5 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 line_cursor#1 ] ( main:2::test_sbytes:9::assert_sbyte:12 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:14 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:16 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:18 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 line_cursor#1 ] main:2::test_sbytes:9::assert_sbyte:20 [ assert_sbyte::b#5 assert_sbyte::c#5 print_str::str#5 line_cursor#1 ] )
@ -97,7 +97,7 @@ print_ln: scope:[print_ln] from assert_byte::@2 assert_sbyte::@2
to:print_ln::@1
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
[44] (byte*) line_cursor#21 ← phi( print_ln/(byte*) line_cursor#42 print_ln::@1/(byte*) line_cursor#1 ) [ char_cursor#2 line_cursor#21 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_ln:32 [ char_cursor#2 line_cursor#21 ] main:2::test_sbytes:9::assert_sbyte:14::print_ln:32 [ char_cursor#2 line_cursor#21 ] main:2::test_sbytes:9::assert_sbyte:16::print_ln:32 [ char_cursor#2 line_cursor#21 ] main:2::test_sbytes:9::assert_sbyte:18::print_ln:32 [ char_cursor#2 line_cursor#21 ] main:2::test_sbytes:9::assert_sbyte:20::print_ln:32 [ char_cursor#2 line_cursor#21 ] main:2::test_bytes:7::assert_byte:49::print_ln:64 [ char_cursor#2 line_cursor#21 ] main:2::test_bytes:7::assert_byte:51::print_ln:64 [ char_cursor#2 line_cursor#21 ] main:2::test_bytes:7::assert_byte:53::print_ln:64 [ char_cursor#2 line_cursor#21 ] )
[45] (byte*) line_cursor#1 ← (byte*) line_cursor#21 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#2 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:49::print_ln:64 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:51::print_ln:64 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:53::print_ln:64 [ line_cursor#1 char_cursor#2 ] )
[45] (byte*) line_cursor#1 ← (byte*) line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#2 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:49::print_ln:64 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:51::print_ln:64 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:53::print_ln:64 [ line_cursor#1 char_cursor#2 ] )
[46] if((byte*) line_cursor#1<(byte*) char_cursor#2) goto print_ln::@1 [ line_cursor#1 char_cursor#2 ] ( main:2::test_sbytes:9::assert_sbyte:12::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:14::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:16::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:18::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_sbytes:9::assert_sbyte:20::print_ln:32 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:49::print_ln:64 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:51::print_ln:64 [ line_cursor#1 char_cursor#2 ] main:2::test_bytes:7::assert_byte:53::print_ln:64 [ line_cursor#1 char_cursor#2 ] )
to:print_ln::@return
print_ln::@return: scope:[print_ln] from print_ln::@1
@ -119,10 +119,10 @@ test_bytes::@return: scope:[test_bytes] from test_bytes::@2
[54] return [ line_cursor#1 ] ( main:2::test_bytes:7 [ line_cursor#1 ] )
to:@return
assert_byte: scope:[assert_byte] from test_bytes test_bytes::@1 test_bytes::@2
[55] (byte*) line_cursor#45 ← phi( test_bytes/((byte*))(word/signed word) 1024 test_bytes::@1/(byte*) line_cursor#1 test_bytes::@2/(byte*) line_cursor#1 ) [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
[55] (byte) assert_byte::c#3 ← phi( test_bytes/(byte/signed byte/word/signed word) 0 test_bytes::@1/(byte/signed byte/word/signed word) 2 test_bytes::@2/(byte/word/signed word) 254 ) [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
[55] (byte*) line_cursor#45 ← phi( test_bytes/((byte*))(word/signed word/dword/signed dword) 1024 test_bytes::@1/(byte*) line_cursor#1 test_bytes::@2/(byte*) line_cursor#1 ) [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
[55] (byte) assert_byte::c#3 ← phi( test_bytes/(byte/signed byte/word/signed word/dword/signed dword) 0 test_bytes::@1/(byte/signed byte/word/signed word/dword/signed dword) 2 test_bytes::@2/(byte/word/signed word/dword/signed dword) 254 ) [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
[55] (byte) assert_byte::b#3 ← phi( test_bytes/(const byte) test_bytes::bb#0 test_bytes::@1/(const byte) test_bytes::bc#0 test_bytes::@2/(const byte) test_bytes::bd#0 ) [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
[55] (byte*) char_cursor#65 ← phi( test_bytes/((byte*))(word/signed word) 1024 test_bytes::@1/(byte*~) char_cursor#88 test_bytes::@2/(byte*~) char_cursor#89 ) [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
[55] (byte*) char_cursor#65 ← phi( test_bytes/((byte*))(word/signed word/dword/signed dword) 1024 test_bytes::@1/(byte*~) char_cursor#88 test_bytes::@2/(byte*~) char_cursor#89 ) [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
[55] (byte*) assert_byte::msg#3 ← phi( test_bytes/(const string) test_bytes::msg test_bytes::@1/(const string) test_bytes::msg1 test_bytes::@2/(const string) test_bytes::msg2 ) [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#65 line_cursor#45 assert_byte::msg#3 assert_byte::b#3 assert_byte::c#3 ] )
[56] (byte*) print_str::str#1 ← (byte*) assert_byte::msg#3 [ print_str::str#1 char_cursor#65 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ print_str::str#1 char_cursor#65 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ print_str::str#1 char_cursor#65 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ print_str::str#1 char_cursor#65 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] )
[57] call print_str param-assignment [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] ( main:2::test_bytes:7::assert_byte:49 [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:51 [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] main:2::test_bytes:7::assert_byte:53 [ char_cursor#2 line_cursor#45 assert_byte::b#3 assert_byte::c#3 ] )
@ -153,10 +153,10 @@ print_cls: scope:[print_cls] from main
[68] phi() [ ] ( main:2::print_cls:5 [ ] )
to:print_cls::@1
print_cls::@1: scope:[print_cls] from print_cls print_cls::@1
[69] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word) 1024 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
[69] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word/dword/signed dword) 1024 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
[70] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
[71] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
[72] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
[72] if((byte*) print_cls::sc#1!=(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
to:print_cls::@return
print_cls::@return: scope:[print_cls] from print_cls::@1
[73] return [ ] ( main:2::print_cls:5 [ ] )

File diff suppressed because it is too large Load Diff

View File

@ -2,11 +2,11 @@
(label) @begin
(label) @end
(byte*) BGCOL
(const byte*) BGCOL#0 BGCOL = ((byte*))(word) 53281
(const byte*) BGCOL#0 BGCOL = ((byte*))(word/dword/signed dword) 53281
(byte) GREEN
(const byte) GREEN#0 GREEN = (byte/signed byte/word/signed word) 5
(const byte) GREEN#0 GREEN = (byte/signed byte/word/signed word/dword/signed dword) 5
(byte) RED
(const byte) RED#0 RED = (byte/signed byte/word/signed word) 2
(const byte) RED#0 RED = (byte/signed byte/word/signed word/dword/signed dword) 2
(void()) assert_byte((byte*) assert_byte::msg , (byte) assert_byte::b , (byte) assert_byte::c)
(label) assert_byte::@1
(label) assert_byte::@2
@ -80,11 +80,11 @@
(label) test_bytes::@2
(label) test_bytes::@return
(byte) test_bytes::bb
(const byte) test_bytes::bb#0 bb = (byte/signed byte/word/signed word) 0
(const byte) test_bytes::bb#0 bb = (byte/signed byte/word/signed word/dword/signed dword) 0
(byte) test_bytes::bc
(const byte) test_bytes::bc#0 bc = (const byte) test_bytes::bb#0+(byte/signed byte/word/signed word) 2
(const byte) test_bytes::bc#0 bc = (const byte) test_bytes::bb#0+(byte/signed byte/word/signed word/dword/signed dword) 2
(byte) test_bytes::bd
(const byte) test_bytes::bd#0 bd = ((byte))(const byte) test_bytes::bc#0-(byte/signed byte/word/signed word) 4
(const byte) test_bytes::bd#0 bd = ((byte))(const byte) test_bytes::bc#0-(byte/signed byte/word/signed word/dword/signed dword) 4
(const string) test_bytes::msg msg = (string) "0=0@"
(const string) test_bytes::msg1 msg1 = (string) "0+2=2@"
(const string) test_bytes::msg2 msg2 = (string) "0+2-4=254@"
@ -95,15 +95,15 @@
(label) test_sbytes::@4
(label) test_sbytes::@return
(signed byte) test_sbytes::bb
(const signed byte) test_sbytes::bb#0 bb = (byte/signed byte/word/signed word) 0
(const signed byte) test_sbytes::bb#0 bb = (byte/signed byte/word/signed word/dword/signed dword) 0
(signed byte) test_sbytes::bc
(const signed byte) test_sbytes::bc#0 bc = (const signed byte) test_sbytes::bb#0+(byte/signed byte/word/signed word) 2
(const signed byte) test_sbytes::bc#0 bc = (const signed byte) test_sbytes::bb#0+(byte/signed byte/word/signed word/dword/signed dword) 2
(signed byte) test_sbytes::bd
(const signed byte) test_sbytes::bd#0 bd = (const signed byte) test_sbytes::bc#0-(byte/signed byte/word/signed word) 4
(const signed byte) test_sbytes::bd#0 bd = (const signed byte) test_sbytes::bc#0-(byte/signed byte/word/signed word/dword/signed dword) 4
(signed byte) test_sbytes::be
(const signed byte) test_sbytes::be#0 be = -(const signed byte) test_sbytes::bd#0
(signed byte) test_sbytes::bf
(const signed byte) test_sbytes::bf#0 bf = ((signed byte))-(byte/signed byte/word/signed word) 127-(byte/signed byte/word/signed word) 127
(const signed byte) test_sbytes::bf#0 bf = ((signed byte))-(byte/signed byte/word/signed word/dword/signed dword) 127-(byte/signed byte/word/signed word/dword/signed dword) 127
(const string) test_sbytes::msg msg = (string) "0=0@"
(const string) test_sbytes::msg1 msg1 = (string) "0+2=2@"
(const string) test_sbytes::msg2 msg2 = (string) "0+2-4=-2@"

View File

@ -990,19 +990,19 @@ anim::@1:
(boolean~) anim::$7 ← (byte) anim::xidx >= (byte) sinlen_x
(boolean~) anim::$8 ← ! (boolean~) anim::$7
if((boolean~) anim::$8) goto anim::@2
(byte/signed byte/word/signed word~) anim::$9 ← (byte) anim::xidx - (byte) sinlen_x
(byte) anim::xidx ← (byte/signed byte/word/signed word~) anim::$9
(byte/signed byte/word/signed word/dword/signed dword~) anim::$9 ← (byte) anim::xidx - (byte) sinlen_x
(byte) anim::xidx ← (byte/signed byte/word/signed word/dword/signed dword~) anim::$9
anim::@2:
(byte/word~) anim::$10 ← (byte) anim::yidx + (byte/signed byte/word/signed word/dword/signed dword) 8
(byte) anim::yidx ← (byte/word~) anim::$10
(boolean~) anim::$11 ← (byte) anim::yidx >= (byte) sinlen_y
(boolean~) anim::$12 ← ! (boolean~) anim::$11
if((boolean~) anim::$12) goto anim::@3
(byte/signed byte/word/signed word~) anim::$13 ← (byte) anim::yidx - (byte) sinlen_y
(byte) anim::yidx ← (byte/signed byte/word/signed word~) anim::$13
(byte/signed byte/word/signed word/dword/signed dword~) anim::$13 ← (byte) anim::yidx - (byte) sinlen_y
(byte) anim::yidx ← (byte/signed byte/word/signed word/dword/signed dword~) anim::$13
anim::@3:
(byte/signed byte/word/signed word~) anim::$14 ← (byte) anim::j2 - (byte/signed byte/word/signed word/dword/signed dword) 2
(byte) anim::j2 ← (byte/signed byte/word/signed word~) anim::$14
(byte/signed byte/word/signed word/dword/signed dword~) anim::$14 ← (byte) anim::j2 - (byte/signed byte/word/signed word/dword/signed dword) 2
(byte) anim::j2 ← (byte/signed byte/word/signed word/dword/signed dword~) anim::$14
(byte) anim::j ← ++ (byte) anim::j
(boolean~) anim::$15 ← (byte) anim::j != (byte/signed byte/word/signed word/dword/signed dword) 7
if((boolean~) anim::$15) goto anim::@1
@ -1214,8 +1214,8 @@ SYMBOLS
(byte/word~) anim::$10
(boolean~) anim::$11
(boolean~) anim::$12
(byte/signed byte/word/signed word~) anim::$13
(byte/signed byte/word/signed word~) anim::$14
(byte/signed byte/word/signed word/dword/signed dword~) anim::$13
(byte/signed byte/word/signed word/dword/signed dword~) anim::$14
(boolean~) anim::$15
(boolean~) anim::$16
(boolean~) anim::$17
@ -1228,7 +1228,7 @@ SYMBOLS
(byte/word~) anim::$6
(boolean~) anim::$7
(boolean~) anim::$8
(byte/signed byte/word/signed word~) anim::$9
(byte/signed byte/word/signed word/dword/signed dword~) anim::$9
(label) anim::@1
(label) anim::@2
(label) anim::@3
@ -2077,19 +2077,19 @@ anim::@2: scope:[anim] from anim::@1 anim::@6
if((boolean~) anim::$12) goto anim::@3
to:anim::@7
anim::@6: scope:[anim] from anim::@1
(byte/signed byte/word/signed word~) anim::$9 ← (byte) anim::xidx - (byte) sinlen_x
(byte) anim::xidx ← (byte/signed byte/word/signed word~) anim::$9
(byte/signed byte/word/signed word/dword/signed dword~) anim::$9 ← (byte) anim::xidx - (byte) sinlen_x
(byte) anim::xidx ← (byte/signed byte/word/signed word/dword/signed dword~) anim::$9
to:anim::@2
anim::@3: scope:[anim] from anim::@2 anim::@7
(byte/signed byte/word/signed word~) anim::$14 ← (byte) anim::j2 - (byte/signed byte/word/signed word/dword/signed dword) 2
(byte) anim::j2 ← (byte/signed byte/word/signed word~) anim::$14
(byte/signed byte/word/signed word/dword/signed dword~) anim::$14 ← (byte) anim::j2 - (byte/signed byte/word/signed word/dword/signed dword) 2
(byte) anim::j2 ← (byte/signed byte/word/signed word/dword/signed dword~) anim::$14
(byte) anim::j ← ++ (byte) anim::j
(boolean~) anim::$15 ← (byte) anim::j != (byte/signed byte/word/signed word/dword/signed dword) 7
if((boolean~) anim::$15) goto anim::@1
to:anim::@8
anim::@7: scope:[anim] from anim::@2
(byte/signed byte/word/signed word~) anim::$13 ← (byte) anim::yidx - (byte) sinlen_y
(byte) anim::yidx ← (byte/signed byte/word/signed word~) anim::$13
(byte/signed byte/word/signed word/dword/signed dword~) anim::$13 ← (byte) anim::yidx - (byte) sinlen_y
(byte) anim::yidx ← (byte/signed byte/word/signed word/dword/signed dword~) anim::$13
to:anim::@3
anim::@8: scope:[anim] from anim::@3
*((byte*) SPRITES_XMSB) ← (byte) anim::x_msb
@ -2851,8 +2851,8 @@ anim::@6: scope:[anim] from anim::@1
(byte) anim::j2#6 ← phi( anim::@1/(byte) anim::j2#2 )
(byte) anim::yidx#7 ← phi( anim::@1/(byte) anim::yidx#3 )
(byte) anim::xidx#4 ← phi( anim::@1/(byte) anim::xidx#1 )
(byte/signed byte/word/signed word~) anim::$9 ← (byte) anim::xidx#4 - (byte) sinlen_x#0
(byte) anim::xidx#2 ← (byte/signed byte/word/signed word~) anim::$9
(byte/signed byte/word/signed word/dword/signed dword~) anim::$9 ← (byte) anim::xidx#4 - (byte) sinlen_x#0
(byte) anim::xidx#2 ← (byte/signed byte/word/signed word/dword/signed dword~) anim::$9
to:anim::@2
anim::@3: scope:[anim] from anim::@2 anim::@7
(byte) sin_idx_y#19 ← phi( anim::@2/(byte) sin_idx_y#22 anim::@7/(byte) sin_idx_y#23 )
@ -2862,8 +2862,8 @@ anim::@3: scope:[anim] from anim::@2 anim::@7
(byte) anim::xidx#5 ← phi( anim::@2/(byte) anim::xidx#6 anim::@7/(byte) anim::xidx#7 )
(byte) anim::j#2 ← phi( anim::@2/(byte) anim::j#3 anim::@7/(byte) anim::j#4 )
(byte) anim::j2#3 ← phi( anim::@2/(byte) anim::j2#4 anim::@7/(byte) anim::j2#5 )
(byte/signed byte/word/signed word~) anim::$14 ← (byte) anim::j2#3 - (byte/signed byte/word/signed word/dword/signed dword) 2
(byte) anim::j2#1 ← (byte/signed byte/word/signed word~) anim::$14
(byte/signed byte/word/signed word/dword/signed dword~) anim::$14 ← (byte) anim::j2#3 - (byte/signed byte/word/signed word/dword/signed dword) 2
(byte) anim::j2#1 ← (byte/signed byte/word/signed word/dword/signed dword~) anim::$14
(byte) anim::j#1 ← ++ (byte) anim::j#2
(boolean~) anim::$15 ← (byte) anim::j#1 != (byte/signed byte/word/signed word/dword/signed dword) 7
if((boolean~) anim::$15) goto anim::@1
@ -2876,8 +2876,8 @@ anim::@7: scope:[anim] from anim::@2
(byte) anim::j#4 ← phi( anim::@2/(byte) anim::j#3 )
(byte) anim::j2#5 ← phi( anim::@2/(byte) anim::j2#4 )
(byte) anim::yidx#5 ← phi( anim::@2/(byte) anim::yidx#1 )
(byte/signed byte/word/signed word~) anim::$13 ← (byte) anim::yidx#5 - (byte) sinlen_y#0
(byte) anim::yidx#2 ← (byte/signed byte/word/signed word~) anim::$13
(byte/signed byte/word/signed word/dword/signed dword~) anim::$13 ← (byte) anim::yidx#5 - (byte) sinlen_y#0
(byte) anim::yidx#2 ← (byte/signed byte/word/signed word/dword/signed dword~) anim::$13
to:anim::@3
anim::@8: scope:[anim] from anim::@3
(byte) sin_idx_y#14 ← phi( anim::@3/(byte) sin_idx_y#19 )
@ -3420,8 +3420,8 @@ SYMBOL TABLE SSA
(byte/word~) anim::$10
(boolean~) anim::$11
(boolean~) anim::$12
(byte/signed byte/word/signed word~) anim::$13
(byte/signed byte/word/signed word~) anim::$14
(byte/signed byte/word/signed word/dword/signed dword~) anim::$13
(byte/signed byte/word/signed word/dword/signed dword~) anim::$14
(boolean~) anim::$15
(boolean~) anim::$16
(boolean~) anim::$17
@ -3434,7 +3434,7 @@ SYMBOL TABLE SSA
(byte/word~) anim::$6
(boolean~) anim::$7
(boolean~) anim::$8
(byte/signed byte/word/signed word~) anim::$9
(byte/signed byte/word/signed word/dword/signed dword~) anim::$9
(label) anim::@1
(label) anim::@10
(label) anim::@2
@ -4242,15 +4242,15 @@ Alias (byte) anim::j2#2 = (byte) anim::j2#6
Alias (byte) anim::j#5 = (byte) anim::j#6
Alias (byte) sin_idx_x#24 = (byte) sin_idx_x#25
Alias (byte) sin_idx_y#25 = (byte) sin_idx_y#26
Alias (byte) anim::xidx#2 = (byte/signed byte/word/signed word~) anim::$9
Alias (byte) anim::j2#1 = (byte/signed byte/word/signed word~) anim::$14
Alias (byte) anim::xidx#2 = (byte/signed byte/word/signed word/dword/signed dword~) anim::$9
Alias (byte) anim::j2#1 = (byte/signed byte/word/signed word/dword/signed dword~) anim::$14
Alias (byte) anim::j2#4 = (byte) anim::j2#5
Alias (byte) anim::j#3 = (byte) anim::j#4
Alias (byte) anim::xidx#6 = (byte) anim::xidx#7
Alias (byte) anim::x_msb#5 = (byte) anim::x_msb#6
Alias (byte) sin_idx_x#18 = (byte) sin_idx_x#19
Alias (byte) sin_idx_y#22 = (byte) sin_idx_y#23
Alias (byte) anim::yidx#2 = (byte/signed byte/word/signed word~) anim::$13
Alias (byte) anim::yidx#2 = (byte/signed byte/word/signed word/dword/signed dword~) anim::$13
Alias (byte) anim::x_msb#3 = (byte) anim::x_msb#4
Alias (byte) sin_idx_x#10 = (byte) sin_idx_x#14
Alias (byte) sin_idx_y#14 = (byte) sin_idx_y#19 (byte) sin_idx_y#15

View File

@ -214,8 +214,8 @@ proc (void()) main()
(byte) main::a ← (byte/signed byte/word/signed word/dword/signed dword) 7
(byte) main::i ← (byte/signed byte/word/signed word/dword/signed dword) 0
main::@1:
(byte/signed byte/word/signed word~) main::$1 ← (byte/word/signed word/dword/signed dword) 206 - (byte) main::a
(byte) main::b ← (byte/signed byte/word/signed word~) main::$1
(byte/signed byte/word/signed word/dword/signed dword~) main::$1 ← (byte/word/signed word/dword/signed dword) 206 - (byte) main::a
(byte) main::b ← (byte/signed byte/word/signed word/dword/signed dword~) main::$1
(byte[5]) main::cs ← { (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/word/signed word/dword/signed dword) 199, (byte/signed byte/word/signed word/dword/signed dword) 55, (byte/word/signed word/dword/signed dword) 151, (byte/signed byte/word/signed word/dword/signed dword) 103 }
(byte) main::r ← (byte) '-'
(boolean~) main::$2 ← (byte) main::a < (byte) main::b
@ -389,7 +389,7 @@ SYMBOLS
(byte*) line_cursor
(void()) main()
(void~) main::$0
(byte/signed byte/word/signed word~) main::$1
(byte/signed byte/word/signed word/dword/signed dword~) main::$1
(void~) main::$10
(boolean~) main::$11
(boolean~) main::$12
@ -694,8 +694,8 @@ main: scope:[main] from
(byte) main::i ← (byte/signed byte/word/signed word/dword/signed dword) 0
to:main::@1
main::@1: scope:[main] from main main::@21
(byte/signed byte/word/signed word~) main::$1 ← (byte/word/signed word/dword/signed dword) 206 - (byte) main::a
(byte) main::b ← (byte/signed byte/word/signed word~) main::$1
(byte/signed byte/word/signed word/dword/signed dword~) main::$1 ← (byte/word/signed word/dword/signed dword) 206 - (byte) main::a
(byte) main::b ← (byte/signed byte/word/signed word/dword/signed dword~) main::$1
(byte[5]) main::cs ← { (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/word/signed word/dword/signed dword) 199, (byte/signed byte/word/signed word/dword/signed dword) 55, (byte/word/signed word/dword/signed dword) 151, (byte/signed byte/word/signed word/dword/signed dword) 103 }
(byte) main::r ← (byte) '-'
(boolean~) main::$2 ← (byte) main::a < (byte) main::b
@ -1149,8 +1149,8 @@ main::@1: scope:[main] from main::@45 main::@70
(byte) main::i#42 ← phi( main::@45/(byte) main::i#0 main::@70/(byte) main::i#1 )
(byte*) char_cursor#114 ← phi( main::@45/(byte*) char_cursor#135 main::@70/(byte*) char_cursor#34 )
(byte) main::a#2 ← phi( main::@45/(byte) main::a#0 main::@70/(byte) main::a#1 )
(byte/signed byte/word/signed word~) main::$1 ← (byte/word/signed word/dword/signed dword) 206 - (byte) main::a#2
(byte) main::b#0 ← (byte/signed byte/word/signed word~) main::$1
(byte/signed byte/word/signed word/dword/signed dword~) main::$1 ← (byte/word/signed word/dword/signed dword) 206 - (byte) main::a#2
(byte) main::b#0 ← (byte/signed byte/word/signed word/dword/signed dword~) main::$1
(byte[5]) main::cs#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/word/signed word/dword/signed dword) 199, (byte/signed byte/word/signed word/dword/signed dword) 55, (byte/word/signed word/dword/signed dword) 151, (byte/signed byte/word/signed word/dword/signed dword) 103 }
(byte) main::r#0 ← (byte) '-'
(boolean~) main::$2 ← (byte) main::a#2 < (byte) main::b#0
@ -2172,7 +2172,7 @@ SYMBOL TABLE SSA
(byte*) line_cursor#85
(byte*) line_cursor#9
(void()) main()
(byte/signed byte/word/signed word~) main::$1
(byte/signed byte/word/signed word/dword/signed dword~) main::$1
(boolean~) main::$11
(boolean~) main::$12
(boolean~) main::$15
@ -2861,7 +2861,7 @@ Alias (byte*) char_cursor#49 = (byte*) char_cursor#6 (byte*) char_cursor#50 (byt
Alias (byte*) char_cursor#52 = (byte*) char_cursor#8 (byte*) char_cursor#9
Alias (byte*) char_cursor#135 = (byte*) char_cursor#136
Alias (byte*) line_cursor#84 = (byte*) line_cursor#85
Alias (byte) main::b#0 = (byte/signed byte/word/signed word~) main::$1 (byte) main::b#10
Alias (byte) main::b#0 = (byte/signed byte/word/signed word/dword/signed dword~) main::$1 (byte) main::b#10
Alias (byte) main::a#3 = (byte) main::a#4 (byte) main::a#44
Alias (byte) main::i#24 = (byte) main::i#25 (byte) main::i#35
Alias (byte*) line_cursor#63 = (byte*) line_cursor#64 (byte*) line_cursor#73

View File

@ -242,8 +242,8 @@ signed_multiply::@6: scope:[signed_multiply] from signed_multiply
to:signed_multiply::@3
signed_multiply::@3: scope:[signed_multiply] from signed_multiply::@6
[119] (byte~) signed_multiply::$6 ← > (word) signed_multiply::m#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] )
[120] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] )
[121] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] )
[120] (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] )
[121] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] )
to:signed_multiply::@1
signed_multiply::@1: scope:[signed_multiply] from signed_multiply::@3 signed_multiply::@6
[122] (word) signed_multiply::m#5 ← phi( signed_multiply::@3/(word) signed_multiply::m#1 signed_multiply::@6/(word) signed_multiply::m#0 ) [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#5 ] )
@ -251,8 +251,8 @@ signed_multiply::@1: scope:[signed_multiply] from signed_multiply::@3 signed_mu
to:signed_multiply::@4
signed_multiply::@4: scope:[signed_multiply] from signed_multiply::@1
[124] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] )
[125] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] )
[126] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] )
[125] (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] )
[126] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] )
to:signed_multiply::@2
signed_multiply::@2: scope:[signed_multiply] from signed_multiply::@1 signed_multiply::@4
[127] (word) signed_multiply::m#4 ← phi( signed_multiply::@1/(word) signed_multiply::m#5 signed_multiply::@4/(word) signed_multiply::m#2 ) [ signed_multiply::m#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#4 ] )

View File

@ -531,8 +531,8 @@ proc (signed word()) signed_multiply((signed byte) signed_multiply::a , (signed
(byte~) signed_multiply::$5 ← > (word) signed_multiply::m
(byte~) signed_multiply::$6 ← > (word) signed_multiply::m
(byte~) signed_multiply::$7 ← ((byte)) (signed byte) signed_multiply::b
(byte/signed byte/word/signed word~) signed_multiply::$8 ← (byte~) signed_multiply::$6 - (byte~) signed_multiply::$7
lval((byte~) signed_multiply::$5) ← (byte/signed byte/word/signed word~) signed_multiply::$8
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$8 ← (byte~) signed_multiply::$6 - (byte~) signed_multiply::$7
lval((byte~) signed_multiply::$5) ← (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$8
signed_multiply::@1:
(boolean~) signed_multiply::$9 ← (signed byte) signed_multiply::b < (byte/signed byte/word/signed word/dword/signed dword) 0
(boolean~) signed_multiply::$10 ← ! (boolean~) signed_multiply::$9
@ -540,8 +540,8 @@ signed_multiply::@1:
(byte~) signed_multiply::$11 ← > (word) signed_multiply::m
(byte~) signed_multiply::$12 ← > (word) signed_multiply::m
(byte~) signed_multiply::$13 ← ((byte)) (signed byte) signed_multiply::a
(byte/signed byte/word/signed word~) signed_multiply::$14 ← (byte~) signed_multiply::$12 - (byte~) signed_multiply::$13
lval((byte~) signed_multiply::$11) ← (byte/signed byte/word/signed word~) signed_multiply::$14
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$14 ← (byte~) signed_multiply::$12 - (byte~) signed_multiply::$13
lval((byte~) signed_multiply::$11) ← (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$14
signed_multiply::@2:
(signed word~) signed_multiply::$15 ← ((signed word)) (word) signed_multiply::m
(signed word) signed_multiply::return ← (signed word~) signed_multiply::$15
@ -921,7 +921,7 @@ SYMBOLS
(byte~) signed_multiply::$11
(byte~) signed_multiply::$12
(byte~) signed_multiply::$13
(byte/signed byte/word/signed word~) signed_multiply::$14
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$14
(signed word~) signed_multiply::$15
(word~) signed_multiply::$2
(boolean~) signed_multiply::$3
@ -929,7 +929,7 @@ SYMBOLS
(byte~) signed_multiply::$5
(byte~) signed_multiply::$6
(byte~) signed_multiply::$7
(byte/signed byte/word/signed word~) signed_multiply::$8
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$8
(boolean~) signed_multiply::$9
(label) signed_multiply::@1
(label) signed_multiply::@2
@ -1261,9 +1261,9 @@ signed_multiply::@3: scope:[signed_multiply] from signed_multiply
(byte~) signed_multiply::$5 ← > (word) signed_multiply::m
(byte~) signed_multiply::$6 ← > (word) signed_multiply::m
(byte~) signed_multiply::$7 ← ((byte)) (signed byte) signed_multiply::b
(byte/signed byte/word/signed word~) signed_multiply::$8 ← (byte~) signed_multiply::$6 - (byte~) signed_multiply::$7
(byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte/signed byte/word/signed word~) signed_multiply::$8
(word) signed_multiply::m ← (word) signed_multiply::m hi= (byte/signed byte/word/signed word~) signed_multiply::$16
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$8 ← (byte~) signed_multiply::$6 - (byte~) signed_multiply::$7
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 ← (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$8
(word) signed_multiply::m ← (word) signed_multiply::m hi= (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16
to:signed_multiply::@1
signed_multiply::@2: scope:[signed_multiply] from signed_multiply::@1 signed_multiply::@4
(signed word~) signed_multiply::$15 ← ((signed word)) (word) signed_multiply::m
@ -1273,9 +1273,9 @@ signed_multiply::@4: scope:[signed_multiply] from signed_multiply::@1
(byte~) signed_multiply::$11 ← > (word) signed_multiply::m
(byte~) signed_multiply::$12 ← > (word) signed_multiply::m
(byte~) signed_multiply::$13 ← ((byte)) (signed byte) signed_multiply::a
(byte/signed byte/word/signed word~) signed_multiply::$14 ← (byte~) signed_multiply::$12 - (byte~) signed_multiply::$13
(byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte/signed byte/word/signed word~) signed_multiply::$14
(word) signed_multiply::m ← (word) signed_multiply::m hi= (byte/signed byte/word/signed word~) signed_multiply::$17
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$14 ← (byte~) signed_multiply::$12 - (byte~) signed_multiply::$13
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 ← (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$14
(word) signed_multiply::m ← (word) signed_multiply::m hi= (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17
to:signed_multiply::@2
signed_multiply::@return: scope:[signed_multiply] from signed_multiply::@2 signed_multiply::@5
(signed word) signed_multiply::return ← (signed word) signed_multiply::return
@ -2027,9 +2027,9 @@ signed_multiply::@3: scope:[signed_multiply] from signed_multiply::@6
(word) signed_multiply::m#3 ← phi( signed_multiply::@6/(word) signed_multiply::m#0 )
(byte~) signed_multiply::$6 ← > (word) signed_multiply::m#3
(byte~) signed_multiply::$7 ← ((byte)) (signed byte) signed_multiply::b#3
(byte/signed byte/word/signed word~) signed_multiply::$8 ← (byte~) signed_multiply::$6 - (byte~) signed_multiply::$7
(byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte/signed byte/word/signed word~) signed_multiply::$8
(word) signed_multiply::m#1 ← (word) signed_multiply::m#3 hi= (byte/signed byte/word/signed word~) signed_multiply::$16
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$8 ← (byte~) signed_multiply::$6 - (byte~) signed_multiply::$7
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 ← (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$8
(word) signed_multiply::m#1 ← (word) signed_multiply::m#3 hi= (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16
to:signed_multiply::@1
signed_multiply::@2: scope:[signed_multiply] from signed_multiply::@1 signed_multiply::@4
(word) signed_multiply::m#4 ← phi( signed_multiply::@1/(word) signed_multiply::m#6 signed_multiply::@4/(word) signed_multiply::m#2 )
@ -2041,9 +2041,9 @@ signed_multiply::@4: scope:[signed_multiply] from signed_multiply::@1
(word) signed_multiply::m#5 ← phi( signed_multiply::@1/(word) signed_multiply::m#6 )
(byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5
(byte~) signed_multiply::$13 ← ((byte)) (signed byte) signed_multiply::a#3
(byte/signed byte/word/signed word~) signed_multiply::$14 ← (byte~) signed_multiply::$12 - (byte~) signed_multiply::$13
(byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte/signed byte/word/signed word~) signed_multiply::$14
(word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$14 ← (byte~) signed_multiply::$12 - (byte~) signed_multiply::$13
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 ← (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$14
(word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17
to:signed_multiply::@2
signed_multiply::@return: scope:[signed_multiply] from signed_multiply::@2
(signed word) signed_multiply::return#3 ← phi( signed_multiply::@2/(signed word) signed_multiply::return#0 )
@ -3440,16 +3440,16 @@ SYMBOL TABLE SSA
(boolean~) signed_multiply::$10
(byte~) signed_multiply::$12
(byte~) signed_multiply::$13
(byte/signed byte/word/signed word~) signed_multiply::$14
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$14
(signed word~) signed_multiply::$15
(byte/signed byte/word/signed word~) signed_multiply::$16
(byte/signed byte/word/signed word~) signed_multiply::$17
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17
(word~) signed_multiply::$2
(boolean~) signed_multiply::$3
(boolean~) signed_multiply::$4
(byte~) signed_multiply::$6
(byte~) signed_multiply::$7
(byte/signed byte/word/signed word~) signed_multiply::$8
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$8
(boolean~) signed_multiply::$9
(label) signed_multiply::@1
(label) signed_multiply::@2
@ -3871,11 +3871,11 @@ Alias (word) multiply::return#2 = (word) multiply::return#5
Alias (signed byte) signed_multiply::a#1 = (signed byte) signed_multiply::a#2 (signed byte) signed_multiply::a#5
Alias (signed byte) signed_multiply::b#1 = (signed byte) signed_multiply::b#4 (signed byte) signed_multiply::b#3
Alias (word) signed_multiply::m#0 = (word~) signed_multiply::$2 (word) signed_multiply::m#3
Alias (byte/signed byte/word/signed word~) signed_multiply::$16 = (byte/signed byte/word/signed word~) signed_multiply::$8
Alias (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 = (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$8
Alias (signed word) signed_multiply::return#0 = (signed word~) signed_multiply::$15 (signed word) signed_multiply::return#3 (signed word) signed_multiply::return#1
Alias (word) signed_multiply::m#5 = (word) signed_multiply::m#6
Alias (signed byte) signed_multiply::a#3 = (signed byte) signed_multiply::a#4
Alias (byte/signed byte/word/signed word~) signed_multiply::$17 = (byte/signed byte/word/signed word~) signed_multiply::$14
Alias (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 = (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$14
Alias (byte*) char_cursor#125 = (byte*) char_cursor#146 (byte*) char_cursor#154 (byte*) char_cursor#138
Alias (byte*) line_cursor#41 = (byte*) line_cursor#61 (byte*) line_cursor#72 (byte*) line_cursor#51
Alias (byte*) BGCOL#1 = (byte*) BGCOL#22 (byte*) BGCOL#17 (byte*) BGCOL#14 (byte*) BGCOL#27 (byte*) BGCOL#28
@ -5376,8 +5376,8 @@ signed_multiply::@6: scope:[signed_multiply] from signed_multiply
to:signed_multiply::@3
signed_multiply::@3: scope:[signed_multiply] from signed_multiply::@6
[119] (byte~) signed_multiply::$6 ← > (word) signed_multiply::m#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] )
[120] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] )
[121] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] )
[120] (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] )
[121] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] )
to:signed_multiply::@1
signed_multiply::@1: scope:[signed_multiply] from signed_multiply::@3 signed_multiply::@6
[122] (word) signed_multiply::m#5 ← phi( signed_multiply::@3/(word) signed_multiply::m#1 signed_multiply::@6/(word) signed_multiply::m#0 ) [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#5 ] )
@ -5385,8 +5385,8 @@ signed_multiply::@1: scope:[signed_multiply] from signed_multiply::@3 signed_mu
to:signed_multiply::@4
signed_multiply::@4: scope:[signed_multiply] from signed_multiply::@1
[124] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] )
[125] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] )
[126] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] )
[125] (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] )
[126] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] )
to:signed_multiply::@2
signed_multiply::@2: scope:[signed_multiply] from signed_multiply::@1 signed_multiply::@4
[127] (word) signed_multiply::m#4 ← phi( signed_multiply::@1/(word) signed_multiply::m#5 signed_multiply::@4/(word) signed_multiply::m#2 ) [ signed_multiply::m#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#4 ] )
@ -6030,8 +6030,8 @@ VARIABLE REGISTER WEIGHTS
(word~) print_word::w#9 4.0
(signed word()) signed_multiply((signed byte) signed_multiply::a , (signed byte) signed_multiply::b)
(byte~) signed_multiply::$12 4.0
(byte/signed byte/word/signed word~) signed_multiply::$16 4.0
(byte/signed byte/word/signed word~) signed_multiply::$17 4.0
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 4.0
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 4.0
(byte~) signed_multiply::$6 4.0
(signed byte) signed_multiply::a
(signed byte) signed_multiply::a#0 7.357142857142858
@ -6991,12 +6991,12 @@ signed_multiply: {
//SEG245 [119] (byte~) signed_multiply::$6 ← > (word) signed_multiply::m#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ) -- vbuz1=_hi_vwuz2
lda m+1
sta _6
//SEG246 [120] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) -- vbuz1=vbuz2_minus_vbuz3
//SEG246 [120] (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) -- vbuz1=vbuz2_minus_vbuz3
lda _6
sec
sbc b
sta _16
//SEG247 [121] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuz2
//SEG247 [121] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuz2
lda _16
sta m+1
//SEG248 [122] phi from signed_multiply::@3 signed_multiply::@6 to signed_multiply::@1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1]
@ -7016,12 +7016,12 @@ signed_multiply: {
//SEG253 [124] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) -- vbuz1=_hi_vwuz2
lda m+1
sta _12
//SEG254 [125] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) -- vbuz1=vbuz2_minus_vbuz3
//SEG254 [125] (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) -- vbuz1=vbuz2_minus_vbuz3
lda _12
sec
sbc a
sta _17
//SEG255 [126] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) -- vwuz1=vwuz1_sethi_vbuz2
//SEG255 [126] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) -- vwuz1=vwuz1_sethi_vbuz2
lda _17
sta m+1
//SEG256 [127] phi from signed_multiply::@1 signed_multiply::@4 to signed_multiply::@2 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2]
@ -8100,9 +8100,9 @@ Removing always clobbered register reg byte a as potential for zp ZP_BYTE:56 [ s
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:57 [ signed_multiply::b#0 ]
Statement [117] (word) signed_multiply::m#0 ← (word) multiply::return#2 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 ] ) always clobbers reg byte a
Statement [119] (byte~) signed_multiply::$6 ← > (word) signed_multiply::m#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ) always clobbers reg byte a
Statement [120] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) always clobbers reg byte a
Statement [120] (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) always clobbers reg byte a
Statement [124] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) always clobbers reg byte a
Statement [125] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) always clobbers reg byte a
Statement [125] (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) always clobbers reg byte a
Statement asm { ldamemA stasm1+1 stasm3+1 eor#$ff stasm2+1 stasm4+1 ldxmemB sec sm1: ldamul_sqr1_lo,x sm2: sbcmul_sqr2_lo,x stamemA sm3: ldamul_sqr1_hi,x sm4: sbcmul_sqr2_hi,x stamemB } always clobbers reg byte a reg byte x
Removing always clobbered register reg byte x as potential for zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 ]
Removing always clobbered register reg byte x as potential for zp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_results_compare::b#1 ]
@ -8195,9 +8195,9 @@ Statement [108] (signed byte) print_sbyte::b#0 ← - (signed byte) print_sbyte::
Statement [116] (word) multiply::return#2 ← (word) multiply::return#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ) always clobbers reg byte a
Statement [117] (word) signed_multiply::m#0 ← (word) multiply::return#2 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 ] ) always clobbers reg byte a
Statement [119] (byte~) signed_multiply::$6 ← > (word) signed_multiply::m#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ) always clobbers reg byte a
Statement [120] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) always clobbers reg byte a
Statement [120] (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) always clobbers reg byte a
Statement [124] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) always clobbers reg byte a
Statement [125] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) always clobbers reg byte a
Statement [125] (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) always clobbers reg byte a
Statement asm { ldamemA stasm1+1 stasm3+1 eor#$ff stasm2+1 stasm4+1 ldxmemB sec sm1: ldamul_sqr1_lo,x sm2: sbcmul_sqr2_lo,x stamemA sm3: ldamul_sqr1_hi,x sm4: sbcmul_sqr2_hi,x stamemB } always clobbers reg byte a reg byte x
Statement [133] (word) multiply::return#0 ← *((const byte*) multiply::memB#0) w= *((const byte*) multiply::memA#0) [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) always clobbers reg byte a
Statement [137] (signed word) slow_signed_multiply::m#1 ← (signed word) slow_signed_multiply::m#3 - (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ) always clobbers reg byte a
@ -9054,10 +9054,10 @@ signed_multiply: {
b3:
//SEG245 [119] (byte~) signed_multiply::$6 ← > (word) signed_multiply::m#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ) -- vbuaa=_hi_vwuz1
lda m+1
//SEG246 [120] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) -- vbuaa=vbuaa_minus_vbuz1
//SEG246 [120] (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) -- vbuaa=vbuaa_minus_vbuz1
sec
sbc b
//SEG247 [121] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuaa
//SEG247 [121] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuaa
sta m+1
//SEG248 [122] phi from signed_multiply::@3 signed_multiply::@6 to signed_multiply::@1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1]
b1_from_b3:
@ -9075,11 +9075,11 @@ signed_multiply: {
b4:
//SEG253 [124] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) -- vbuaa=_hi_vwuz1
lda m+1
//SEG254 [125] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) -- vbuaa=vbuaa_minus_vbuyy
//SEG254 [125] (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) -- vbuaa=vbuaa_minus_vbuyy
sty $ff
sec
sbc $ff
//SEG255 [126] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) -- vwuz1=vwuz1_sethi_vbuaa
//SEG255 [126] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) -- vwuz1=vwuz1_sethi_vbuaa
sta m+1
//SEG256 [127] phi from signed_multiply::@1 signed_multiply::@4 to signed_multiply::@2 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2]
b2_from_b1:
@ -10654,8 +10654,8 @@ FINAL SYMBOL TABLE
(word~) print_word::w#9 w zp ZP_WORD:6 4.0
(signed word()) signed_multiply((signed byte) signed_multiply::a , (signed byte) signed_multiply::b)
(byte~) signed_multiply::$12 reg byte a 4.0
(byte/signed byte/word/signed word~) signed_multiply::$16 reg byte a 4.0
(byte/signed byte/word/signed word~) signed_multiply::$17 reg byte a 4.0
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 reg byte a 4.0
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 reg byte a 4.0
(byte~) signed_multiply::$6 reg byte a 4.0
(label) signed_multiply::@1
(label) signed_multiply::@2
@ -11303,10 +11303,10 @@ signed_multiply: {
//SEG244 signed_multiply::@3
//SEG245 [119] (byte~) signed_multiply::$6 ← > (word) signed_multiply::m#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ) -- vbuaa=_hi_vwuz1
lda m+1
//SEG246 [120] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) -- vbuaa=vbuaa_minus_vbuz1
//SEG246 [120] (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) -- vbuaa=vbuaa_minus_vbuz1
sec
sbc b
//SEG247 [121] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuaa
//SEG247 [121] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuaa
sta m+1
//SEG248 [122] phi from signed_multiply::@3 signed_multiply::@6 to signed_multiply::@1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1]
//SEG249 [122] phi (word) signed_multiply::m#5 = (word) signed_multiply::m#1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1#0] -- register_copy
@ -11319,11 +11319,11 @@ signed_multiply: {
//SEG252 signed_multiply::@4
//SEG253 [124] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) -- vbuaa=_hi_vwuz1
lda m+1
//SEG254 [125] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) -- vbuaa=vbuaa_minus_vbuyy
//SEG254 [125] (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) -- vbuaa=vbuaa_minus_vbuyy
sty $ff
sec
sbc $ff
//SEG255 [126] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) -- vwuz1=vwuz1_sethi_vbuaa
//SEG255 [126] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) -- vwuz1=vwuz1_sethi_vbuaa
sta m+1
//SEG256 [127] phi from signed_multiply::@1 signed_multiply::@4 to signed_multiply::@2 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2]
//SEG257 [127] phi (word) signed_multiply::m#4 = (word) signed_multiply::m#5 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2#0] -- register_copy

View File

@ -244,8 +244,8 @@
(word~) print_word::w#9 w zp ZP_WORD:6 4.0
(signed word()) signed_multiply((signed byte) signed_multiply::a , (signed byte) signed_multiply::b)
(byte~) signed_multiply::$12 reg byte a 4.0
(byte/signed byte/word/signed word~) signed_multiply::$16 reg byte a 4.0
(byte/signed byte/word/signed word~) signed_multiply::$17 reg byte a 4.0
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$16 reg byte a 4.0
(byte/signed byte/word/signed word/dword/signed dword~) signed_multiply::$17 reg byte a 4.0
(byte~) signed_multiply::$6 reg byte a 4.0
(label) signed_multiply::@1
(label) signed_multiply::@2

View File

@ -42,8 +42,8 @@ animate::@8: scope:[animate] from animate::@1
[19] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::animate:9 [ ] )
to:animate::@2
animate::@2: scope:[animate] from animate::@1 animate::@8
[20] (byte/signed byte/word/signed word~) animate::$6 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$6 ] ( main:2::animate:9 [ animate::$6 ] )
[21] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word~) animate::$6 [ ] ( main:2::animate:9 [ ] )
[20] (byte/signed byte/word/signed word/dword/signed dword~) animate::$6 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$6 ] ( main:2::animate:9 [ animate::$6 ] )
[21] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$6 [ ] ( main:2::animate:9 [ ] )
[22] if(*((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1)!=(byte/word/signed word/dword/signed dword) 255) goto animate::@3 [ ] ( main:2::animate:9 [ ] )
to:animate::@9
animate::@9: scope:[animate] from animate::@2
@ -58,8 +58,8 @@ animate::@10: scope:[animate] from animate::@3
[27] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::animate:9 [ ] )
to:animate::@4
animate::@4: scope:[animate] from animate::@10 animate::@3
[28] (byte/signed byte/word/signed word~) animate::$12 ← *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$12 ] ( main:2::animate:9 [ animate::$12 ] )
[29] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$12 [ ] ( main:2::animate:9 [ ] )
[28] (byte/signed byte/word/signed word/dword/signed dword~) animate::$12 ← *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$12 ] ( main:2::animate:9 [ animate::$12 ] )
[29] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$12 [ ] ( main:2::animate:9 [ ] )
[30] if(*((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3)!=(byte/word/signed word/dword/signed dword) 255) goto animate::@return [ ] ( main:2::animate:9 [ ] )
to:animate::@11
animate::@11: scope:[animate] from animate::@4
@ -69,8 +69,8 @@ animate::@11: scope:[animate] from animate::@4
[34] if(*((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3)<(byte/signed byte/word/signed word/dword/signed dword) 40) goto animate::@return [ ] ( main:2::animate:9 [ ] )
to:animate::@12
animate::@12: scope:[animate] from animate::@11
[35] (byte/signed byte/word/signed word~) animate::$18 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40 [ animate::$18 ] ( main:2::animate:9 [ animate::$18 ] )
[36] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$18 [ ] ( main:2::animate:9 [ ] )
[35] (byte/signed byte/word/signed word/dword/signed dword~) animate::$18 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40 [ animate::$18 ] ( main:2::animate:9 [ animate::$18 ] )
[36] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$18 [ ] ( main:2::animate:9 [ ] )
to:animate::@return
animate::@return: scope:[animate] from animate::@11 animate::@12 animate::@4
[37] return [ ] ( main:2::animate:9 [ ] )
@ -132,8 +132,8 @@ findcol::@5: scope:[findcol] from findcol::@12 findcol::@4
[64] if((byte) findcol::y#0>=(byte) findcol::yp#0) goto findcol::@6 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#4 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#4 ] )
to:findcol::@14
findcol::@14: scope:[findcol] from findcol::@5
[65] (byte/signed byte/word/signed word~) findcol::$10 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] )
[66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] )
[65] (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] )
[66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] )
to:findcol::@7
findcol::@7: scope:[findcol] from findcol::@14 findcol::@6
[67] (byte) findcol::diff#6 ← phi( findcol::@14/(byte) findcol::diff#3 findcol::@6/(byte) findcol::diff#2 ) [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#6 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#6 ] )
@ -155,8 +155,8 @@ findcol::@21: scope:[findcol] from findcol::@7
[74] (byte~) findcol::mindiff#15 ← (byte) findcol::mindiff#10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mincol#10 findcol::mindiff#15 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mincol#10 findcol::mindiff#15 ] )
to:findcol::@8
findcol::@6: scope:[findcol] from findcol::@5
[75] (byte/signed byte/word/signed word~) findcol::$12 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] )
[76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] )
[75] (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] )
[76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] )
to:findcol::@7
findcol::@4: scope:[findcol] from findcol::@2
[77] (byte) findcol::diff#0 ← (byte) findcol::x#0 - (byte) findcol::xp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] )

View File

@ -132,8 +132,8 @@ animate::@1:
if((boolean~) animate::$5) goto animate::@2
*((byte[]) YPOS + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0
animate::@2:
(byte/signed byte/word/signed word~) animate::$6 ← *((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1
*((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word~) animate::$6
(byte/signed byte/word/signed word/dword/signed dword~) animate::$6 ← *((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1
*((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$6
(boolean~) animate::$7 ← *((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 1) == (byte/word/signed word/dword/signed dword) 255
(boolean~) animate::$8 ← ! (boolean~) animate::$7
if((boolean~) animate::$8) goto animate::@3
@ -146,8 +146,8 @@ animate::@3:
if((boolean~) animate::$11) goto animate::@4
*((byte[]) YPOS + (byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte/signed byte/word/signed word/dword/signed dword) 0
animate::@4:
(byte/signed byte/word/signed word~) animate::$12 ← *((byte[]) YPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1
*((byte[]) YPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$12
(byte/signed byte/word/signed word/dword/signed dword~) animate::$12 ← *((byte[]) YPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1
*((byte[]) YPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$12
(boolean~) animate::$13 ← *((byte[]) YPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) == (byte/word/signed word/dword/signed dword) 255
(boolean~) animate::$14 ← ! (boolean~) animate::$13
if((boolean~) animate::$14) goto animate::@5
@ -157,8 +157,8 @@ animate::@4:
(boolean~) animate::$16 ← *((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) >= (byte/signed byte/word/signed word/dword/signed dword) 40
(boolean~) animate::$17 ← ! (boolean~) animate::$16
if((boolean~) animate::$17) goto animate::@6
(byte/signed byte/word/signed word~) animate::$18 ← *((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40
*((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$18
(byte/signed byte/word/signed word/dword/signed dword~) animate::$18 ← *((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40
*((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$18
animate::@6:
animate::@5:
animate::@return:
@ -215,23 +215,23 @@ findcol::@2:
(boolean~) findcol::$4 ← (byte) findcol::x < (byte) findcol::xp
(boolean~) findcol::$5 ← ! (boolean~) findcol::$4
if((boolean~) findcol::$5) goto findcol::@4
(byte/signed byte/word/signed word~) findcol::$6 ← (byte) findcol::xp - (byte) findcol::x
(byte) findcol::diff ← (byte/signed byte/word/signed word~) findcol::$6
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$6 ← (byte) findcol::xp - (byte) findcol::x
(byte) findcol::diff ← (byte/signed byte/word/signed word/dword/signed dword~) findcol::$6
goto findcol::@5
findcol::@4:
(byte/signed byte/word/signed word~) findcol::$7 ← (byte) findcol::x - (byte) findcol::xp
(byte) findcol::diff ← (byte/signed byte/word/signed word~) findcol::$7
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$7 ← (byte) findcol::x - (byte) findcol::xp
(byte) findcol::diff ← (byte/signed byte/word/signed word/dword/signed dword~) findcol::$7
findcol::@5:
(boolean~) findcol::$8 ← (byte) findcol::y < (byte) findcol::yp
(boolean~) findcol::$9 ← ! (boolean~) findcol::$8
if((boolean~) findcol::$9) goto findcol::@6
(byte/signed byte/word/signed word~) findcol::$10 ← (byte) findcol::yp - (byte) findcol::y
(byte/word~) findcol::$11 ← (byte) findcol::diff + (byte/signed byte/word/signed word~) findcol::$10
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 ← (byte) findcol::yp - (byte) findcol::y
(byte/word~) findcol::$11 ← (byte) findcol::diff + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10
(byte) findcol::diff ← (byte/word~) findcol::$11
goto findcol::@7
findcol::@6:
(byte/signed byte/word/signed word~) findcol::$12 ← (byte) findcol::y - (byte) findcol::yp
(byte/word~) findcol::$13 ← (byte) findcol::diff + (byte/signed byte/word/signed word~) findcol::$12
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 ← (byte) findcol::y - (byte) findcol::yp
(byte/word~) findcol::$13 ← (byte) findcol::diff + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12
(byte) findcol::diff ← (byte/word~) findcol::$13
findcol::@7:
(boolean~) findcol::$14 ← (byte) findcol::diff < (byte) findcol::mindiff
@ -263,18 +263,18 @@ SYMBOLS
(boolean~) animate::$1
(boolean~) animate::$10
(boolean~) animate::$11
(byte/signed byte/word/signed word~) animate::$12
(byte/signed byte/word/signed word/dword/signed dword~) animate::$12
(boolean~) animate::$13
(boolean~) animate::$14
(byte/word~) animate::$15
(boolean~) animate::$16
(boolean~) animate::$17
(byte/signed byte/word/signed word~) animate::$18
(byte/signed byte/word/signed word/dword/signed dword~) animate::$18
(boolean~) animate::$2
(byte/word~) animate::$3
(boolean~) animate::$4
(boolean~) animate::$5
(byte/signed byte/word/signed word~) animate::$6
(byte/signed byte/word/signed word/dword/signed dword~) animate::$6
(boolean~) animate::$7
(boolean~) animate::$8
(byte/word~) animate::$9
@ -288,9 +288,9 @@ SYMBOLS
(byte()) findcol((byte) findcol::x , (byte) findcol::y)
(boolean~) findcol::$0
(boolean~) findcol::$1
(byte/signed byte/word/signed word~) findcol::$10
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$10
(byte/word~) findcol::$11
(byte/signed byte/word/signed word~) findcol::$12
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$12
(byte/word~) findcol::$13
(boolean~) findcol::$14
(boolean~) findcol::$15
@ -299,8 +299,8 @@ SYMBOLS
(boolean~) findcol::$3
(boolean~) findcol::$4
(boolean~) findcol::$5
(byte/signed byte/word/signed word~) findcol::$6
(byte/signed byte/word/signed word~) findcol::$7
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$6
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$7
(boolean~) findcol::$8
(boolean~) findcol::$9
(label) findcol::@1
@ -392,8 +392,8 @@ animate::@7: scope:[animate] from animate
*((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0
to:animate::@1
animate::@2: scope:[animate] from animate::@1 animate::@8
(byte/signed byte/word/signed word~) animate::$6 ← *((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1
*((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word~) animate::$6
(byte/signed byte/word/signed word/dword/signed dword~) animate::$6 ← *((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1
*((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$6
(boolean~) animate::$7 ← *((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 1) == (byte/word/signed word/dword/signed dword) 255
(boolean~) animate::$8 ← ! (boolean~) animate::$7
if((boolean~) animate::$8) goto animate::@3
@ -412,8 +412,8 @@ animate::@9: scope:[animate] from animate::@2
*((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word/dword/signed dword) 40
to:animate::@3
animate::@4: scope:[animate] from animate::@10 animate::@3
(byte/signed byte/word/signed word~) animate::$12 ← *((byte[]) YPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1
*((byte[]) YPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$12
(byte/signed byte/word/signed word/dword/signed dword~) animate::$12 ← *((byte[]) YPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1
*((byte[]) YPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$12
(boolean~) animate::$13 ← *((byte[]) YPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) == (byte/word/signed word/dword/signed dword) 255
(boolean~) animate::$14 ← ! (boolean~) animate::$13
if((boolean~) animate::$14) goto animate::@5
@ -434,8 +434,8 @@ animate::@11: scope:[animate] from animate::@4
animate::@6: scope:[animate] from animate::@11 animate::@12
to:animate::@5
animate::@12: scope:[animate] from animate::@11
(byte/signed byte/word/signed word~) animate::$18 ← *((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40
*((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$18
(byte/signed byte/word/signed word/dword/signed dword~) animate::$18 ← *((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40
*((byte[]) XPOS + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$18
to:animate::@6
animate::@return: scope:[animate] from animate::@5
return
@ -522,12 +522,12 @@ findcol::@return: scope:[findcol] from findcol::@10 findcol::@17 findcol::@18
findcol::@11: scope:[findcol] from
to:findcol::@3
findcol::@4: scope:[findcol] from findcol::@13 findcol::@2
(byte/signed byte/word/signed word~) findcol::$7 ← (byte) findcol::x - (byte) findcol::xp
(byte) findcol::diff ← (byte/signed byte/word/signed word~) findcol::$7
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$7 ← (byte) findcol::x - (byte) findcol::xp
(byte) findcol::diff ← (byte/signed byte/word/signed word/dword/signed dword~) findcol::$7
to:findcol::@5
findcol::@12: scope:[findcol] from findcol::@2
(byte/signed byte/word/signed word~) findcol::$6 ← (byte) findcol::xp - (byte) findcol::x
(byte) findcol::diff ← (byte/signed byte/word/signed word~) findcol::$6
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$6 ← (byte) findcol::xp - (byte) findcol::x
(byte) findcol::diff ← (byte/signed byte/word/signed word/dword/signed dword~) findcol::$6
to:findcol::@5
findcol::@5: scope:[findcol] from findcol::@12 findcol::@4
(boolean~) findcol::$8 ← (byte) findcol::y < (byte) findcol::yp
@ -537,13 +537,13 @@ findcol::@5: scope:[findcol] from findcol::@12 findcol::@4
findcol::@13: scope:[findcol] from
to:findcol::@4
findcol::@6: scope:[findcol] from findcol::@15 findcol::@5
(byte/signed byte/word/signed word~) findcol::$12 ← (byte) findcol::y - (byte) findcol::yp
(byte/word~) findcol::$13 ← (byte) findcol::diff + (byte/signed byte/word/signed word~) findcol::$12
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 ← (byte) findcol::y - (byte) findcol::yp
(byte/word~) findcol::$13 ← (byte) findcol::diff + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12
(byte) findcol::diff ← (byte/word~) findcol::$13
to:findcol::@7
findcol::@14: scope:[findcol] from findcol::@5
(byte/signed byte/word/signed word~) findcol::$10 ← (byte) findcol::yp - (byte) findcol::y
(byte/word~) findcol::$11 ← (byte) findcol::diff + (byte/signed byte/word/signed word~) findcol::$10
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 ← (byte) findcol::yp - (byte) findcol::y
(byte/word~) findcol::$11 ← (byte) findcol::diff + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10
(byte) findcol::diff ← (byte/word~) findcol::$11
to:findcol::@7
findcol::@7: scope:[findcol] from findcol::@14 findcol::@6
@ -661,8 +661,8 @@ animate::@7: scope:[animate] from animate
*((byte[]) XPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0
to:animate::@1
animate::@2: scope:[animate] from animate::@1 animate::@8
(byte/signed byte/word/signed word~) animate::$6 ← *((byte[]) XPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1
*((byte[]) XPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word~) animate::$6
(byte/signed byte/word/signed word/dword/signed dword~) animate::$6 ← *((byte[]) XPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1
*((byte[]) XPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$6
(boolean~) animate::$7 ← *((byte[]) XPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) == (byte/word/signed word/dword/signed dword) 255
(boolean~) animate::$8 ← ! (boolean~) animate::$7
if((boolean~) animate::$8) goto animate::@3
@ -681,8 +681,8 @@ animate::@9: scope:[animate] from animate::@2
*((byte[]) XPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word/dword/signed dword) 40
to:animate::@3
animate::@4: scope:[animate] from animate::@10 animate::@3
(byte/signed byte/word/signed word~) animate::$12 ← *((byte[]) YPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1
*((byte[]) YPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$12
(byte/signed byte/word/signed word/dword/signed dword~) animate::$12 ← *((byte[]) YPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1
*((byte[]) YPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$12
(boolean~) animate::$13 ← *((byte[]) YPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 3) == (byte/word/signed word/dword/signed dword) 255
(boolean~) animate::$14 ← ! (boolean~) animate::$13
if((boolean~) animate::$14) goto animate::@5
@ -703,8 +703,8 @@ animate::@11: scope:[animate] from animate::@4
animate::@6: scope:[animate] from animate::@11
to:animate::@return
animate::@12: scope:[animate] from animate::@11
(byte/signed byte/word/signed word~) animate::$18 ← *((byte[]) XPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40
*((byte[]) XPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$18
(byte/signed byte/word/signed word/dword/signed dword~) animate::$18 ← *((byte[]) XPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40
*((byte[]) XPOS#0 + (byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$18
to:animate::@return
animate::@return: scope:[animate] from animate::@12 animate::@5 animate::@6
return
@ -849,8 +849,8 @@ findcol::@4: scope:[findcol] from findcol::@2
(byte) findcol::y#7 ← phi( findcol::@2/(byte) findcol::y#10 )
(byte) findcol::xp#2 ← phi( findcol::@2/(byte) findcol::xp#1 )
(byte) findcol::x#3 ← phi( findcol::@2/(byte) findcol::x#2 )
(byte/signed byte/word/signed word~) findcol::$7 ← (byte) findcol::x#3 - (byte) findcol::xp#2
(byte) findcol::diff#0 ← (byte/signed byte/word/signed word~) findcol::$7
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$7 ← (byte) findcol::x#3 - (byte) findcol::xp#2
(byte) findcol::diff#0 ← (byte/signed byte/word/signed word/dword/signed dword~) findcol::$7
to:findcol::@5
findcol::@12: scope:[findcol] from findcol::@2
(byte) findcol::mincol#8 ← phi( findcol::@2/(byte) findcol::mincol#10 )
@ -861,8 +861,8 @@ findcol::@12: scope:[findcol] from findcol::@2
(byte) findcol::y#6 ← phi( findcol::@2/(byte) findcol::y#10 )
(byte) findcol::x#4 ← phi( findcol::@2/(byte) findcol::x#2 )
(byte) findcol::xp#3 ← phi( findcol::@2/(byte) findcol::xp#1 )
(byte/signed byte/word/signed word~) findcol::$6 ← (byte) findcol::xp#3 - (byte) findcol::x#4
(byte) findcol::diff#1 ← (byte/signed byte/word/signed word~) findcol::$6
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$6 ← (byte) findcol::xp#3 - (byte) findcol::x#4
(byte) findcol::diff#1 ← (byte/signed byte/word/signed word/dword/signed dword~) findcol::$6
to:findcol::@5
findcol::@5: scope:[findcol] from findcol::@12 findcol::@4
(byte) findcol::mincol#7 ← phi( findcol::@12/(byte) findcol::mincol#8 findcol::@4/(byte) findcol::mincol#9 )
@ -886,8 +886,8 @@ findcol::@6: scope:[findcol] from findcol::@5
(byte) findcol::diff#4 ← phi( findcol::@5/(byte) findcol::diff#8 )
(byte) findcol::yp#3 ← phi( findcol::@5/(byte) findcol::yp#2 )
(byte) findcol::y#3 ← phi( findcol::@5/(byte) findcol::y#2 )
(byte/signed byte/word/signed word~) findcol::$12 ← (byte) findcol::y#3 - (byte) findcol::yp#3
(byte/word~) findcol::$13 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word~) findcol::$12
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 ← (byte) findcol::y#3 - (byte) findcol::yp#3
(byte/word~) findcol::$13 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12
(byte) findcol::diff#2 ← (byte/word~) findcol::$13
to:findcol::@7
findcol::@14: scope:[findcol] from findcol::@5
@ -899,8 +899,8 @@ findcol::@14: scope:[findcol] from findcol::@5
(byte) findcol::diff#5 ← phi( findcol::@5/(byte) findcol::diff#8 )
(byte) findcol::y#4 ← phi( findcol::@5/(byte) findcol::y#2 )
(byte) findcol::yp#4 ← phi( findcol::@5/(byte) findcol::yp#2 )
(byte/signed byte/word/signed word~) findcol::$10 ← (byte) findcol::yp#4 - (byte) findcol::y#4
(byte/word~) findcol::$11 ← (byte) findcol::diff#5 + (byte/signed byte/word/signed word~) findcol::$10
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 ← (byte) findcol::yp#4 - (byte) findcol::y#4
(byte/word~) findcol::$11 ← (byte) findcol::diff#5 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10
(byte) findcol::diff#3 ← (byte/word~) findcol::$11
to:findcol::@7
findcol::@7: scope:[findcol] from findcol::@14 findcol::@6
@ -987,18 +987,18 @@ SYMBOL TABLE SSA
(boolean~) animate::$1
(boolean~) animate::$10
(boolean~) animate::$11
(byte/signed byte/word/signed word~) animate::$12
(byte/signed byte/word/signed word/dword/signed dword~) animate::$12
(boolean~) animate::$13
(boolean~) animate::$14
(byte/word~) animate::$15
(boolean~) animate::$16
(boolean~) animate::$17
(byte/signed byte/word/signed word~) animate::$18
(byte/signed byte/word/signed word/dword/signed dword~) animate::$18
(boolean~) animate::$2
(byte/word~) animate::$3
(boolean~) animate::$4
(boolean~) animate::$5
(byte/signed byte/word/signed word~) animate::$6
(byte/signed byte/word/signed word/dword/signed dword~) animate::$6
(boolean~) animate::$7
(boolean~) animate::$8
(byte/word~) animate::$9
@ -1018,9 +1018,9 @@ SYMBOL TABLE SSA
(byte()) findcol((byte) findcol::x , (byte) findcol::y)
(boolean~) findcol::$0
(boolean~) findcol::$1
(byte/signed byte/word/signed word~) findcol::$10
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$10
(byte/word~) findcol::$11
(byte/signed byte/word/signed word~) findcol::$12
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$12
(byte/word~) findcol::$13
(boolean~) findcol::$14
(boolean~) findcol::$15
@ -1029,8 +1029,8 @@ SYMBOL TABLE SSA
(boolean~) findcol::$3
(boolean~) findcol::$4
(boolean~) findcol::$5
(byte/signed byte/word/signed word~) findcol::$6
(byte/signed byte/word/signed word~) findcol::$7
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$6
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$7
(boolean~) findcol::$8
(boolean~) findcol::$9
(label) findcol::@1
@ -1291,8 +1291,8 @@ Alias (byte) findcol::mindiff#6 = (byte) findcol::mindiff#7 (byte) findcol::mind
Alias (byte) findcol::i#10 = (byte) findcol::i#11 (byte) findcol::i#9
Alias (byte) numpoints#7 = (byte) numpoints#8 (byte) numpoints#9
Alias (byte) findcol::mincol#10 = (byte) findcol::mincol#9 (byte) findcol::mincol#8
Alias (byte) findcol::diff#0 = (byte/signed byte/word/signed word~) findcol::$7
Alias (byte) findcol::diff#1 = (byte/signed byte/word/signed word~) findcol::$6
Alias (byte) findcol::diff#0 = (byte/signed byte/word/signed word/dword/signed dword~) findcol::$7
Alias (byte) findcol::diff#1 = (byte/signed byte/word/signed word/dword/signed dword~) findcol::$6
Alias (byte) findcol::y#2 = (byte) findcol::y#3 (byte) findcol::y#4
Alias (byte) findcol::yp#2 = (byte) findcol::yp#3 (byte) findcol::yp#4
Alias (byte) findcol::diff#4 = (byte) findcol::diff#8 (byte) findcol::diff#5
@ -1626,8 +1626,8 @@ animate::@8: scope:[animate] from animate::@1
[19] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::animate:9 [ ] )
to:animate::@2
animate::@2: scope:[animate] from animate::@1 animate::@8
[20] (byte/signed byte/word/signed word~) animate::$6 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$6 ] ( main:2::animate:9 [ animate::$6 ] )
[21] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word~) animate::$6 [ ] ( main:2::animate:9 [ ] )
[20] (byte/signed byte/word/signed word/dword/signed dword~) animate::$6 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$6 ] ( main:2::animate:9 [ animate::$6 ] )
[21] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$6 [ ] ( main:2::animate:9 [ ] )
[22] if(*((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1)!=(byte/word/signed word/dword/signed dword) 255) goto animate::@3 [ ] ( main:2::animate:9 [ ] )
to:animate::@9
animate::@9: scope:[animate] from animate::@2
@ -1642,8 +1642,8 @@ animate::@10: scope:[animate] from animate::@3
[27] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::animate:9 [ ] )
to:animate::@4
animate::@4: scope:[animate] from animate::@10 animate::@3
[28] (byte/signed byte/word/signed word~) animate::$12 ← *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$12 ] ( main:2::animate:9 [ animate::$12 ] )
[29] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$12 [ ] ( main:2::animate:9 [ ] )
[28] (byte/signed byte/word/signed word/dword/signed dword~) animate::$12 ← *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$12 ] ( main:2::animate:9 [ animate::$12 ] )
[29] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$12 [ ] ( main:2::animate:9 [ ] )
[30] if(*((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3)!=(byte/word/signed word/dword/signed dword) 255) goto animate::@return [ ] ( main:2::animate:9 [ ] )
to:animate::@11
animate::@11: scope:[animate] from animate::@4
@ -1653,8 +1653,8 @@ animate::@11: scope:[animate] from animate::@4
[34] if(*((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3)<(byte/signed byte/word/signed word/dword/signed dword) 40) goto animate::@return [ ] ( main:2::animate:9 [ ] )
to:animate::@12
animate::@12: scope:[animate] from animate::@11
[35] (byte/signed byte/word/signed word~) animate::$18 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40 [ animate::$18 ] ( main:2::animate:9 [ animate::$18 ] )
[36] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$18 [ ] ( main:2::animate:9 [ ] )
[35] (byte/signed byte/word/signed word/dword/signed dword~) animate::$18 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40 [ animate::$18 ] ( main:2::animate:9 [ animate::$18 ] )
[36] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$18 [ ] ( main:2::animate:9 [ ] )
to:animate::@return
animate::@return: scope:[animate] from animate::@11 animate::@12 animate::@4
[37] return [ ] ( main:2::animate:9 [ ] )
@ -1716,8 +1716,8 @@ findcol::@5: scope:[findcol] from findcol::@12 findcol::@4
[64] if((byte) findcol::y#0>=(byte) findcol::yp#0) goto findcol::@6 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#4 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#4 ] )
to:findcol::@14
findcol::@14: scope:[findcol] from findcol::@5
[65] (byte/signed byte/word/signed word~) findcol::$10 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] )
[66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] )
[65] (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] )
[66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] )
to:findcol::@7
findcol::@7: scope:[findcol] from findcol::@14 findcol::@6
[67] (byte) findcol::diff#6 ← phi( findcol::@14/(byte) findcol::diff#3 findcol::@6/(byte) findcol::diff#2 ) [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#6 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#6 ] )
@ -1739,8 +1739,8 @@ findcol::@21: scope:[findcol] from findcol::@7
[74] (byte~) findcol::mindiff#15 ← (byte) findcol::mindiff#10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mincol#10 findcol::mindiff#15 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mincol#10 findcol::mindiff#15 ] )
to:findcol::@8
findcol::@6: scope:[findcol] from findcol::@5
[75] (byte/signed byte/word/signed word~) findcol::$12 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] )
[76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] )
[75] (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] )
[76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] )
to:findcol::@7
findcol::@4: scope:[findcol] from findcol::@2
[77] (byte) findcol::diff#0 ← (byte) findcol::x#0 - (byte) findcol::xp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] )
@ -1849,15 +1849,15 @@ VARIABLE REGISTER WEIGHTS
(byte[]) YPOS
(void()) animate()
(byte/word~) animate::$0 4.0
(byte/signed byte/word/signed word~) animate::$12 4.0
(byte/signed byte/word/signed word/dword/signed dword~) animate::$12 4.0
(byte/word~) animate::$15 4.0
(byte/signed byte/word/signed word~) animate::$18 4.0
(byte/signed byte/word/signed word/dword/signed dword~) animate::$18 4.0
(byte/word~) animate::$3 4.0
(byte/signed byte/word/signed word~) animate::$6 4.0
(byte/signed byte/word/signed word/dword/signed dword~) animate::$6 4.0
(byte/word~) animate::$9 4.0
(byte()) findcol((byte) findcol::x , (byte) findcol::y)
(byte/signed byte/word/signed word~) findcol::$10 20002.0
(byte/signed byte/word/signed word~) findcol::$12 20002.0
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 20002.0
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 20002.0
(byte) findcol::diff
(byte) findcol::diff#0 20002.0
(byte) findcol::diff#1 20002.0
@ -2091,11 +2091,11 @@ animate: {
jmp b2
//SEG35 animate::@2
b2:
//SEG36 [20] (byte/signed byte/word/signed word~) animate::$6 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$6 ] ( main:2::animate:9 [ animate::$6 ] ) -- vbuz1=_deref_pbuc1_minus_1
//SEG36 [20] (byte/signed byte/word/signed word/dword/signed dword~) animate::$6 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$6 ] ( main:2::animate:9 [ animate::$6 ] ) -- vbuz1=_deref_pbuc1_minus_1
ldx XPOS+1
dex
stx _6
//SEG37 [21] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word~) animate::$6 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuz1
//SEG37 [21] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$6 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuz1
lda _6
sta XPOS+1
//SEG38 [22] if(*((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1)!=(byte/word/signed word/dword/signed dword) 255) goto animate::@3 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1_neq_vbuc2_then_la1
@ -2131,11 +2131,11 @@ animate: {
jmp b4
//SEG47 animate::@4
b4:
//SEG48 [28] (byte/signed byte/word/signed word~) animate::$12 ← *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$12 ] ( main:2::animate:9 [ animate::$12 ] ) -- vbuz1=_deref_pbuc1_minus_1
//SEG48 [28] (byte/signed byte/word/signed word/dword/signed dword~) animate::$12 ← *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$12 ] ( main:2::animate:9 [ animate::$12 ] ) -- vbuz1=_deref_pbuc1_minus_1
ldx YPOS+3
dex
stx _12
//SEG49 [29] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$12 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuz1
//SEG49 [29] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$12 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuz1
lda _12
sta YPOS+3
//SEG50 [30] if(*((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3)!=(byte/word/signed word/dword/signed dword) 255) goto animate::@return [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1_neq_vbuc2_then_la1
@ -2163,12 +2163,12 @@ animate: {
jmp b12
//SEG56 animate::@12
b12:
//SEG57 [35] (byte/signed byte/word/signed word~) animate::$18 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40 [ animate::$18 ] ( main:2::animate:9 [ animate::$18 ] ) -- vbuz1=_deref_pbuc1_minus_vbuc2
//SEG57 [35] (byte/signed byte/word/signed word/dword/signed dword~) animate::$18 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40 [ animate::$18 ] ( main:2::animate:9 [ animate::$18 ] ) -- vbuz1=_deref_pbuc1_minus_vbuc2
lda XPOS+3
sec
sbc #$28
sta _18
//SEG58 [36] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$18 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuz1
//SEG58 [36] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$18 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuz1
lda _18
sta XPOS+3
jmp breturn
@ -2355,12 +2355,12 @@ findcol: {
jmp b14
//SEG113 findcol::@14
b14:
//SEG114 [65] (byte/signed byte/word/signed word~) findcol::$10 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ) -- vbuz1=vbuz2_minus_vbuz3
//SEG114 [65] (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ) -- vbuz1=vbuz2_minus_vbuz3
lda yp
sec
sbc y
sta _10
//SEG115 [66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ) -- vbuz1=vbuz2_plus_vbuz3
//SEG115 [66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ) -- vbuz1=vbuz2_plus_vbuz3
lda diff
clc
adc _10
@ -2420,12 +2420,12 @@ findcol: {
jmp b8_from_b21
//SEG138 findcol::@6
b6:
//SEG139 [75] (byte/signed byte/word/signed word~) findcol::$12 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ) -- vbuz1=vbuz2_minus_vbuz3
//SEG139 [75] (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ) -- vbuz1=vbuz2_minus_vbuz3
lda y
sec
sbc yp
sta _12
//SEG140 [76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ) -- vbuz1=vbuz2_plus_vbuz3
//SEG140 [76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ) -- vbuz1=vbuz2_plus_vbuz3
lda diff
clc
adc _12
@ -2498,7 +2498,7 @@ Statement [30] if(*((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dwo
Statement [31] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword) 25 [ ] ( main:2::animate:9 [ ] ) always clobbers reg byte a
Statement [32] (byte/word~) animate::$15 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) + (byte/signed byte/word/signed word/dword/signed dword) 7 [ animate::$15 ] ( main:2::animate:9 [ animate::$15 ] ) always clobbers reg byte a
Statement [34] if(*((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3)<(byte/signed byte/word/signed word/dword/signed dword) 40) goto animate::@return [ ] ( main:2::animate:9 [ ] ) always clobbers reg byte a
Statement [35] (byte/signed byte/word/signed word~) animate::$18 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40 [ animate::$18 ] ( main:2::animate:9 [ animate::$18 ] ) always clobbers reg byte a
Statement [35] (byte/signed byte/word/signed word/dword/signed dword~) animate::$18 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40 [ animate::$18 ] ( main:2::animate:9 [ animate::$18 ] ) always clobbers reg byte a
Statement [49] (byte*) render::colline#1 ← (byte*) render::colline#5 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ render::y#4 render::colline#1 ] ( main:2::render:7 [ render::y#4 render::colline#1 ] ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ render::y#4 render::y#1 ]
Statement [62] (byte) findcol::diff#1 ← (byte) findcol::xp#0 - (byte) findcol::x#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#1 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#1 ] ) always clobbers reg byte a
@ -2509,11 +2509,11 @@ Removing always clobbered register reg byte a as potential for zp ZP_BYTE:6 [ fi
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:7 [ findcol::mindiff#10 findcol::mindiff#13 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:8 [ findcol::return#2 findcol::mincol#10 findcol::mincol#2 findcol::mincol#1 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:25 [ findcol::yp#0 ]
Statement [65] (byte/signed byte/word/signed word~) findcol::$10 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ) always clobbers reg byte a
Statement [65] (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:9 [ findcol::diff#4 findcol::diff#1 findcol::diff#0 ]
Statement [66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ) always clobbers reg byte a
Statement [75] (byte/signed byte/word/signed word~) findcol::$12 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ) always clobbers reg byte a
Statement [76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ) always clobbers reg byte a
Statement [66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ) always clobbers reg byte a
Statement [75] (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ) always clobbers reg byte a
Statement [76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ) always clobbers reg byte a
Statement [77] (byte) findcol::diff#0 ← (byte) findcol::x#0 - (byte) findcol::xp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] ) always clobbers reg byte a
Statement [80] *((byte*) initscreen::screen#2) ← (const byte) FILL#0 [ initscreen::screen#2 ] ( main:2::initscreen:5 [ initscreen::screen#2 ] ) always clobbers reg byte a reg byte y
Statement [82] if((byte*) initscreen::screen#1<(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1000) goto initscreen::@1 [ initscreen::screen#1 ] ( main:2::initscreen:5 [ initscreen::screen#1 ] ) always clobbers reg byte a
@ -2529,13 +2529,13 @@ Statement [30] if(*((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dwo
Statement [31] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword) 25 [ ] ( main:2::animate:9 [ ] ) always clobbers reg byte a
Statement [32] (byte/word~) animate::$15 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) + (byte/signed byte/word/signed word/dword/signed dword) 7 [ animate::$15 ] ( main:2::animate:9 [ animate::$15 ] ) always clobbers reg byte a
Statement [34] if(*((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3)<(byte/signed byte/word/signed word/dword/signed dword) 40) goto animate::@return [ ] ( main:2::animate:9 [ ] ) always clobbers reg byte a
Statement [35] (byte/signed byte/word/signed word~) animate::$18 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40 [ animate::$18 ] ( main:2::animate:9 [ animate::$18 ] ) always clobbers reg byte a
Statement [35] (byte/signed byte/word/signed word/dword/signed dword~) animate::$18 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40 [ animate::$18 ] ( main:2::animate:9 [ animate::$18 ] ) always clobbers reg byte a
Statement [49] (byte*) render::colline#1 ← (byte*) render::colline#5 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ render::y#4 render::colline#1 ] ( main:2::render:7 [ render::y#4 render::colline#1 ] ) always clobbers reg byte a
Statement [62] (byte) findcol::diff#1 ← (byte) findcol::xp#0 - (byte) findcol::x#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#1 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#1 ] ) always clobbers reg byte a
Statement [65] (byte/signed byte/word/signed word~) findcol::$10 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ) always clobbers reg byte a
Statement [66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ) always clobbers reg byte a
Statement [75] (byte/signed byte/word/signed word~) findcol::$12 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ) always clobbers reg byte a
Statement [76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ) always clobbers reg byte a
Statement [65] (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ) always clobbers reg byte a
Statement [66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ) always clobbers reg byte a
Statement [75] (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ) always clobbers reg byte a
Statement [76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ) always clobbers reg byte a
Statement [77] (byte) findcol::diff#0 ← (byte) findcol::x#0 - (byte) findcol::xp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] ) always clobbers reg byte a
Statement [80] *((byte*) initscreen::screen#2) ← (const byte) FILL#0 [ initscreen::screen#2 ] ( main:2::initscreen:5 [ initscreen::screen#2 ] ) always clobbers reg byte a reg byte y
Statement [82] if((byte*) initscreen::screen#1<(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1000) goto initscreen::@1 [ initscreen::screen#1 ] ( main:2::initscreen:5 [ initscreen::screen#1 ] ) always clobbers reg byte a
@ -2706,10 +2706,10 @@ animate: {
jmp b2
//SEG35 animate::@2
b2:
//SEG36 [20] (byte/signed byte/word/signed word~) animate::$6 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$6 ] ( main:2::animate:9 [ animate::$6 ] ) -- vbuxx=_deref_pbuc1_minus_1
//SEG36 [20] (byte/signed byte/word/signed word/dword/signed dword~) animate::$6 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$6 ] ( main:2::animate:9 [ animate::$6 ] ) -- vbuxx=_deref_pbuc1_minus_1
ldx XPOS+1
dex
//SEG37 [21] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word~) animate::$6 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuxx
//SEG37 [21] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$6 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuxx
stx XPOS+1
//SEG38 [22] if(*((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1)!=(byte/word/signed word/dword/signed dword) 255) goto animate::@3 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1_neq_vbuc2_then_la1
lda XPOS+1
@ -2742,10 +2742,10 @@ animate: {
jmp b4
//SEG47 animate::@4
b4:
//SEG48 [28] (byte/signed byte/word/signed word~) animate::$12 ← *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$12 ] ( main:2::animate:9 [ animate::$12 ] ) -- vbuxx=_deref_pbuc1_minus_1
//SEG48 [28] (byte/signed byte/word/signed word/dword/signed dword~) animate::$12 ← *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$12 ] ( main:2::animate:9 [ animate::$12 ] ) -- vbuxx=_deref_pbuc1_minus_1
ldx YPOS+3
dex
//SEG49 [29] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$12 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuxx
//SEG49 [29] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$12 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuxx
stx YPOS+3
//SEG50 [30] if(*((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3)!=(byte/word/signed word/dword/signed dword) 255) goto animate::@return [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1_neq_vbuc2_then_la1
lda YPOS+3
@ -2770,11 +2770,11 @@ animate: {
jmp b12
//SEG56 animate::@12
b12:
//SEG57 [35] (byte/signed byte/word/signed word~) animate::$18 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40 [ animate::$18 ] ( main:2::animate:9 [ animate::$18 ] ) -- vbuaa=_deref_pbuc1_minus_vbuc2
//SEG57 [35] (byte/signed byte/word/signed word/dword/signed dword~) animate::$18 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40 [ animate::$18 ] ( main:2::animate:9 [ animate::$18 ] ) -- vbuaa=_deref_pbuc1_minus_vbuc2
lda XPOS+3
sec
sbc #$28
//SEG58 [36] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$18 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuaa
//SEG58 [36] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$18 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuaa
sta XPOS+3
jmp breturn
//SEG59 animate::@return
@ -2938,11 +2938,11 @@ findcol: {
jmp b14
//SEG113 findcol::@14
b14:
//SEG114 [65] (byte/signed byte/word/signed word~) findcol::$10 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ) -- vbuaa=vbuz1_minus_vbuz2
//SEG114 [65] (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ) -- vbuaa=vbuz1_minus_vbuz2
lda yp
sec
sbc y
//SEG115 [66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ) -- vbuaa=vbuz1_plus_vbuaa
//SEG115 [66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ) -- vbuaa=vbuz1_plus_vbuaa
clc
adc diff
//SEG116 [67] phi from findcol::@14 findcol::@6 to findcol::@7 [phi:findcol::@14/findcol::@6->findcol::@7]
@ -2994,11 +2994,11 @@ findcol: {
jmp b8_from_b21
//SEG138 findcol::@6
b6:
//SEG139 [75] (byte/signed byte/word/signed word~) findcol::$12 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ) -- vbuaa=vbuz1_minus_vbuz2
//SEG139 [75] (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ) -- vbuaa=vbuz1_minus_vbuz2
lda y
sec
sbc yp
//SEG140 [76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ) -- vbuaa=vbuz1_plus_vbuaa
//SEG140 [76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ) -- vbuaa=vbuz1_plus_vbuaa
clc
adc diff
jmp b7_from_b6
@ -3180,11 +3180,11 @@ FINAL SYMBOL TABLE
(const byte[]) YPOS#0 YPOS = { (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 14, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 22 }
(void()) animate()
(byte/word~) animate::$0 reg byte x 4.0
(byte/signed byte/word/signed word~) animate::$12 reg byte x 4.0
(byte/signed byte/word/signed word/dword/signed dword~) animate::$12 reg byte x 4.0
(byte/word~) animate::$15 reg byte a 4.0
(byte/signed byte/word/signed word~) animate::$18 reg byte a 4.0
(byte/signed byte/word/signed word/dword/signed dword~) animate::$18 reg byte a 4.0
(byte/word~) animate::$3 reg byte x 4.0
(byte/signed byte/word/signed word~) animate::$6 reg byte x 4.0
(byte/signed byte/word/signed word/dword/signed dword~) animate::$6 reg byte x 4.0
(byte/word~) animate::$9 reg byte x 4.0
(label) animate::@1
(label) animate::@10
@ -3198,8 +3198,8 @@ FINAL SYMBOL TABLE
(label) animate::@9
(label) animate::@return
(byte()) findcol((byte) findcol::x , (byte) findcol::y)
(byte/signed byte/word/signed word~) findcol::$10 reg byte a 20002.0
(byte/signed byte/word/signed word~) findcol::$12 reg byte a 20002.0
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 reg byte a 20002.0
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 reg byte a 20002.0
(label) findcol::@1
(label) findcol::@12
(label) findcol::@14
@ -3370,10 +3370,10 @@ animate: {
sta YPOS+0
//SEG35 animate::@2
b2:
//SEG36 [20] (byte/signed byte/word/signed word~) animate::$6 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$6 ] ( main:2::animate:9 [ animate::$6 ] ) -- vbuxx=_deref_pbuc1_minus_1
//SEG36 [20] (byte/signed byte/word/signed word/dword/signed dword~) animate::$6 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$6 ] ( main:2::animate:9 [ animate::$6 ] ) -- vbuxx=_deref_pbuc1_minus_1
ldx XPOS+1
dex
//SEG37 [21] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word~) animate::$6 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuxx
//SEG37 [21] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$6 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuxx
stx XPOS+1
//SEG38 [22] if(*((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1)!=(byte/word/signed word/dword/signed dword) 255) goto animate::@3 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1_neq_vbuc2_then_la1
txa
@ -3400,10 +3400,10 @@ animate: {
sta YPOS+2
//SEG47 animate::@4
b4:
//SEG48 [28] (byte/signed byte/word/signed word~) animate::$12 ← *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$12 ] ( main:2::animate:9 [ animate::$12 ] ) -- vbuxx=_deref_pbuc1_minus_1
//SEG48 [28] (byte/signed byte/word/signed word/dword/signed dword~) animate::$12 ← *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$12 ] ( main:2::animate:9 [ animate::$12 ] ) -- vbuxx=_deref_pbuc1_minus_1
ldx YPOS+3
dex
//SEG49 [29] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$12 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuxx
//SEG49 [29] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$12 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuxx
stx YPOS+3
//SEG50 [30] if(*((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3)!=(byte/word/signed word/dword/signed dword) 255) goto animate::@return [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1_neq_vbuc2_then_la1
txa
@ -3423,10 +3423,10 @@ animate: {
cmp #$28
bcc breturn
//SEG56 animate::@12
//SEG57 [35] (byte/signed byte/word/signed word~) animate::$18 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40 [ animate::$18 ] ( main:2::animate:9 [ animate::$18 ] ) -- vbuaa=_deref_pbuc1_minus_vbuc2
//SEG57 [35] (byte/signed byte/word/signed word/dword/signed dword~) animate::$18 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) - (byte/signed byte/word/signed word/dword/signed dword) 40 [ animate::$18 ] ( main:2::animate:9 [ animate::$18 ] ) -- vbuaa=_deref_pbuc1_minus_vbuc2
sec
sbc #$28
//SEG58 [36] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word~) animate::$18 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuaa
//SEG58 [36] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte/signed byte/word/signed word/dword/signed dword~) animate::$18 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuaa
sta XPOS+3
//SEG59 animate::@return
breturn:
@ -3561,11 +3561,11 @@ findcol: {
cmp yp
bcs b6
//SEG113 findcol::@14
//SEG114 [65] (byte/signed byte/word/signed word~) findcol::$10 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ) -- vbuaa=vbuz1_minus_vbuz2
//SEG114 [65] (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 ← (byte) findcol::yp#0 - (byte) findcol::y#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$10 ] ) -- vbuaa=vbuz1_minus_vbuz2
lda yp
sec
sbc y
//SEG115 [66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ) -- vbuaa=vbuz1_plus_vbuaa
//SEG115 [66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ) -- vbuaa=vbuz1_plus_vbuaa
clc
adc diff
//SEG116 [67] phi from findcol::@14 findcol::@6 to findcol::@7 [phi:findcol::@14/findcol::@6->findcol::@7]
@ -3607,11 +3607,11 @@ findcol: {
jmp b8
//SEG138 findcol::@6
b6:
//SEG139 [75] (byte/signed byte/word/signed word~) findcol::$12 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ) -- vbuaa=vbuz1_minus_vbuz2
//SEG139 [75] (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 ← (byte) findcol::y#0 - (byte) findcol::yp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#4 findcol::$12 ] ) -- vbuaa=vbuz1_minus_vbuz2
lda y
sec
sbc yp
//SEG140 [76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ) -- vbuaa=vbuz1_plus_vbuaa
//SEG140 [76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ) -- vbuaa=vbuz1_plus_vbuaa
clc
adc diff
jmp b7

View File

@ -15,11 +15,11 @@
(const byte[]) YPOS#0 YPOS = { (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 14, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 22 }
(void()) animate()
(byte/word~) animate::$0 reg byte x 4.0
(byte/signed byte/word/signed word~) animate::$12 reg byte x 4.0
(byte/signed byte/word/signed word/dword/signed dword~) animate::$12 reg byte x 4.0
(byte/word~) animate::$15 reg byte a 4.0
(byte/signed byte/word/signed word~) animate::$18 reg byte a 4.0
(byte/signed byte/word/signed word/dword/signed dword~) animate::$18 reg byte a 4.0
(byte/word~) animate::$3 reg byte x 4.0
(byte/signed byte/word/signed word~) animate::$6 reg byte x 4.0
(byte/signed byte/word/signed word/dword/signed dword~) animate::$6 reg byte x 4.0
(byte/word~) animate::$9 reg byte x 4.0
(label) animate::@1
(label) animate::@10
@ -33,8 +33,8 @@
(label) animate::@9
(label) animate::@return
(byte()) findcol((byte) findcol::x , (byte) findcol::y)
(byte/signed byte/word/signed word~) findcol::$10 reg byte a 20002.0
(byte/signed byte/word/signed word~) findcol::$12 reg byte a 20002.0
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$10 reg byte a 20002.0
(byte/signed byte/word/signed word/dword/signed dword~) findcol::$12 reg byte a 20002.0
(label) findcol::@1
(label) findcol::@12
(label) findcol::@14