1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-23 08:32:39 +00:00

Fixed tests

This commit is contained in:
jespergravgaard 2019-06-12 14:18:51 +02:00
parent 440da0eaee
commit befed70661
5 changed files with 3635 additions and 3836 deletions

View File

@ -36,53 +36,31 @@
.label SCREEN = $400 .label SCREEN = $400
// Distance value meaning not found // Distance value meaning not found
.const NOT_FOUND = $ffff .const NOT_FOUND = $ffff
.const NUM_PROCESSING = $10
.const RASTER_IRQ_TOP = $30 .const RASTER_IRQ_TOP = $30
.const RASTER_IRQ_MIDDLE = $ff .const RASTER_IRQ_MIDDLE = $ff
main: { main: {
.label sc = 2 .label src = 2
.label src = 4 .label dst = 4
.label dst = 6 .label center_dist = $f
.label center_dist = $11 ldy #0
ldx #0
// Init processing array // Init processing array
b1: b1:
txa tya
asl asl
asl asl
tay tax
lda #0 lda #0
sta PROCESSING,y sta PROCESSING,x
sta PROCESSING+OFFSET_STRUCT_PROCESSINGCHAR_Y,y sta PROCESSING+OFFSET_STRUCT_PROCESSINGCHAR_Y,x
lda #<NOT_FOUND lda #<NOT_FOUND
sta PROCESSING+OFFSET_STRUCT_PROCESSINGCHAR_DIST,y sta PROCESSING+OFFSET_STRUCT_PROCESSINGCHAR_DIST,x
lda #>NOT_FOUND lda #>NOT_FOUND
sta PROCESSING+OFFSET_STRUCT_PROCESSINGCHAR_DIST+1,y sta PROCESSING+OFFSET_STRUCT_PROCESSINGCHAR_DIST+1,x
inx iny
cpx #8 cpy #NUM_PROCESSING-1+1
bne b1 bne b1
jsr setupRasterIrq jsr setupRasterIrq
lda #<SCREEN
sta sc
lda #>SCREEN
sta sc+1
// Fill screen with some chars
b3:
lda sc
and #$1f
clc
adc #'a'
ldy #0
sta (sc),y
inc sc
bne !+
inc sc+1
!:
lda sc+1
cmp #>SCREEN+$3e7+1
bne b3
lda sc
cmp #<SCREEN+$3e7+1
bne b3
lda #<SCREEN_COPY lda #<SCREEN_COPY
sta dst sta dst
lda #>SCREEN_COPY lda #>SCREEN_COPY
@ -92,7 +70,7 @@ main: {
lda #>SCREEN lda #>SCREEN
sta src+1 sta src+1
// Copy screen to screen copy // Copy screen to screen copy
b4: b3:
ldy #0 ldy #0
lda (src),y lda (src),y
sta (dst),y sta (dst),y
@ -105,39 +83,39 @@ main: {
inc dst+1 inc dst+1
!: !:
lda src+1 lda src+1
cmp #>SCREEN+$3e7 cmp #>SCREEN+$3e8
bne b4 bne b3
lda src lda src
cmp #<SCREEN+$3e7 cmp #<SCREEN+$3e8
bne b4 bne b3
jsr initSquareTables jsr initSquareTables
b2: b2:
// Main loop // Main loop
jsr getCenterChar jsr getCharToProcess
ldx getCenterChar.return_x ldy getCharToProcess.return_x
ldy getCenterChar.return_y ldx getCharToProcess.return_y
lda center_dist+1 lda center_dist+1
cmp #>NOT_FOUND cmp #>NOT_FOUND
bne b7 bne b6
lda center_dist lda center_dist
cmp #<NOT_FOUND cmp #<NOT_FOUND
bne b7 bne b6
b8:
inc SCREEN+$3e7
jmp b8
b7: b7:
stx startProcessing.center_x inc SCREEN+$3e7
sty startProcessing.center_y jmp b7
b6:
sty startProcessing.center_x
stx startProcessing.center_y
jsr startProcessing jsr startProcessing
jmp b2 jmp b2
} }
// Start processing a char - by inserting it into the PROCESSING array // Start processing a char - by inserting it into the PROCESSING array
// startProcessing(byte zeropage($19) center_x, byte zeropage($1a) center_y, word zeropage($11) center_dist) // startProcessing(byte zeropage($17) center_x, byte zeropage($18) center_y, word zeropage($f) center_dist)
startProcessing: { startProcessing: {
.label center_x = $19 .label center_x = $17
.label center_y = $1a .label center_y = $18
.label center_dist = $11 .label center_dist = $f
.label freeIdx = 8 .label freeIdx = 6
lda #$ff lda #$ff
sta freeIdx sta freeIdx
b1: b1:
@ -174,29 +152,29 @@ startProcessing: {
jmp b1 jmp b1
b3: b3:
inx inx
cpx #8 cpx #NUM_PROCESSING-1+1
bne b2 bne b2
ldx freeIdx ldx freeIdx
jmp b4 jmp b4
} }
// Find the non-space char closest to the center of the screen // Find the non-space char closest to the center of the screen
// If no non-space char is found the distance will be 0xffff // If no non-space char is found the distance will be 0xffff
getCenterChar: { getCharToProcess: {
.label _9 = $1b .label _9 = $19
.label _10 = $1b .label _10 = $19
.label _11 = $1b .label _11 = $19
.label return_dist = $11 .label return_dist = $f
.label x = $c .label x = $a
.label dist = $11 .label dist = $f
.label screen_line = 9 .label screen_line = 7
.label y = $b .label y = 9
.label return_x = $f .label return_x = $d
.label return_y = $10 .label return_y = $e
.label closest_dist = $d .label closest_dist = $b
.label closest_x = $f .label closest_x = $d
.label closest_y = $10 .label closest_y = $e
.label _15 = $1d .label _15 = $1b
.label _16 = $1b .label _16 = $19
lda #0 lda #0
sta closest_y sta closest_y
sta closest_x sta closest_x
@ -336,10 +314,10 @@ getCenterChar: {
} }
// initialize SQUARES table // initialize SQUARES table
initSquareTables: { initSquareTables: {
.label _6 = $15 .label _6 = $13
.label _14 = $15 .label _14 = $13
.label x = $13 .label x = $11
.label y = $14 .label y = $12
lda #0 lda #0
sta x sta x
b1: b1:
@ -405,9 +383,9 @@ initSquareTables: {
// Perform binary multiplication of two unsigned 8-bit bytes into a 16-bit unsigned word // Perform binary multiplication of two unsigned 8-bit bytes into a 16-bit unsigned word
// mul8u(byte register(X) a, byte register(A) b) // mul8u(byte register(X) a, byte register(A) b)
mul8u: { mul8u: {
.label mb = $17 .label mb = $15
.label res = $15 .label res = $13
.label return = $15 .label return = $13
lda #0 lda #0
sta res sta res
sta res+1 sta res+1
@ -501,18 +479,18 @@ irqBottom: {
} }
// Process any chars in the PROCESSING array // Process any chars in the PROCESSING array
processChars: { processChars: {
.label _2 = $21 .label _3 = $1f
.label _3 = $21 .label _4 = $1f
.label _4 = $21 .label _5 = $1f
.label _6 = $25 .label _7 = $23
.label _7 = $25 .label _8 = $23
.label _8 = $25 .label _9 = $23
.label processing_x = $1f .label processing_x = $1d
.label processing_y = $20 .label processing_y = $1e
.label _21 = $23
.label _22 = $21 .label _22 = $21
.label _24 = $27 .label _23 = $1f
.label _25 = $25 .label _25 = $25
.label _26 = $23
ldx #0 ldx #0
b1: b1:
txa txa
@ -536,98 +514,98 @@ processChars: {
sta processing_x sta processing_x
lda PROCESSING+OFFSET_STRUCT_PROCESSINGCHAR_Y,y lda PROCESSING+OFFSET_STRUCT_PROCESSINGCHAR_Y,y
sta processing_y sta processing_y
sta _2 sta _3
lda #0 lda #0
sta _2+1 sta _3+1
lda _2 lda _3
asl asl
sta _21
lda _2+1
rol
sta _21+1
asl _21
rol _21+1
lda _22
clc
adc _21
sta _22 sta _22
lda _22+1 lda _3+1
adc _21+1 rol
sta _22+1 sta _22+1
asl _3 asl _22
rol _3+1 rol _22+1
asl _3 lda _23
rol _3+1
asl _3
rol _3+1
clc clc
lda _4 adc _22
sta _23
lda _23+1
adc _22+1
sta _23+1
asl _4
rol _4+1
asl _4
rol _4+1
asl _4
rol _4+1
clc
lda _5
adc #<COLS adc #<COLS
sta _4 sta _5
lda _4+1 lda _5+1
adc #>COLS adc #>COLS
sta _4+1 sta _5+1
lda #WHITE lda #WHITE
ldy processing_x ldy processing_x
sta (_4),y sta (_5),y
lda processing_y lda processing_y
sta _6 sta _7
lda #0 lda #0
sta _6+1 sta _7+1
lda _6 lda _7
asl asl
sta _24
lda _6+1
rol
sta _24+1
asl _24
rol _24+1
lda _25
clc
adc _24
sta _25 sta _25
lda _25+1 lda _7+1
adc _24+1 rol
sta _25+1 sta _25+1
asl _7 asl _25
rol _7+1 rol _25+1
asl _7 lda _26
rol _7+1
asl _7
rol _7+1
clc clc
lda _8 adc _25
sta _26
lda _26+1
adc _25+1
sta _26+1
asl _8
rol _8+1
asl _8
rol _8+1
asl _8
rol _8+1
clc
lda _9
adc #<SCREEN adc #<SCREEN
sta _8 sta _9
lda _8+1 lda _9+1
adc #>SCREEN adc #>SCREEN
sta _8+1 sta _9+1
lda (_8),y lda (_9),y
cmp #' ' cmp #' '
beq b3 beq b3
lda (_8),y lda (_9),y
cmp #' ' cmp #' '
beq !+ beq !+
bcs b4 bcs b4
!: !:
ldy processing_x ldy processing_x
lda (_8),y lda (_9),y
clc clc
adc #1 adc #1
sta (_8),y sta (_9),y
b2: b2:
inx inx
cpx #8 cpx #NUM_PROCESSING-1+1
beq !b1+ beq !b1+
jmp b1 jmp b1
!b1: !b1:
rts rts
b4: b4:
ldy processing_x ldy processing_x
lda (_8),y lda (_9),y
sec sec
sbc #1 sbc #1
sta (_8),y sta (_9),y
jmp b2 jmp b2
b3: b3:
txa txa
@ -682,9 +660,9 @@ irqTop: {
} }
// Copy of the screen used for finding chars to process // Copy of the screen used for finding chars to process
SCREEN_COPY: .fill $3e8, 0 SCREEN_COPY: .fill $3e8, 0
// Chars currently being processed in the interrupt
PROCESSING: .fill 4*8, 0
// SQUARES_X[i] = (i-20)*(i-20) // SQUARES_X[i] = (i-20)*(i-20)
SQUARES_X: .fill 2*$28, 0 SQUARES_X: .fill 2*$28, 0
// SQUARES_Y[i] = (i-12)*(i-12) // SQUARES_Y[i] = (i-12)*(i-12)
SQUARES_Y: .fill 2*$19, 0 SQUARES_Y: .fill 2*$19, 0
// Chars currently being processed in the interrupt
PROCESSING: .fill 4*NUM_PROCESSING, 0

View File

@ -12,348 +12,339 @@ main: scope:[main] from @1
to:main::@1 to:main::@1
main::@1: scope:[main] from main main::@1 main::@1: scope:[main] from main main::@1
[5] (byte) main::i#2 ← phi( main/(byte) 0 main::@1/(byte) main::i#1 ) [5] (byte) main::i#2 ← phi( main/(byte) 0 main::@1/(byte) main::i#1 )
[6] (byte~) main::$18 ← (byte) main::i#2 << (byte) 2 [6] (byte~) main::$14 ← (byte) main::i#2 << (byte) 2
[7] *((byte*)(const struct ProcessingChar[8]) PROCESSING#0 + (byte~) main::$18) ← (byte) 0 [7] *((byte*)(const struct ProcessingChar[NUM_PROCESSING#0]) PROCESSING#0 + (byte~) main::$14) ← (byte) 0
[8] *((byte*)(const struct ProcessingChar[8]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_Y + (byte~) main::$18) ← (byte) 0 [8] *((byte*)(const struct ProcessingChar[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_Y + (byte~) main::$14) ← (byte) 0
[9] *((word*)(const struct ProcessingChar[8]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_DIST + (byte~) main::$18) ← (const word) NOT_FOUND#0 [9] *((word*)(const struct ProcessingChar[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_DIST + (byte~) main::$14) ← (const word) NOT_FOUND#0
[10] (byte) main::i#1 ← ++ (byte) main::i#2 [10] (byte) main::i#1 ← ++ (byte) main::i#2
[11] if((byte) main::i#1!=(byte) 8) goto main::@1 [11] if((byte) main::i#1!=(const byte) NUM_PROCESSING#0-(byte) 1+(byte) 1) goto main::@1
to:main::@2 to:main::@2
main::@2: scope:[main] from main::@1 main::@2: scope:[main] from main::@1
[12] phi() [12] phi()
[13] call setupRasterIrq [13] call setupRasterIrq
to:main::@3 to:main::@3
main::@3: scope:[main] from main::@2 main::@3 main::@3: scope:[main] from main::@2 main::@3
[14] (byte*) main::sc#2 ← phi( main::@2/(const byte*) SCREEN#0 main::@3/(byte*) main::sc#1 ) [14] (byte*) main::dst#2 ← phi( main::@2/(const byte[$3e8]) SCREEN_COPY#0 main::@3/(byte*) main::dst#1 )
[15] (byte~) main::$5 ← < (byte*) main::sc#2 [14] (byte*) main::src#2 ← phi( main::@2/(const byte*) SCREEN#0 main::@3/(byte*) main::src#1 )
[16] (byte~) main::$6 ← (byte~) main::$5 & (byte) $1f [15] *((byte*) main::dst#2) ← *((byte*) main::src#2)
[17] (byte~) main::$7 ← (byte) 'a' + (byte~) main::$6 [16] (byte*) main::src#1 ← ++ (byte*) main::src#2
[18] *((byte*) main::sc#2) ← (byte~) main::$7 [17] (byte*) main::dst#1 ← ++ (byte*) main::dst#2
[19] (byte*) main::sc#1 ← ++ (byte*) main::sc#2 [18] if((byte*) main::src#1!=(const byte*) SCREEN#0+(word) $3e8) goto main::@3
[20] if((byte*) main::sc#1!=(const byte*) SCREEN#0+(word) $3e7+(byte) 1) goto main::@3
to:main::@4 to:main::@4
main::@4: scope:[main] from main::@3 main::@4 main::@4: scope:[main] from main::@3
[21] (byte*) main::dst#2 ← phi( main::@3/(const byte[$3e8]) SCREEN_COPY#0 main::@4/(byte*) main::dst#1 ) [19] phi()
[21] (byte*) main::src#2 ← phi( main::@3/(const byte*) SCREEN#0 main::@4/(byte*) main::src#1 ) [20] call initSquareTables
[22] *((byte*) main::dst#2) ← *((byte*) main::src#2)
[23] (byte*) main::src#1 ← ++ (byte*) main::src#2
[24] (byte*) main::dst#1 ← ++ (byte*) main::dst#2
[25] if((byte*) main::src#1!=(const byte*) SCREEN#0+(word) $3e7) goto main::@4
to:main::@5 to:main::@5
main::@5: scope:[main] from main::@4 main::@5: scope:[main] from main::@4 main::@6
[26] phi() [21] phi()
[27] call initSquareTables [22] call getCharToProcess
to:main::@6 [23] (byte) getCharToProcess::return_x#0 ← (byte) getCharToProcess::return_x#1
main::@6: scope:[main] from main::@5 main::@7 [24] (byte) getCharToProcess::return_y#0 ← (byte) getCharToProcess::return_y#1
[28] phi() [25] (word) getCharToProcess::return_dist#0 ← (word) getCharToProcess::return_dist#1
[29] call getCenterChar
[30] (byte) getCenterChar::return_x#0 ← (byte) getCenterChar::return_x#1
[31] (byte) getCenterChar::return_y#0 ← (byte) getCenterChar::return_y#1
[32] (word) getCenterChar::return_dist#0 ← (word) getCenterChar::return_dist#1
to:main::@9
main::@9: scope:[main] from main::@6
[33] (byte) main::center_x#0 ← (byte) getCenterChar::return_x#0
[34] (byte) main::center_y#0 ← (byte) getCenterChar::return_y#0
[35] (word) main::center_dist#0 ← (word) getCenterChar::return_dist#0
[36] if((word) main::center_dist#0!=(const word) NOT_FOUND#0) goto main::@7
to:main::@8 to:main::@8
main::@8: scope:[main] from main::@8 main::@9 main::@8: scope:[main] from main::@5
[37] *((const byte*) SCREEN#0+(word) $3e7) ← ++ *((const byte*) SCREEN#0+(word) $3e7) [26] (byte) main::center_x#0 ← (byte) getCharToProcess::return_x#0
to:main::@8 [27] (byte) main::center_y#0 ← (byte) getCharToProcess::return_y#0
main::@7: scope:[main] from main::@9 [28] (word) main::center_dist#0 ← (word) getCharToProcess::return_dist#0
[38] (byte) startProcessing::center_x#0 ← (byte) main::center_x#0 [29] if((word) main::center_dist#0!=(const word) NOT_FOUND#0) goto main::@6
[39] (byte) startProcessing::center_y#0 ← (byte) main::center_y#0 to:main::@7
[40] (word) startProcessing::center_dist#0 ← (word) main::center_dist#0 main::@7: scope:[main] from main::@7 main::@8
[41] call startProcessing [30] *((const byte*) SCREEN#0+(word) $3e7) ← ++ *((const byte*) SCREEN#0+(word) $3e7)
to:main::@6 to:main::@7
startProcessing: scope:[startProcessing] from main::@7 main::@6: scope:[main] from main::@8
[42] phi() [31] (byte) startProcessing::center_x#0 ← (byte) main::center_x#0
[32] (byte) startProcessing::center_y#0 ← (byte) main::center_y#0
[33] (word) startProcessing::center_dist#0 ← (word) main::center_dist#0
[34] call startProcessing
to:main::@5
startProcessing: scope:[startProcessing] from main::@6
[35] phi()
to:startProcessing::@1 to:startProcessing::@1
startProcessing::@1: scope:[startProcessing] from startProcessing startProcessing::@6 startProcessing::@1: scope:[startProcessing] from startProcessing startProcessing::@6
[43] (byte) startProcessing::freeIdx#6 ← phi( startProcessing/(byte) $ff startProcessing::@6/(byte~) startProcessing::freeIdx#7 ) [36] (byte) startProcessing::freeIdx#6 ← phi( startProcessing/(byte) $ff startProcessing::@6/(byte~) startProcessing::freeIdx#7 )
to:startProcessing::@2 to:startProcessing::@2
startProcessing::@2: scope:[startProcessing] from startProcessing::@1 startProcessing::@3 startProcessing::@2: scope:[startProcessing] from startProcessing::@1 startProcessing::@3
[44] (byte) startProcessing::i#2 ← phi( startProcessing::@1/(byte) 0 startProcessing::@3/(byte) startProcessing::i#1 ) [37] (byte) startProcessing::i#2 ← phi( startProcessing::@1/(byte) 0 startProcessing::@3/(byte) startProcessing::i#1 )
[45] (byte~) startProcessing::$4 ← (byte) startProcessing::i#2 << (byte) 2 [38] (byte~) startProcessing::$5 ← (byte) startProcessing::i#2 << (byte) 2
[46] if(*((word*)(const struct ProcessingChar[8]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_DIST + (byte~) startProcessing::$4)!=(const word) NOT_FOUND#0) goto startProcessing::@3 [39] if(*((word*)(const struct ProcessingChar[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_DIST + (byte~) startProcessing::$5)!=(const word) NOT_FOUND#0) goto startProcessing::@3
to:startProcessing::@4 to:startProcessing::@4
startProcessing::@4: scope:[startProcessing] from startProcessing::@2 startProcessing::@7 startProcessing::@4: scope:[startProcessing] from startProcessing::@2 startProcessing::@7
[47] (byte) startProcessing::freeIdx#2 ← phi( startProcessing::@7/(byte~) startProcessing::freeIdx#8 startProcessing::@2/(byte) startProcessing::i#2 ) [40] (byte) startProcessing::freeIdx#2 ← phi( startProcessing::@7/(byte~) startProcessing::freeIdx#8 startProcessing::@2/(byte) startProcessing::i#2 )
[48] if((byte) startProcessing::freeIdx#2==(byte) $ff) goto startProcessing::@6 [41] if((byte) startProcessing::freeIdx#2==(byte) $ff) goto startProcessing::@6
to:startProcessing::@5 to:startProcessing::@5
startProcessing::@5: scope:[startProcessing] from startProcessing::@4 startProcessing::@5: scope:[startProcessing] from startProcessing::@4
[49] (byte~) startProcessing::$5 ← (byte) startProcessing::freeIdx#2 << (byte) 2 [42] (byte~) startProcessing::$6 ← (byte) startProcessing::freeIdx#2 << (byte) 2
[50] *((byte*)(const struct ProcessingChar[8]) PROCESSING#0 + (byte~) startProcessing::$5) ← (byte) startProcessing::center_x#0 [43] *((byte*)(const struct ProcessingChar[NUM_PROCESSING#0]) PROCESSING#0 + (byte~) startProcessing::$6) ← (byte) startProcessing::center_x#0
[51] *((byte*)(const struct ProcessingChar[8]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_Y + (byte~) startProcessing::$5) ← (byte) startProcessing::center_y#0 [44] *((byte*)(const struct ProcessingChar[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_Y + (byte~) startProcessing::$6) ← (byte) startProcessing::center_y#0
[52] *((word*)(const struct ProcessingChar[8]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_DIST + (byte~) startProcessing::$5) ← (word) startProcessing::center_dist#0 [45] *((word*)(const struct ProcessingChar[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_DIST + (byte~) startProcessing::$6) ← (word) startProcessing::center_dist#0
to:startProcessing::@return to:startProcessing::@return
startProcessing::@return: scope:[startProcessing] from startProcessing::@5 startProcessing::@return: scope:[startProcessing] from startProcessing::@5
[53] return [46] return
to:@return to:@return
startProcessing::@6: scope:[startProcessing] from startProcessing::@4 startProcessing::@6: scope:[startProcessing] from startProcessing::@4
[54] (byte~) startProcessing::freeIdx#7 ← (byte) startProcessing::freeIdx#2 [47] (byte~) startProcessing::freeIdx#7 ← (byte) startProcessing::freeIdx#2
to:startProcessing::@1 to:startProcessing::@1
startProcessing::@3: scope:[startProcessing] from startProcessing::@2 startProcessing::@3: scope:[startProcessing] from startProcessing::@2
[55] (byte) startProcessing::i#1 ← ++ (byte) startProcessing::i#2 [48] (byte) startProcessing::i#1 ← ++ (byte) startProcessing::i#2
[56] if((byte) startProcessing::i#1!=(byte) 8) goto startProcessing::@2 [49] if((byte) startProcessing::i#1!=(const byte) NUM_PROCESSING#0-(byte) 1+(byte) 1) goto startProcessing::@2
to:startProcessing::@7 to:startProcessing::@7
startProcessing::@7: scope:[startProcessing] from startProcessing::@3 startProcessing::@7: scope:[startProcessing] from startProcessing::@3
[57] (byte~) startProcessing::freeIdx#8 ← (byte) startProcessing::freeIdx#6 [50] (byte~) startProcessing::freeIdx#8 ← (byte) startProcessing::freeIdx#6
to:startProcessing::@4 to:startProcessing::@4
getCenterChar: scope:[getCenterChar] from main::@6 getCharToProcess: scope:[getCharToProcess] from main::@5
[58] phi() [51] phi()
to:getCenterChar::@1 to:getCharToProcess::@1
getCenterChar::@1: scope:[getCenterChar] from getCenterChar getCenterChar::@9 getCharToProcess::@1: scope:[getCharToProcess] from getCharToProcess getCharToProcess::@9
[59] (byte) getCenterChar::closest_y#9 ← phi( getCenterChar/(byte) 0 getCenterChar::@9/(byte) getCenterChar::return_y#1 ) [52] (byte) getCharToProcess::closest_y#9 ← phi( getCharToProcess/(byte) 0 getCharToProcess::@9/(byte) getCharToProcess::return_y#1 )
[59] (byte) getCenterChar::closest_x#9 ← phi( getCenterChar/(byte) 0 getCenterChar::@9/(byte) getCenterChar::return_x#1 ) [52] (byte) getCharToProcess::closest_x#9 ← phi( getCharToProcess/(byte) 0 getCharToProcess::@9/(byte) getCharToProcess::return_x#1 )
[59] (word) getCenterChar::closest_dist#8 ← phi( getCenterChar/(const word) NOT_FOUND#0 getCenterChar::@9/(word~) getCenterChar::closest_dist#10 ) [52] (word) getCharToProcess::closest_dist#8 ← phi( getCharToProcess/(const word) NOT_FOUND#0 getCharToProcess::@9/(word~) getCharToProcess::closest_dist#10 )
[59] (byte) getCenterChar::y#7 ← phi( getCenterChar/(byte) 0 getCenterChar::@9/(byte) getCenterChar::y#1 ) [52] (byte) getCharToProcess::y#7 ← phi( getCharToProcess/(byte) 0 getCharToProcess::@9/(byte) getCharToProcess::y#1 )
[59] (byte*) getCenterChar::screen_line#4 ← phi( getCenterChar/(const byte[$3e8]) SCREEN_COPY#0 getCenterChar::@9/(byte*) getCenterChar::screen_line#1 ) [52] (byte*) getCharToProcess::screen_line#4 ← phi( getCharToProcess/(const byte[$3e8]) SCREEN_COPY#0 getCharToProcess::@9/(byte*) getCharToProcess::screen_line#1 )
to:getCenterChar::@2 to:getCharToProcess::@2
getCenterChar::@2: scope:[getCenterChar] from getCenterChar::@1 getCenterChar::@10 getCharToProcess::@2: scope:[getCharToProcess] from getCharToProcess::@1 getCharToProcess::@10
[60] (byte) getCenterChar::closest_y#7 ← phi( getCenterChar::@1/(byte) getCenterChar::closest_y#9 getCenterChar::@10/(byte) getCenterChar::return_y#1 ) [53] (byte) getCharToProcess::closest_y#7 ← phi( getCharToProcess::@1/(byte) getCharToProcess::closest_y#9 getCharToProcess::@10/(byte) getCharToProcess::return_y#1 )
[60] (byte) getCenterChar::closest_x#7 ← phi( getCenterChar::@1/(byte) getCenterChar::closest_x#9 getCenterChar::@10/(byte) getCenterChar::return_x#1 ) [53] (byte) getCharToProcess::closest_x#7 ← phi( getCharToProcess::@1/(byte) getCharToProcess::closest_x#9 getCharToProcess::@10/(byte) getCharToProcess::return_x#1 )
[60] (word) getCenterChar::closest_dist#2 ← phi( getCenterChar::@1/(word) getCenterChar::closest_dist#8 getCenterChar::@10/(word~) getCenterChar::closest_dist#12 ) [53] (word) getCharToProcess::closest_dist#2 ← phi( getCharToProcess::@1/(word) getCharToProcess::closest_dist#8 getCharToProcess::@10/(word~) getCharToProcess::closest_dist#12 )
[60] (byte) getCenterChar::x#2 ← phi( getCenterChar::@1/(byte) 0 getCenterChar::@10/(byte) getCenterChar::x#1 ) [53] (byte) getCharToProcess::x#2 ← phi( getCharToProcess::@1/(byte) 0 getCharToProcess::@10/(byte) getCharToProcess::x#1 )
[61] if(*((byte*) getCenterChar::screen_line#4 + (byte) getCenterChar::x#2)==(byte) ' ') goto getCenterChar::@11 [54] if(*((byte*) getCharToProcess::screen_line#4 + (byte) getCharToProcess::x#2)==(byte) ' ') goto getCharToProcess::@11
to:getCenterChar::@4 to:getCharToProcess::@4
getCenterChar::@4: scope:[getCenterChar] from getCenterChar::@2 getCharToProcess::@4: scope:[getCharToProcess] from getCharToProcess::@2
[62] (byte~) getCenterChar::$13 ← (byte) getCenterChar::x#2 << (byte) 1 [55] (byte~) getCharToProcess::$13 ← (byte) getCharToProcess::x#2 << (byte) 1
[63] (byte~) getCenterChar::$14 ← (byte) getCenterChar::y#7 << (byte) 1 [56] (byte~) getCharToProcess::$14 ← (byte) getCharToProcess::y#7 << (byte) 1
[64] (word) getCenterChar::dist#0 ← *((const word[$28]) SQUARES_X#0 + (byte~) getCenterChar::$13) + *((const word[$19]) SQUARES_Y#0 + (byte~) getCenterChar::$14) [57] (word) getCharToProcess::dist#0 ← *((const word[$28]) SQUARES_X#0 + (byte~) getCharToProcess::$13) + *((const word[$19]) SQUARES_Y#0 + (byte~) getCharToProcess::$14)
[65] if((word) getCenterChar::dist#0>=(word) getCenterChar::closest_dist#2) goto getCenterChar::@12 [58] if((word) getCharToProcess::dist#0>=(word) getCharToProcess::closest_dist#2) goto getCharToProcess::@12
to:getCenterChar::@5 to:getCharToProcess::@5
getCenterChar::@5: scope:[getCenterChar] from getCenterChar::@4 getCharToProcess::@5: scope:[getCharToProcess] from getCharToProcess::@4
[66] (byte~) getCenterChar::return_x#7 ← (byte) getCenterChar::x#2 [59] (byte~) getCharToProcess::return_x#7 ← (byte) getCharToProcess::x#2
[67] (byte~) getCenterChar::return_y#7 ← (byte) getCenterChar::y#7 [60] (byte~) getCharToProcess::return_y#7 ← (byte) getCharToProcess::y#7
to:getCenterChar::@3 to:getCharToProcess::@3
getCenterChar::@3: scope:[getCenterChar] from getCenterChar::@11 getCenterChar::@12 getCenterChar::@5 getCharToProcess::@3: scope:[getCharToProcess] from getCharToProcess::@11 getCharToProcess::@12 getCharToProcess::@5
[68] (byte) getCenterChar::return_y#1 ← phi( getCenterChar::@11/(byte) getCenterChar::closest_y#7 getCenterChar::@12/(byte) getCenterChar::closest_y#7 getCenterChar::@5/(byte~) getCenterChar::return_y#7 ) [61] (byte) getCharToProcess::return_y#1 ← phi( getCharToProcess::@11/(byte) getCharToProcess::closest_y#7 getCharToProcess::@12/(byte) getCharToProcess::closest_y#7 getCharToProcess::@5/(byte~) getCharToProcess::return_y#7 )
[68] (byte) getCenterChar::return_x#1 ← phi( getCenterChar::@11/(byte) getCenterChar::closest_x#7 getCenterChar::@12/(byte) getCenterChar::closest_x#7 getCenterChar::@5/(byte~) getCenterChar::return_x#7 ) [61] (byte) getCharToProcess::return_x#1 ← phi( getCharToProcess::@11/(byte) getCharToProcess::closest_x#7 getCharToProcess::@12/(byte) getCharToProcess::closest_x#7 getCharToProcess::@5/(byte~) getCharToProcess::return_x#7 )
[68] (word) getCenterChar::return_dist#1 ← phi( getCenterChar::@11/(word~) getCenterChar::return_dist#5 getCenterChar::@12/(word~) getCenterChar::return_dist#6 getCenterChar::@5/(word) getCenterChar::dist#0 ) [61] (word) getCharToProcess::return_dist#1 ← phi( getCharToProcess::@11/(word~) getCharToProcess::return_dist#5 getCharToProcess::@12/(word~) getCharToProcess::return_dist#6 getCharToProcess::@5/(word) getCharToProcess::dist#0 )
[69] (byte) getCenterChar::x#1 ← ++ (byte) getCenterChar::x#2 [62] (byte) getCharToProcess::x#1 ← ++ (byte) getCharToProcess::x#2
[70] if((byte) getCenterChar::x#1!=(byte) $28) goto getCenterChar::@10 [63] if((byte) getCharToProcess::x#1!=(byte) $28) goto getCharToProcess::@10
to:getCenterChar::@6 to:getCharToProcess::@6
getCenterChar::@6: scope:[getCenterChar] from getCenterChar::@3 getCharToProcess::@6: scope:[getCharToProcess] from getCharToProcess::@3
[71] (byte*) getCenterChar::screen_line#1 ← (byte*) getCenterChar::screen_line#4 + (byte) $28 [64] (byte*) getCharToProcess::screen_line#1 ← (byte*) getCharToProcess::screen_line#4 + (byte) $28
[72] (byte) getCenterChar::y#1 ← ++ (byte) getCenterChar::y#7 [65] (byte) getCharToProcess::y#1 ← ++ (byte) getCharToProcess::y#7
[73] if((byte) getCenterChar::y#1!=(byte) $19) goto getCenterChar::@9 [66] if((byte) getCharToProcess::y#1!=(byte) $19) goto getCharToProcess::@9
to:getCenterChar::@7 to:getCharToProcess::@7
getCenterChar::@7: scope:[getCenterChar] from getCenterChar::@6 getCharToProcess::@7: scope:[getCharToProcess] from getCharToProcess::@6
[74] if((word) getCenterChar::return_dist#1==(const word) NOT_FOUND#0) goto getCenterChar::@return [67] if((word) getCharToProcess::return_dist#1==(const word) NOT_FOUND#0) goto getCharToProcess::@return
to:getCenterChar::@8 to:getCharToProcess::@8
getCenterChar::@8: scope:[getCenterChar] from getCenterChar::@7 getCharToProcess::@8: scope:[getCharToProcess] from getCharToProcess::@7
[75] (word~) getCenterChar::$9 ← (word)(byte) getCenterChar::return_y#1 [68] (word~) getCharToProcess::$9 ← (word)(byte) getCharToProcess::return_y#1
[76] (word) getCenterChar::$15 ← (word~) getCenterChar::$9 << (byte) 2 [69] (word) getCharToProcess::$15 ← (word~) getCharToProcess::$9 << (byte) 2
[77] (word) getCenterChar::$16 ← (word) getCenterChar::$15 + (word~) getCenterChar::$9 [70] (word) getCharToProcess::$16 ← (word) getCharToProcess::$15 + (word~) getCharToProcess::$9
[78] (word~) getCenterChar::$10 ← (word) getCenterChar::$16 << (byte) 3 [71] (word~) getCharToProcess::$10 ← (word) getCharToProcess::$16 << (byte) 3
[79] (byte*~) getCenterChar::$11 ← (const byte[$3e8]) SCREEN_COPY#0 + (word~) getCenterChar::$10 [72] (byte*~) getCharToProcess::$11 ← (const byte[$3e8]) SCREEN_COPY#0 + (word~) getCharToProcess::$10
[80] *((byte*~) getCenterChar::$11 + (byte) getCenterChar::return_x#1) ← (byte) ' ' [73] *((byte*~) getCharToProcess::$11 + (byte) getCharToProcess::return_x#1) ← (byte) ' '
to:getCenterChar::@return to:getCharToProcess::@return
getCenterChar::@return: scope:[getCenterChar] from getCenterChar::@7 getCenterChar::@8 getCharToProcess::@return: scope:[getCharToProcess] from getCharToProcess::@7 getCharToProcess::@8
[81] return [74] return
to:@return to:@return
getCenterChar::@9: scope:[getCenterChar] from getCenterChar::@6 getCharToProcess::@9: scope:[getCharToProcess] from getCharToProcess::@6
[82] (word~) getCenterChar::closest_dist#10 ← (word) getCenterChar::return_dist#1 [75] (word~) getCharToProcess::closest_dist#10 ← (word) getCharToProcess::return_dist#1
to:getCenterChar::@1 to:getCharToProcess::@1
getCenterChar::@10: scope:[getCenterChar] from getCenterChar::@3 getCharToProcess::@10: scope:[getCharToProcess] from getCharToProcess::@3
[83] (word~) getCenterChar::closest_dist#12 ← (word) getCenterChar::return_dist#1 [76] (word~) getCharToProcess::closest_dist#12 ← (word) getCharToProcess::return_dist#1
to:getCenterChar::@2 to:getCharToProcess::@2
getCenterChar::@12: scope:[getCenterChar] from getCenterChar::@4 getCharToProcess::@12: scope:[getCharToProcess] from getCharToProcess::@4
[84] (word~) getCenterChar::return_dist#6 ← (word) getCenterChar::closest_dist#2 [77] (word~) getCharToProcess::return_dist#6 ← (word) getCharToProcess::closest_dist#2
to:getCenterChar::@3 to:getCharToProcess::@3
getCenterChar::@11: scope:[getCenterChar] from getCenterChar::@2 getCharToProcess::@11: scope:[getCharToProcess] from getCharToProcess::@2
[85] (word~) getCenterChar::return_dist#5 ← (word) getCenterChar::closest_dist#2 [78] (word~) getCharToProcess::return_dist#5 ← (word) getCharToProcess::closest_dist#2
to:getCenterChar::@3 to:getCharToProcess::@3
initSquareTables: scope:[initSquareTables] from main::@5 initSquareTables: scope:[initSquareTables] from main::@4
[86] phi() [79] phi()
to:initSquareTables::@1 to:initSquareTables::@1
initSquareTables::@1: scope:[initSquareTables] from initSquareTables initSquareTables::@9 initSquareTables::@1: scope:[initSquareTables] from initSquareTables initSquareTables::@9
[87] (byte) initSquareTables::x#2 ← phi( initSquareTables/(byte) 0 initSquareTables::@9/(byte) initSquareTables::x#1 ) [80] (byte) initSquareTables::x#2 ← phi( initSquareTables/(byte) 0 initSquareTables::@9/(byte) initSquareTables::x#1 )
[88] if((byte) initSquareTables::x#2<(byte) $14) goto initSquareTables::@2 [81] if((byte) initSquareTables::x#2<(byte) $14) goto initSquareTables::@2
to:initSquareTables::@3 to:initSquareTables::@3
initSquareTables::@3: scope:[initSquareTables] from initSquareTables::@1 initSquareTables::@3: scope:[initSquareTables] from initSquareTables::@1
[89] (byte~) initSquareTables::$2 ← (byte) initSquareTables::x#2 - (byte) $14 [82] (byte~) initSquareTables::$2 ← (byte) initSquareTables::x#2 - (byte) $14
to:initSquareTables::@4 to:initSquareTables::@4
initSquareTables::@4: scope:[initSquareTables] from initSquareTables::@2 initSquareTables::@3 initSquareTables::@4: scope:[initSquareTables] from initSquareTables::@2 initSquareTables::@3
[90] (byte) initSquareTables::x_dist#0 ← phi( initSquareTables::@2/(byte~) initSquareTables::$4 initSquareTables::@3/(byte~) initSquareTables::$2 ) [83] (byte) initSquareTables::x_dist#0 ← phi( initSquareTables::@2/(byte~) initSquareTables::$4 initSquareTables::@3/(byte~) initSquareTables::$2 )
[91] (byte) mul8u::a#1 ← (byte) initSquareTables::x_dist#0 [84] (byte) mul8u::a#1 ← (byte) initSquareTables::x_dist#0
[92] (byte) mul8u::b#0 ← (byte) initSquareTables::x_dist#0 [85] (byte) mul8u::b#0 ← (byte) initSquareTables::x_dist#0
[93] call mul8u [86] call mul8u
[94] (word) mul8u::return#2 ← (word) mul8u::res#2 [87] (word) mul8u::return#2 ← (word) mul8u::res#2
to:initSquareTables::@9 to:initSquareTables::@9
initSquareTables::@9: scope:[initSquareTables] from initSquareTables::@4 initSquareTables::@9: scope:[initSquareTables] from initSquareTables::@4
[95] (word~) initSquareTables::$6 ← (word) mul8u::return#2 [88] (word~) initSquareTables::$6 ← (word) mul8u::return#2
[96] (byte~) initSquareTables::$16 ← (byte) initSquareTables::x#2 << (byte) 1 [89] (byte~) initSquareTables::$16 ← (byte) initSquareTables::x#2 << (byte) 1
[97] *((const word[$28]) SQUARES_X#0 + (byte~) initSquareTables::$16) ← (word~) initSquareTables::$6 [90] *((const word[$28]) SQUARES_X#0 + (byte~) initSquareTables::$16) ← (word~) initSquareTables::$6
[98] (byte) initSquareTables::x#1 ← ++ (byte) initSquareTables::x#2 [91] (byte) initSquareTables::x#1 ← ++ (byte) initSquareTables::x#2
[99] if((byte) initSquareTables::x#1!=(byte) $28) goto initSquareTables::@1 [92] if((byte) initSquareTables::x#1!=(byte) $28) goto initSquareTables::@1
to:initSquareTables::@5 to:initSquareTables::@5
initSquareTables::@5: scope:[initSquareTables] from initSquareTables::@10 initSquareTables::@9 initSquareTables::@5: scope:[initSquareTables] from initSquareTables::@10 initSquareTables::@9
[100] (byte) initSquareTables::y#2 ← phi( initSquareTables::@10/(byte) initSquareTables::y#1 initSquareTables::@9/(byte) 0 ) [93] (byte) initSquareTables::y#2 ← phi( initSquareTables::@10/(byte) initSquareTables::y#1 initSquareTables::@9/(byte) 0 )
[101] if((byte) initSquareTables::y#2<(byte) $c) goto initSquareTables::@6 [94] if((byte) initSquareTables::y#2<(byte) $c) goto initSquareTables::@6
to:initSquareTables::@7 to:initSquareTables::@7
initSquareTables::@7: scope:[initSquareTables] from initSquareTables::@5 initSquareTables::@7: scope:[initSquareTables] from initSquareTables::@5
[102] (byte~) initSquareTables::$10 ← (byte) initSquareTables::y#2 - (byte) $c [95] (byte~) initSquareTables::$10 ← (byte) initSquareTables::y#2 - (byte) $c
to:initSquareTables::@8 to:initSquareTables::@8
initSquareTables::@8: scope:[initSquareTables] from initSquareTables::@6 initSquareTables::@7 initSquareTables::@8: scope:[initSquareTables] from initSquareTables::@6 initSquareTables::@7
[103] (byte) initSquareTables::y_dist#0 ← phi( initSquareTables::@6/(byte~) initSquareTables::$12 initSquareTables::@7/(byte~) initSquareTables::$10 ) [96] (byte) initSquareTables::y_dist#0 ← phi( initSquareTables::@6/(byte~) initSquareTables::$12 initSquareTables::@7/(byte~) initSquareTables::$10 )
[104] (byte) mul8u::a#2 ← (byte) initSquareTables::y_dist#0 [97] (byte) mul8u::a#2 ← (byte) initSquareTables::y_dist#0
[105] (byte) mul8u::b#1 ← (byte) initSquareTables::y_dist#0 [98] (byte) mul8u::b#1 ← (byte) initSquareTables::y_dist#0
[106] call mul8u [99] call mul8u
[107] (word) mul8u::return#3 ← (word) mul8u::res#2 [100] (word) mul8u::return#3 ← (word) mul8u::res#2
to:initSquareTables::@10 to:initSquareTables::@10
initSquareTables::@10: scope:[initSquareTables] from initSquareTables::@8 initSquareTables::@10: scope:[initSquareTables] from initSquareTables::@8
[108] (word~) initSquareTables::$14 ← (word) mul8u::return#3 [101] (word~) initSquareTables::$14 ← (word) mul8u::return#3
[109] (byte~) initSquareTables::$17 ← (byte) initSquareTables::y#2 << (byte) 1 [102] (byte~) initSquareTables::$17 ← (byte) initSquareTables::y#2 << (byte) 1
[110] *((const word[$19]) SQUARES_Y#0 + (byte~) initSquareTables::$17) ← (word~) initSquareTables::$14 [103] *((const word[$19]) SQUARES_Y#0 + (byte~) initSquareTables::$17) ← (word~) initSquareTables::$14
[111] (byte) initSquareTables::y#1 ← ++ (byte) initSquareTables::y#2 [104] (byte) initSquareTables::y#1 ← ++ (byte) initSquareTables::y#2
[112] if((byte) initSquareTables::y#1!=(byte) $19) goto initSquareTables::@5 [105] if((byte) initSquareTables::y#1!=(byte) $19) goto initSquareTables::@5
to:initSquareTables::@return to:initSquareTables::@return
initSquareTables::@return: scope:[initSquareTables] from initSquareTables::@10 initSquareTables::@return: scope:[initSquareTables] from initSquareTables::@10
[113] return [106] return
to:@return to:@return
initSquareTables::@6: scope:[initSquareTables] from initSquareTables::@5 initSquareTables::@6: scope:[initSquareTables] from initSquareTables::@5
[114] (byte~) initSquareTables::$12 ← (byte) $c - (byte) initSquareTables::y#2 [107] (byte~) initSquareTables::$12 ← (byte) $c - (byte) initSquareTables::y#2
to:initSquareTables::@8 to:initSquareTables::@8
initSquareTables::@2: scope:[initSquareTables] from initSquareTables::@1 initSquareTables::@2: scope:[initSquareTables] from initSquareTables::@1
[115] (byte~) initSquareTables::$4 ← (byte) $14 - (byte) initSquareTables::x#2 [108] (byte~) initSquareTables::$4 ← (byte) $14 - (byte) initSquareTables::x#2
to:initSquareTables::@4 to:initSquareTables::@4
mul8u: scope:[mul8u] from initSquareTables::@4 initSquareTables::@8 mul8u: scope:[mul8u] from initSquareTables::@4 initSquareTables::@8
[116] (byte) mul8u::a#6 ← phi( initSquareTables::@8/(byte) mul8u::a#2 initSquareTables::@4/(byte) mul8u::a#1 ) [109] (byte) mul8u::a#6 ← phi( initSquareTables::@8/(byte) mul8u::a#2 initSquareTables::@4/(byte) mul8u::a#1 )
[116] (word) mul8u::mb#0 ← phi( initSquareTables::@8/(byte) mul8u::b#1 initSquareTables::@4/(byte) mul8u::b#0 ) [109] (word) mul8u::mb#0 ← phi( initSquareTables::@8/(byte) mul8u::b#1 initSquareTables::@4/(byte) mul8u::b#0 )
to:mul8u::@1 to:mul8u::@1
mul8u::@1: scope:[mul8u] from mul8u mul8u::@3 mul8u::@1: scope:[mul8u] from mul8u mul8u::@3
[117] (word) mul8u::mb#2 ← phi( mul8u/(word) mul8u::mb#0 mul8u::@3/(word) mul8u::mb#1 ) [110] (word) mul8u::mb#2 ← phi( mul8u/(word) mul8u::mb#0 mul8u::@3/(word) mul8u::mb#1 )
[117] (word) mul8u::res#2 ← phi( mul8u/(byte) 0 mul8u::@3/(word) mul8u::res#6 ) [110] (word) mul8u::res#2 ← phi( mul8u/(byte) 0 mul8u::@3/(word) mul8u::res#6 )
[117] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@3/(byte) mul8u::a#0 ) [110] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@3/(byte) mul8u::a#0 )
[118] if((byte) mul8u::a#3!=(byte) 0) goto mul8u::@2 [111] if((byte) mul8u::a#3!=(byte) 0) goto mul8u::@2
to:mul8u::@return to:mul8u::@return
mul8u::@return: scope:[mul8u] from mul8u::@1 mul8u::@return: scope:[mul8u] from mul8u::@1
[119] return [112] return
to:@return to:@return
mul8u::@2: scope:[mul8u] from mul8u::@1 mul8u::@2: scope:[mul8u] from mul8u::@1
[120] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte) 1 [113] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte) 1
[121] if((byte~) mul8u::$1==(byte) 0) goto mul8u::@3 [114] if((byte~) mul8u::$1==(byte) 0) goto mul8u::@3
to:mul8u::@4 to:mul8u::@4
mul8u::@4: scope:[mul8u] from mul8u::@2 mul8u::@4: scope:[mul8u] from mul8u::@2
[122] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [115] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2
to:mul8u::@3 to:mul8u::@3
mul8u::@3: scope:[mul8u] from mul8u::@2 mul8u::@4 mul8u::@3: scope:[mul8u] from mul8u::@2 mul8u::@4
[123] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@4/(word) mul8u::res#1 ) [116] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@4/(word) mul8u::res#1 )
[124] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte) 1 [117] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte) 1
[125] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte) 1 [118] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte) 1
to:mul8u::@1 to:mul8u::@1
setupRasterIrq: scope:[setupRasterIrq] from main::@2 setupRasterIrq: scope:[setupRasterIrq] from main::@2
asm { sei } asm { sei }
[127] *((const byte*) PROCPORT_DDR#0) ← (const byte) PROCPORT_DDR_MEMORY_MASK#0 [120] *((const byte*) PROCPORT_DDR#0) ← (const byte) PROCPORT_DDR_MEMORY_MASK#0
[128] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0 [121] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0
[129] *((const byte*) CIA1_INTERRUPT#0) ← (const byte) CIA_INTERRUPT_CLEAR#0 [122] *((const byte*) CIA1_INTERRUPT#0) ← (const byte) CIA_INTERRUPT_CLEAR#0
to:setupRasterIrq::@1 to:setupRasterIrq::@1
setupRasterIrq::@1: scope:[setupRasterIrq] from setupRasterIrq setupRasterIrq::@1: scope:[setupRasterIrq] from setupRasterIrq
[130] *((const byte*) VIC_CONTROL#0) ← *((const byte*) VIC_CONTROL#0) & (byte) $7f [123] *((const byte*) VIC_CONTROL#0) ← *((const byte*) VIC_CONTROL#0) & (byte) $7f
to:setupRasterIrq::@2 to:setupRasterIrq::@2
setupRasterIrq::@2: scope:[setupRasterIrq] from setupRasterIrq::@1 setupRasterIrq::@2: scope:[setupRasterIrq] from setupRasterIrq::@1
[131] *((const byte*) RASTER#0) ← <(const byte) RASTER_IRQ_TOP#0 [124] *((const byte*) RASTER#0) ← <(const byte) RASTER_IRQ_TOP#0
[132] *((const byte*) IRQ_ENABLE#0) ← (const byte) IRQ_RASTER#0 [125] *((const byte*) IRQ_ENABLE#0) ← (const byte) IRQ_RASTER#0
[133] *((const void()**) HARDWARE_IRQ#0) ← (const void()*) setupRasterIrq::irqRoutine#0 [126] *((const void()**) HARDWARE_IRQ#0) ← (const void()*) setupRasterIrq::irqRoutine#0
asm { cli } asm { cli }
to:setupRasterIrq::@return to:setupRasterIrq::@return
setupRasterIrq::@return: scope:[setupRasterIrq] from setupRasterIrq::@2 setupRasterIrq::@return: scope:[setupRasterIrq] from setupRasterIrq::@2
[135] return [128] return
to:@return to:@return
irqBottom: scope:[irqBottom] from irqBottom: scope:[irqBottom] from
[136] phi() [129] phi()
to:irqBottom::@1 to:irqBottom::@1
irqBottom::@1: scope:[irqBottom] from irqBottom irqBottom::@1 irqBottom::@1: scope:[irqBottom] from irqBottom irqBottom::@1
[137] (byte) irqBottom::i#2 ← phi( irqBottom/(byte) 0 irqBottom::@1/(byte) irqBottom::i#1 ) [130] (byte) irqBottom::i#2 ← phi( irqBottom/(byte) 0 irqBottom::@1/(byte) irqBottom::i#1 )
[138] (byte) irqBottom::i#1 ← ++ (byte) irqBottom::i#2 [131] (byte) irqBottom::i#1 ← ++ (byte) irqBottom::i#2
[139] if((byte) irqBottom::i#1!=(byte) 5) goto irqBottom::@1 [132] if((byte) irqBottom::i#1!=(byte) 5) goto irqBottom::@1
to:irqBottom::@2 to:irqBottom::@2
irqBottom::@2: scope:[irqBottom] from irqBottom::@1 irqBottom::@2: scope:[irqBottom] from irqBottom::@1
[140] *((const byte*) BORDERCOL#0) ← (const byte) WHITE#0 [133] *((const byte*) BORDERCOL#0) ← (const byte) WHITE#0
[141] *((const byte*) BGCOL#0) ← (const byte) WHITE#0 [134] *((const byte*) BGCOL#0) ← (const byte) WHITE#0
[142] call processChars [135] call processChars
to:irqBottom::@3 to:irqBottom::@3
irqBottom::@3: scope:[irqBottom] from irqBottom::@2 irqBottom::@3: scope:[irqBottom] from irqBottom::@2
[143] *((const byte*) BORDERCOL#0) ← (const byte) LIGHT_BLUE#0 [136] *((const byte*) BORDERCOL#0) ← (const byte) LIGHT_BLUE#0
[144] *((const byte*) BGCOL#0) ← (const byte) BLUE#0 [137] *((const byte*) BGCOL#0) ← (const byte) BLUE#0
[145] *((const byte*) RASTER#0) ← (const byte) RASTER_IRQ_TOP#0 [138] *((const byte*) RASTER#0) ← (const byte) RASTER_IRQ_TOP#0
[146] *((const void()**) HARDWARE_IRQ#0) ← &interrupt(HARDWARE_ALL)(void()) irqTop() [139] *((const void()**) HARDWARE_IRQ#0) ← &interrupt(HARDWARE_ALL)(void()) irqTop()
[147] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0 [140] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
to:irqBottom::@return to:irqBottom::@return
irqBottom::@return: scope:[irqBottom] from irqBottom::@3 irqBottom::@return: scope:[irqBottom] from irqBottom::@3
[148] return [141] return
to:@return to:@return
processChars: scope:[processChars] from irqBottom::@2 processChars: scope:[processChars] from irqBottom::@2
[149] phi() [142] phi()
to:processChars::@1 to:processChars::@1
processChars::@1: scope:[processChars] from processChars processChars::@2 processChars::@1: scope:[processChars] from processChars processChars::@2
[150] (byte) processChars::i#2 ← phi( processChars/(byte) 0 processChars::@2/(byte) processChars::i#1 ) [143] (byte) processChars::i#2 ← phi( processChars/(byte) 0 processChars::@2/(byte) processChars::i#1 )
[151] (byte~) processChars::$13 ← (byte) processChars::i#2 << (byte) 2 [144] (byte~) processChars::$14 ← (byte) processChars::i#2 << (byte) 2
[152] if(*((word*)(const struct ProcessingChar[8]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_DIST + (byte~) processChars::$13)==(const word) NOT_FOUND#0) goto processChars::@2 [145] if(*((word*)(const struct ProcessingChar[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_DIST + (byte~) processChars::$14)==(const word) NOT_FOUND#0) goto processChars::@2
to:processChars::@5 to:processChars::@5
processChars::@5: scope:[processChars] from processChars::@1 processChars::@5: scope:[processChars] from processChars::@1
[153] (byte~) processChars::$14 ← (byte) processChars::i#2 << (byte) 2 [146] (byte~) processChars::$15 ← (byte) processChars::i#2 << (byte) 2
[154] (byte) processChars::processing_x#0 ← *((byte*)(const struct ProcessingChar[8]) PROCESSING#0 + (byte~) processChars::$14) [147] (byte) processChars::processing_x#0 ← *((byte*)(const struct ProcessingChar[NUM_PROCESSING#0]) PROCESSING#0 + (byte~) processChars::$15)
[155] (byte) processChars::processing_y#0 ← *((byte*)(const struct ProcessingChar[8]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_Y + (byte~) processChars::$14) [148] (byte) processChars::processing_y#0 ← *((byte*)(const struct ProcessingChar[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_Y + (byte~) processChars::$15)
[156] (word~) processChars::$2 ← (word)(byte) processChars::processing_y#0 [149] (word~) processChars::$3 ← (word)(byte) processChars::processing_y#0
[157] (word) processChars::$21 ← (word~) processChars::$2 << (byte) 2 [150] (word) processChars::$22 ← (word~) processChars::$3 << (byte) 2
[158] (word) processChars::$22 ← (word) processChars::$21 + (word~) processChars::$2 [151] (word) processChars::$23 ← (word) processChars::$22 + (word~) processChars::$3
[159] (word~) processChars::$3 ← (word) processChars::$22 << (byte) 3 [152] (word~) processChars::$4 ← (word) processChars::$23 << (byte) 3
[160] (byte*~) processChars::$4 ← (const byte*) COLS#0 + (word~) processChars::$3 [153] (byte*~) processChars::$5 ← (const byte*) COLS#0 + (word~) processChars::$4
[161] *((byte*~) processChars::$4 + (byte) processChars::processing_x#0) ← (const byte) WHITE#0 [154] *((byte*~) processChars::$5 + (byte) processChars::processing_x#0) ← (const byte) WHITE#0
[162] (word~) processChars::$6 ← (word)(byte) processChars::processing_y#0 [155] (word~) processChars::$7 ← (word)(byte) processChars::processing_y#0
[163] (word) processChars::$24 ← (word~) processChars::$6 << (byte) 2 [156] (word) processChars::$25 ← (word~) processChars::$7 << (byte) 2
[164] (word) processChars::$25 ← (word) processChars::$24 + (word~) processChars::$6 [157] (word) processChars::$26 ← (word) processChars::$25 + (word~) processChars::$7
[165] (word~) processChars::$7 ← (word) processChars::$25 << (byte) 3 [158] (word~) processChars::$8 ← (word) processChars::$26 << (byte) 3
[166] (byte*~) processChars::$8 ← (const byte*) SCREEN#0 + (word~) processChars::$7 [159] (byte*~) processChars::$9 ← (const byte*) SCREEN#0 + (word~) processChars::$8
[167] if(*((byte*~) processChars::$8 + (byte) processChars::processing_x#0)==(byte) ' ') goto processChars::@3 [160] if(*((byte*~) processChars::$9 + (byte) processChars::processing_x#0)==(byte) ' ') goto processChars::@3
to:processChars::@6 to:processChars::@6
processChars::@6: scope:[processChars] from processChars::@5 processChars::@6: scope:[processChars] from processChars::@5
[168] if(*((byte*~) processChars::$8 + (byte) processChars::processing_x#0)>(byte) ' ') goto processChars::@4 [161] if(*((byte*~) processChars::$9 + (byte) processChars::processing_x#0)>(byte) ' ') goto processChars::@4
to:processChars::@7 to:processChars::@7
processChars::@7: scope:[processChars] from processChars::@6 processChars::@7: scope:[processChars] from processChars::@6
[169] *((byte*~) processChars::$8 + (byte) processChars::processing_x#0) ← ++ *((byte*~) processChars::$8 + (byte) processChars::processing_x#0) [162] *((byte*~) processChars::$9 + (byte) processChars::processing_x#0) ← ++ *((byte*~) processChars::$9 + (byte) processChars::processing_x#0)
to:processChars::@2 to:processChars::@2
processChars::@2: scope:[processChars] from processChars::@1 processChars::@3 processChars::@4 processChars::@7 processChars::@2: scope:[processChars] from processChars::@1 processChars::@3 processChars::@4 processChars::@7
[170] (byte) processChars::i#1 ← ++ (byte) processChars::i#2 [163] (byte) processChars::i#1 ← ++ (byte) processChars::i#2
[171] if((byte) processChars::i#1!=(byte) 8) goto processChars::@1 [164] if((byte) processChars::i#1!=(const byte) NUM_PROCESSING#0-(byte) 1+(byte) 1) goto processChars::@1
to:processChars::@return to:processChars::@return
processChars::@return: scope:[processChars] from processChars::@2 processChars::@return: scope:[processChars] from processChars::@2
[172] return [165] return
to:@return to:@return
processChars::@4: scope:[processChars] from processChars::@6 processChars::@4: scope:[processChars] from processChars::@6
[173] *((byte*~) processChars::$8 + (byte) processChars::processing_x#0) ← -- *((byte*~) processChars::$8 + (byte) processChars::processing_x#0) [166] *((byte*~) processChars::$9 + (byte) processChars::processing_x#0) ← -- *((byte*~) processChars::$9 + (byte) processChars::processing_x#0)
to:processChars::@2 to:processChars::@2
processChars::@3: scope:[processChars] from processChars::@5 processChars::@3: scope:[processChars] from processChars::@5
[174] (byte~) processChars::$15 ← (byte) processChars::i#2 << (byte) 2 [167] (byte~) processChars::$16 ← (byte) processChars::i#2 << (byte) 2
[175] *((word*)(const struct ProcessingChar[8]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_DIST + (byte~) processChars::$15) ← (const word) NOT_FOUND#0 [168] *((word*)(const struct ProcessingChar[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGCHAR_DIST + (byte~) processChars::$16) ← (const word) NOT_FOUND#0
to:processChars::@2 to:processChars::@2
irqTop: scope:[irqTop] from irqTop: scope:[irqTop] from
[176] phi() [169] phi()
to:irqTop::@1 to:irqTop::@1
irqTop::@1: scope:[irqTop] from irqTop irqTop::@1 irqTop::@1: scope:[irqTop] from irqTop irqTop::@1
[177] (byte) irqTop::i#2 ← phi( irqTop/(byte) 0 irqTop::@1/(byte) irqTop::i#1 ) [170] (byte) irqTop::i#2 ← phi( irqTop/(byte) 0 irqTop::@1/(byte) irqTop::i#1 )
[178] (byte) irqTop::i#1 ← ++ (byte) irqTop::i#2 [171] (byte) irqTop::i#1 ← ++ (byte) irqTop::i#2
[179] if((byte) irqTop::i#1!=(byte) 5) goto irqTop::@1 [172] if((byte) irqTop::i#1!=(byte) 5) goto irqTop::@1
to:irqTop::@2 to:irqTop::@2
irqTop::@2: scope:[irqTop] from irqTop::@1 irqTop::@2: scope:[irqTop] from irqTop::@1
[180] *((const byte*) BORDERCOL#0) ← (const byte) WHITE#0 [173] *((const byte*) BORDERCOL#0) ← (const byte) WHITE#0
[181] *((const byte*) BGCOL#0) ← (const byte) WHITE#0 [174] *((const byte*) BGCOL#0) ← (const byte) WHITE#0
to:irqTop::@3 to:irqTop::@3
irqTop::@3: scope:[irqTop] from irqTop::@2 irqTop::@3 irqTop::@3: scope:[irqTop] from irqTop::@2 irqTop::@3
[182] (byte) irqTop::i1#2 ← phi( irqTop::@2/(byte) 0 irqTop::@3/(byte) irqTop::i1#1 ) [175] (byte) irqTop::i1#2 ← phi( irqTop::@2/(byte) 0 irqTop::@3/(byte) irqTop::i1#1 )
[183] (byte) irqTop::i1#1 ← ++ (byte) irqTop::i1#2 [176] (byte) irqTop::i1#1 ← ++ (byte) irqTop::i1#2
[184] if((byte) irqTop::i1#1!=(byte) 8) goto irqTop::@3 [177] if((byte) irqTop::i1#1!=(byte) 8) goto irqTop::@3
to:irqTop::@4 to:irqTop::@4
irqTop::@4: scope:[irqTop] from irqTop::@3 irqTop::@4: scope:[irqTop] from irqTop::@3
[185] *((const byte*) BORDERCOL#0) ← (const byte) LIGHT_BLUE#0 [178] *((const byte*) BORDERCOL#0) ← (const byte) LIGHT_BLUE#0
[186] *((const byte*) BGCOL#0) ← (const byte) BLUE#0 [179] *((const byte*) BGCOL#0) ← (const byte) BLUE#0
[187] *((const byte*) RASTER#0) ← (const byte) RASTER_IRQ_MIDDLE#0 [180] *((const byte*) RASTER#0) ← (const byte) RASTER_IRQ_MIDDLE#0
[188] *((const void()**) HARDWARE_IRQ#0) ← &interrupt(HARDWARE_ALL)(void()) irqBottom() [181] *((const void()**) HARDWARE_IRQ#0) ← &interrupt(HARDWARE_ALL)(void()) irqBottom()
[189] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0 [182] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
to:irqTop::@return to:irqTop::@return
irqTop::@return: scope:[irqTop] from irqTop::@4 irqTop::@return: scope:[irqTop] from irqTop::@4
[190] return [183] return
to:@return to:@return

File diff suppressed because it is too large Load Diff

View File

@ -25,10 +25,12 @@
(const byte) LIGHT_BLUE#0 LIGHT_BLUE = (byte) $e (const byte) LIGHT_BLUE#0 LIGHT_BLUE = (byte) $e
(word) NOT_FOUND (word) NOT_FOUND
(const word) NOT_FOUND#0 NOT_FOUND = (word) $ffff (const word) NOT_FOUND#0 NOT_FOUND = (word) $ffff
(byte) NUM_PROCESSING
(const byte) NUM_PROCESSING#0 NUM_PROCESSING = (byte) $10
(const byte) OFFSET_STRUCT_PROCESSINGCHAR_DIST OFFSET_STRUCT_PROCESSINGCHAR_DIST = (byte) 2 (const byte) OFFSET_STRUCT_PROCESSINGCHAR_DIST OFFSET_STRUCT_PROCESSINGCHAR_DIST = (byte) 2
(const byte) OFFSET_STRUCT_PROCESSINGCHAR_Y OFFSET_STRUCT_PROCESSINGCHAR_Y = (byte) 1 (const byte) OFFSET_STRUCT_PROCESSINGCHAR_Y OFFSET_STRUCT_PROCESSINGCHAR_Y = (byte) 1
(struct ProcessingChar[8]) PROCESSING (struct ProcessingChar[NUM_PROCESSING#0]) PROCESSING
(const struct ProcessingChar[8]) PROCESSING#0 PROCESSING = { fill( 8, 0) } (const struct ProcessingChar[NUM_PROCESSING#0]) PROCESSING#0 PROCESSING = { fill( NUM_PROCESSING#0, 0) }
(byte*) PROCPORT (byte*) PROCPORT
(const byte*) PROCPORT#0 PROCPORT = (byte*) 1 (const byte*) PROCPORT#0 PROCPORT = (byte*) 1
(byte*) PROCPORT_DDR (byte*) PROCPORT_DDR
@ -58,73 +60,73 @@
(const byte*) VIC_CONTROL#0 VIC_CONTROL = (byte*) 53265 (const byte*) VIC_CONTROL#0 VIC_CONTROL = (byte*) 53265
(byte) WHITE (byte) WHITE
(const byte) WHITE#0 WHITE = (byte) 1 (const byte) WHITE#0 WHITE = (byte) 1
(struct ProcessingChar()) getCenterChar() (struct ProcessingChar()) getCharToProcess()
(word~) getCenterChar::$10 $10 zp ZP_WORD:27 4.0 (word~) getCharToProcess::$10 $10 zp ZP_WORD:25 4.0
(byte*~) getCenterChar::$11 $11 zp ZP_WORD:27 4.0 (byte*~) getCharToProcess::$11 $11 zp ZP_WORD:25 4.0
(byte~) getCenterChar::$13 reg byte x 1001.0 (byte~) getCharToProcess::$13 reg byte x 1001.0
(byte~) getCenterChar::$14 reg byte a 2002.0 (byte~) getCharToProcess::$14 reg byte a 2002.0
(word) getCenterChar::$15 $15 zp ZP_WORD:29 4.0 (word) getCharToProcess::$15 $15 zp ZP_WORD:27 4.0
(word) getCenterChar::$16 $16 zp ZP_WORD:27 4.0 (word) getCharToProcess::$16 $16 zp ZP_WORD:25 4.0
(word~) getCenterChar::$9 $9 zp ZP_WORD:27 3.0 (word~) getCharToProcess::$9 $9 zp ZP_WORD:25 3.0
(label) getCenterChar::@1 (label) getCharToProcess::@1
(label) getCenterChar::@10 (label) getCharToProcess::@10
(label) getCenterChar::@11 (label) getCharToProcess::@11
(label) getCenterChar::@12 (label) getCharToProcess::@12
(label) getCenterChar::@2 (label) getCharToProcess::@2
(label) getCenterChar::@3 (label) getCharToProcess::@3
(label) getCenterChar::@4 (label) getCharToProcess::@4
(label) getCenterChar::@5 (label) getCharToProcess::@5
(label) getCenterChar::@6 (label) getCharToProcess::@6
(label) getCenterChar::@7 (label) getCharToProcess::@7
(label) getCenterChar::@8 (label) getCharToProcess::@8
(label) getCenterChar::@9 (label) getCharToProcess::@9
(label) getCenterChar::@return (label) getCharToProcess::@return
(struct ProcessingChar) getCenterChar::closest (struct ProcessingChar) getCharToProcess::closest
(word) getCenterChar::closest_dist (word) getCharToProcess::closest_dist
(word~) getCenterChar::closest_dist#10 closest_dist zp ZP_WORD:13 202.0 (word~) getCharToProcess::closest_dist#10 closest_dist zp ZP_WORD:11 202.0
(word~) getCenterChar::closest_dist#12 closest_dist zp ZP_WORD:13 2002.0 (word~) getCharToProcess::closest_dist#12 closest_dist zp ZP_WORD:11 2002.0
(word) getCenterChar::closest_dist#2 closest_dist zp ZP_WORD:13 684.1666666666667 (word) getCharToProcess::closest_dist#2 closest_dist zp ZP_WORD:11 684.1666666666667
(word) getCenterChar::closest_dist#8 closest_dist zp ZP_WORD:13 202.0 (word) getCharToProcess::closest_dist#8 closest_dist zp ZP_WORD:11 202.0
(byte) getCenterChar::closest_x (byte) getCharToProcess::closest_x
(byte) getCenterChar::closest_x#7 closest_x zp ZP_BYTE:15 388.0 (byte) getCharToProcess::closest_x#7 closest_x zp ZP_BYTE:13 388.0
(byte) getCenterChar::closest_x#9 closest_x zp ZP_BYTE:15 202.0 (byte) getCharToProcess::closest_x#9 closest_x zp ZP_BYTE:13 202.0
(byte) getCenterChar::closest_y (byte) getCharToProcess::closest_y
(byte) getCenterChar::closest_y#7 closest_y zp ZP_BYTE:16 388.0 (byte) getCharToProcess::closest_y#7 closest_y zp ZP_BYTE:14 388.0
(byte) getCenterChar::closest_y#9 closest_y zp ZP_BYTE:16 202.0 (byte) getCharToProcess::closest_y#9 closest_y zp ZP_BYTE:14 202.0
(word) getCenterChar::dist (word) getCharToProcess::dist
(word) getCenterChar::dist#0 dist zp ZP_WORD:17 750.75 (word) getCharToProcess::dist#0 dist zp ZP_WORD:15 750.75
(struct ProcessingChar) getCenterChar::return (struct ProcessingChar) getCharToProcess::return
(word) getCenterChar::return_dist (word) getCharToProcess::return_dist
(word) getCenterChar::return_dist#0 return_dist zp ZP_WORD:17 7.333333333333333 (word) getCharToProcess::return_dist#0 return_dist zp ZP_WORD:15 7.333333333333333
(word) getCenterChar::return_dist#1 return_dist zp ZP_WORD:17 242.23529411764704 (word) getCharToProcess::return_dist#1 return_dist zp ZP_WORD:15 242.23529411764704
(word~) getCenterChar::return_dist#5 return_dist zp ZP_WORD:17 2002.0 (word~) getCharToProcess::return_dist#5 return_dist zp ZP_WORD:15 2002.0
(word~) getCenterChar::return_dist#6 return_dist zp ZP_WORD:17 2002.0 (word~) getCharToProcess::return_dist#6 return_dist zp ZP_WORD:15 2002.0
(byte) getCenterChar::return_x (byte) getCharToProcess::return_x
(byte) getCenterChar::return_x#0 reg byte x 7.333333333333333 (byte) getCharToProcess::return_x#0 reg byte y 7.333333333333333
(byte) getCenterChar::return_x#1 return_x zp ZP_BYTE:15 242.23529411764704 (byte) getCharToProcess::return_x#1 return_x zp ZP_BYTE:13 242.23529411764704
(byte~) getCenterChar::return_x#7 return_x zp ZP_BYTE:15 1001.0 (byte~) getCharToProcess::return_x#7 return_x zp ZP_BYTE:13 1001.0
(byte) getCenterChar::return_y (byte) getCharToProcess::return_y
(byte) getCenterChar::return_y#0 reg byte y 7.333333333333333 (byte) getCharToProcess::return_y#0 reg byte x 7.333333333333333
(byte) getCenterChar::return_y#1 return_y zp ZP_BYTE:16 228.66666666666669 (byte) getCharToProcess::return_y#1 return_y zp ZP_BYTE:14 228.66666666666669
(byte~) getCenterChar::return_y#7 return_y zp ZP_BYTE:16 2002.0 (byte~) getCharToProcess::return_y#7 return_y zp ZP_BYTE:14 2002.0
(byte*) getCenterChar::screen_line (byte*) getCharToProcess::screen_line
(byte*) getCenterChar::screen_line#1 screen_line zp ZP_WORD:9 50.5 (byte*) getCharToProcess::screen_line#1 screen_line zp ZP_WORD:7 50.5
(byte*) getCenterChar::screen_line#4 screen_line zp ZP_WORD:9 80.2 (byte*) getCharToProcess::screen_line#4 screen_line zp ZP_WORD:7 80.2
(byte) getCenterChar::x (byte) getCharToProcess::x
(byte) getCenterChar::x#1 x zp ZP_BYTE:12 1001.0 (byte) getCharToProcess::x#1 x zp ZP_BYTE:10 1001.0
(byte) getCenterChar::x#2 x zp ZP_BYTE:12 455.0 (byte) getCharToProcess::x#2 x zp ZP_BYTE:10 455.0
(byte) getCenterChar::y (byte) getCharToProcess::y
(byte) getCenterChar::y#1 y zp ZP_BYTE:11 101.0 (byte) getCharToProcess::y#1 y zp ZP_BYTE:9 101.0
(byte) getCenterChar::y#7 y zp ZP_BYTE:11 137.75 (byte) getCharToProcess::y#7 y zp ZP_BYTE:9 137.75
(void()) initSquareTables() (void()) initSquareTables()
(byte~) initSquareTables::$10 reg byte a 22.0 (byte~) initSquareTables::$10 reg byte a 22.0
(byte~) initSquareTables::$12 reg byte a 22.0 (byte~) initSquareTables::$12 reg byte a 22.0
(word~) initSquareTables::$14 $14 zp ZP_WORD:21 11.0 (word~) initSquareTables::$14 $14 zp ZP_WORD:19 11.0
(byte~) initSquareTables::$16 reg byte a 22.0 (byte~) initSquareTables::$16 reg byte a 22.0
(byte~) initSquareTables::$17 reg byte a 22.0 (byte~) initSquareTables::$17 reg byte a 22.0
(byte~) initSquareTables::$2 reg byte a 22.0 (byte~) initSquareTables::$2 reg byte a 22.0
(byte~) initSquareTables::$4 reg byte a 22.0 (byte~) initSquareTables::$4 reg byte a 22.0
(word~) initSquareTables::$6 $6 zp ZP_WORD:21 11.0 (word~) initSquareTables::$6 $6 zp ZP_WORD:19 11.0
(label) initSquareTables::@1 (label) initSquareTables::@1
(label) initSquareTables::@10 (label) initSquareTables::@10
(label) initSquareTables::@2 (label) initSquareTables::@2
@ -137,13 +139,13 @@
(label) initSquareTables::@9 (label) initSquareTables::@9
(label) initSquareTables::@return (label) initSquareTables::@return
(byte) initSquareTables::x (byte) initSquareTables::x
(byte) initSquareTables::x#1 x zp ZP_BYTE:19 16.5 (byte) initSquareTables::x#1 x zp ZP_BYTE:17 16.5
(byte) initSquareTables::x#2 x zp ZP_BYTE:19 5.5 (byte) initSquareTables::x#2 x zp ZP_BYTE:17 5.5
(byte) initSquareTables::x_dist (byte) initSquareTables::x_dist
(byte) initSquareTables::x_dist#0 reg byte a 22.0 (byte) initSquareTables::x_dist#0 reg byte a 22.0
(byte) initSquareTables::y (byte) initSquareTables::y
(byte) initSquareTables::y#1 y zp ZP_BYTE:20 16.5 (byte) initSquareTables::y#1 y zp ZP_BYTE:18 16.5
(byte) initSquareTables::y#2 y zp ZP_BYTE:20 5.5 (byte) initSquareTables::y#2 y zp ZP_BYTE:18 5.5
(byte) initSquareTables::y_dist (byte) initSquareTables::y_dist
(byte) initSquareTables::y_dist#0 reg byte a 22.0 (byte) initSquareTables::y_dist#0 reg byte a 22.0
interrupt(HARDWARE_ALL)(void()) irqBottom() interrupt(HARDWARE_ALL)(void()) irqBottom()
@ -167,11 +169,8 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
(byte) irqTop::i1#1 reg byte x 16.5 (byte) irqTop::i1#1 reg byte x 16.5
(byte) irqTop::i1#2 reg byte x 22.0 (byte) irqTop::i1#2 reg byte x 22.0
(void()) main() (void()) main()
(struct ProcessingChar~) main::$11 (byte~) main::$14 reg byte x 14.666666666666666
(byte~) main::$18 reg byte y 14.666666666666666 (struct ProcessingChar~) main::$7
(byte~) main::$5 reg byte a 22.0
(byte~) main::$6 reg byte a 22.0
(byte~) main::$7 reg byte a 22.0
(label) main::@1 (label) main::@1
(label) main::@2 (label) main::@2
(label) main::@3 (label) main::@3
@ -180,26 +179,22 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
(label) main::@6 (label) main::@6
(label) main::@7 (label) main::@7
(label) main::@8 (label) main::@8
(label) main::@9
(struct ProcessingChar) main::center (struct ProcessingChar) main::center
(word) main::center_dist (word) main::center_dist
(word) main::center_dist#0 center_dist zp ZP_WORD:17 8.25 (word) main::center_dist#0 center_dist zp ZP_WORD:15 8.25
(byte) main::center_x (byte) main::center_x
(byte) main::center_x#0 reg byte x 5.5 (byte) main::center_x#0 reg byte y 5.5
(byte) main::center_y (byte) main::center_y
(byte) main::center_y#0 reg byte y 5.5 (byte) main::center_y#0 reg byte x 5.5
(byte*) main::dst (byte*) main::dst
(byte*) main::dst#1 dst zp ZP_WORD:6 11.0 (byte*) main::dst#1 dst zp ZP_WORD:4 11.0
(byte*) main::dst#2 dst zp ZP_WORD:6 11.0 (byte*) main::dst#2 dst zp ZP_WORD:4 11.0
(byte) main::i (byte) main::i
(byte) main::i#1 reg byte x 16.5 (byte) main::i#1 reg byte y 16.5
(byte) main::i#2 reg byte x 6.6000000000000005 (byte) main::i#2 reg byte y 6.6000000000000005
(byte*) main::sc
(byte*) main::sc#1 sc zp ZP_WORD:2 16.5
(byte*) main::sc#2 sc zp ZP_WORD:2 8.8
(byte*) main::src (byte*) main::src
(byte*) main::src#1 src zp ZP_WORD:4 11.0 (byte*) main::src#1 src zp ZP_WORD:2 11.0
(byte*) main::src#2 src zp ZP_WORD:4 16.5 (byte*) main::src#2 src zp ZP_WORD:2 16.5
(word()) mul8u((byte) mul8u::a , (byte) mul8u::b) (word()) mul8u((byte) mul8u::a , (byte) mul8u::b)
(byte~) mul8u::$1 reg byte a 202.0 (byte~) mul8u::$1 reg byte a 202.0
(label) mul8u::@1 (label) mul8u::@1
@ -217,30 +212,30 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
(byte) mul8u::b#0 reg byte a 22.0 (byte) mul8u::b#0 reg byte a 22.0
(byte) mul8u::b#1 reg byte a 22.0 (byte) mul8u::b#1 reg byte a 22.0
(word) mul8u::mb (word) mul8u::mb
(word) mul8u::mb#0 mb zp ZP_WORD:23 24.0 (word) mul8u::mb#0 mb zp ZP_WORD:21 24.0
(word) mul8u::mb#1 mb zp ZP_WORD:23 202.0 (word) mul8u::mb#1 mb zp ZP_WORD:21 202.0
(word) mul8u::mb#2 mb zp ZP_WORD:23 43.57142857142858 (word) mul8u::mb#2 mb zp ZP_WORD:21 43.57142857142858
(word) mul8u::res (word) mul8u::res
(word) mul8u::res#1 res zp ZP_WORD:21 202.0 (word) mul8u::res#1 res zp ZP_WORD:19 202.0
(word) mul8u::res#2 res zp ZP_WORD:21 46.42857142857143 (word) mul8u::res#2 res zp ZP_WORD:19 46.42857142857143
(word) mul8u::res#6 res zp ZP_WORD:21 101.0 (word) mul8u::res#6 res zp ZP_WORD:19 101.0
(word) mul8u::return (word) mul8u::return
(word) mul8u::return#2 return zp ZP_WORD:21 22.0 (word) mul8u::return#2 return zp ZP_WORD:19 22.0
(word) mul8u::return#3 return zp ZP_WORD:21 22.0 (word) mul8u::return#3 return zp ZP_WORD:19 22.0
(void()) processChars() (void()) processChars()
(byte~) processChars::$13 reg byte a 22.0 (byte~) processChars::$14 reg byte a 22.0
(byte~) processChars::$14 reg byte y 16.5 (byte~) processChars::$15 reg byte y 16.5
(byte~) processChars::$15 reg byte a 22.0 (byte~) processChars::$16 reg byte a 22.0
(word~) processChars::$2 $2 zp ZP_WORD:33 16.5
(word) processChars::$21 $21 zp ZP_WORD:35 22.0
(word) processChars::$22 $22 zp ZP_WORD:33 22.0 (word) processChars::$22 $22 zp ZP_WORD:33 22.0
(word) processChars::$24 $24 zp ZP_WORD:39 22.0 (word) processChars::$23 $23 zp ZP_WORD:31 22.0
(word) processChars::$25 $25 zp ZP_WORD:37 22.0 (word) processChars::$25 $25 zp ZP_WORD:37 22.0
(word~) processChars::$3 $3 zp ZP_WORD:33 22.0 (word) processChars::$26 $26 zp ZP_WORD:35 22.0
(byte*~) processChars::$4 $4 zp ZP_WORD:33 22.0 (word~) processChars::$3 $3 zp ZP_WORD:31 16.5
(word~) processChars::$6 $6 zp ZP_WORD:37 16.5 (word~) processChars::$4 $4 zp ZP_WORD:31 22.0
(word~) processChars::$7 $7 zp ZP_WORD:37 22.0 (byte*~) processChars::$5 $5 zp ZP_WORD:31 22.0
(byte*~) processChars::$8 $8 zp ZP_WORD:37 25.666666666666668 (word~) processChars::$7 $7 zp ZP_WORD:35 16.5
(word~) processChars::$8 $8 zp ZP_WORD:35 22.0
(byte*~) processChars::$9 $9 zp ZP_WORD:35 25.666666666666668
(label) processChars::@1 (label) processChars::@1
(label) processChars::@2 (label) processChars::@2
(label) processChars::@3 (label) processChars::@3
@ -255,9 +250,9 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
(struct ProcessingChar) processChars::processing (struct ProcessingChar) processChars::processing
(byte*) processChars::processing_ptr (byte*) processChars::processing_ptr
(byte) processChars::processing_x (byte) processChars::processing_x
(byte) processChars::processing_x#0 processing_x zp ZP_BYTE:31 5.866666666666666 (byte) processChars::processing_x#0 processing_x zp ZP_BYTE:29 5.866666666666666
(byte) processChars::processing_y (byte) processChars::processing_y
(byte) processChars::processing_y#0 processing_y zp ZP_BYTE:32 1.5714285714285714 (byte) processChars::processing_y#0 processing_y zp ZP_BYTE:30 1.5714285714285714
(void()) setupRasterIrq((word) setupRasterIrq::raster , (void()*) setupRasterIrq::irqRoutine) (void()) setupRasterIrq((word) setupRasterIrq::raster , (void()*) setupRasterIrq::irqRoutine)
(label) setupRasterIrq::@1 (label) setupRasterIrq::@1
(label) setupRasterIrq::@2 (label) setupRasterIrq::@2
@ -266,8 +261,8 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
(const void()*) setupRasterIrq::irqRoutine#0 irqRoutine = &interrupt(HARDWARE_ALL)(void()) irqTop() (const void()*) setupRasterIrq::irqRoutine#0 irqRoutine = &interrupt(HARDWARE_ALL)(void()) irqTop()
(word) setupRasterIrq::raster (word) setupRasterIrq::raster
(void()) startProcessing((byte) startProcessing::center_x , (byte) startProcessing::center_y , (word) startProcessing::center_dist) (void()) startProcessing((byte) startProcessing::center_x , (byte) startProcessing::center_y , (word) startProcessing::center_dist)
(byte~) startProcessing::$4 reg byte a 2002.0 (byte~) startProcessing::$5 reg byte a 2002.0
(byte~) startProcessing::$5 reg byte x 2.6666666666666665 (byte~) startProcessing::$6 reg byte x 2.6666666666666665
(label) startProcessing::@1 (label) startProcessing::@1
(label) startProcessing::@2 (label) startProcessing::@2
(label) startProcessing::@3 (label) startProcessing::@3
@ -278,71 +273,67 @@ interrupt(HARDWARE_ALL)(void()) irqTop()
(label) startProcessing::@return (label) startProcessing::@return
(struct ProcessingChar) startProcessing::center (struct ProcessingChar) startProcessing::center
(word) startProcessing::center_dist (word) startProcessing::center_dist
(word) startProcessing::center_dist#0 center_dist zp ZP_WORD:17 0.8666666666666666 (word) startProcessing::center_dist#0 center_dist zp ZP_WORD:15 0.8666666666666666
(byte) startProcessing::center_x (byte) startProcessing::center_x
(byte) startProcessing::center_x#0 center_x zp ZP_BYTE:25 0.8666666666666666 (byte) startProcessing::center_x#0 center_x zp ZP_BYTE:23 0.8666666666666666
(byte) startProcessing::center_y (byte) startProcessing::center_y
(byte) startProcessing::center_y#0 center_y zp ZP_BYTE:26 0.8666666666666666 (byte) startProcessing::center_y#0 center_y zp ZP_BYTE:24 0.8666666666666666
(byte) startProcessing::freeIdx (byte) startProcessing::freeIdx
(byte) startProcessing::freeIdx#2 reg byte x 653.0 (byte) startProcessing::freeIdx#2 reg byte x 653.0
(byte) startProcessing::freeIdx#6 freeIdx zp ZP_BYTE:8 33.666666666666664 (byte) startProcessing::freeIdx#6 freeIdx zp ZP_BYTE:6 33.666666666666664
(byte~) startProcessing::freeIdx#7 freeIdx zp ZP_BYTE:8 202.0 (byte~) startProcessing::freeIdx#7 freeIdx zp ZP_BYTE:6 202.0
(byte~) startProcessing::freeIdx#8 reg byte x 202.0 (byte~) startProcessing::freeIdx#8 reg byte x 202.0
(byte) startProcessing::i (byte) startProcessing::i
(byte) startProcessing::i#1 reg byte x 1501.5 (byte) startProcessing::i#1 reg byte x 1501.5
(byte) startProcessing::i#2 reg byte x 1334.6666666666667 (byte) startProcessing::i#2 reg byte x 1334.6666666666667
reg byte x [ main::i#2 main::i#1 ] reg byte y [ main::i#2 main::i#1 ]
zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] zp ZP_WORD:2 [ main::src#2 main::src#1 ]
zp ZP_WORD:4 [ main::src#2 main::src#1 ] zp ZP_WORD:4 [ main::dst#2 main::dst#1 ]
zp ZP_WORD:6 [ main::dst#2 main::dst#1 ] zp ZP_BYTE:6 [ startProcessing::freeIdx#6 startProcessing::freeIdx#7 ]
zp ZP_BYTE:8 [ startProcessing::freeIdx#6 startProcessing::freeIdx#7 ]
reg byte x [ startProcessing::freeIdx#2 startProcessing::freeIdx#8 startProcessing::i#2 startProcessing::i#1 ] reg byte x [ startProcessing::freeIdx#2 startProcessing::freeIdx#8 startProcessing::i#2 startProcessing::i#1 ]
zp ZP_WORD:9 [ getCenterChar::screen_line#4 getCenterChar::screen_line#1 ] zp ZP_WORD:7 [ getCharToProcess::screen_line#4 getCharToProcess::screen_line#1 ]
zp ZP_BYTE:11 [ getCenterChar::y#7 getCenterChar::y#1 ] zp ZP_BYTE:9 [ getCharToProcess::y#7 getCharToProcess::y#1 ]
zp ZP_BYTE:12 [ getCenterChar::x#2 getCenterChar::x#1 ] zp ZP_BYTE:10 [ getCharToProcess::x#2 getCharToProcess::x#1 ]
zp ZP_WORD:13 [ getCenterChar::closest_dist#2 getCenterChar::closest_dist#8 getCenterChar::closest_dist#10 getCenterChar::closest_dist#12 ] zp ZP_WORD:11 [ getCharToProcess::closest_dist#2 getCharToProcess::closest_dist#8 getCharToProcess::closest_dist#10 getCharToProcess::closest_dist#12 ]
zp ZP_BYTE:15 [ getCenterChar::closest_x#7 getCenterChar::closest_x#9 getCenterChar::return_x#1 getCenterChar::return_x#7 ] zp ZP_BYTE:13 [ getCharToProcess::closest_x#7 getCharToProcess::closest_x#9 getCharToProcess::return_x#1 getCharToProcess::return_x#7 ]
zp ZP_BYTE:16 [ getCenterChar::closest_y#7 getCenterChar::closest_y#9 getCenterChar::return_y#1 getCenterChar::return_y#7 ] zp ZP_BYTE:14 [ getCharToProcess::closest_y#7 getCharToProcess::closest_y#9 getCharToProcess::return_y#1 getCharToProcess::return_y#7 ]
zp ZP_WORD:17 [ getCenterChar::return_dist#1 getCenterChar::return_dist#5 getCenterChar::return_dist#6 getCenterChar::dist#0 getCenterChar::return_dist#0 main::center_dist#0 startProcessing::center_dist#0 ] zp ZP_WORD:15 [ getCharToProcess::return_dist#1 getCharToProcess::return_dist#5 getCharToProcess::return_dist#6 getCharToProcess::dist#0 getCharToProcess::return_dist#0 main::center_dist#0 startProcessing::center_dist#0 ]
zp ZP_BYTE:19 [ initSquareTables::x#2 initSquareTables::x#1 ] zp ZP_BYTE:17 [ initSquareTables::x#2 initSquareTables::x#1 ]
reg byte a [ initSquareTables::x_dist#0 initSquareTables::$4 initSquareTables::$2 ] reg byte a [ initSquareTables::x_dist#0 initSquareTables::$4 initSquareTables::$2 ]
zp ZP_BYTE:20 [ initSquareTables::y#2 initSquareTables::y#1 ] zp ZP_BYTE:18 [ initSquareTables::y#2 initSquareTables::y#1 ]
reg byte a [ initSquareTables::y_dist#0 initSquareTables::$12 initSquareTables::$10 ] reg byte a [ initSquareTables::y_dist#0 initSquareTables::$12 initSquareTables::$10 ]
reg byte a [ mul8u::b#1 ] reg byte a [ mul8u::b#1 ]
reg byte a [ mul8u::b#0 ] reg byte a [ mul8u::b#0 ]
reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#2 mul8u::a#1 mul8u::a#0 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#2 mul8u::a#1 mul8u::a#0 ]
zp ZP_WORD:21 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mul8u::return#3 initSquareTables::$6 initSquareTables::$14 ] zp ZP_WORD:19 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mul8u::return#3 initSquareTables::$6 initSquareTables::$14 ]
zp ZP_WORD:23 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] zp ZP_WORD:21 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ]
reg byte x [ irqBottom::i#2 irqBottom::i#1 ] reg byte x [ irqBottom::i#2 irqBottom::i#1 ]
reg byte x [ processChars::i#2 processChars::i#1 ] reg byte x [ processChars::i#2 processChars::i#1 ]
reg byte x [ irqTop::i#2 irqTop::i#1 ] reg byte x [ irqTop::i#2 irqTop::i#1 ]
reg byte x [ irqTop::i1#2 irqTop::i1#1 ] reg byte x [ irqTop::i1#2 irqTop::i1#1 ]
reg byte y [ main::$18 ] reg byte x [ main::$14 ]
reg byte a [ main::$5 ] reg byte y [ getCharToProcess::return_x#0 ]
reg byte a [ main::$6 ] reg byte x [ getCharToProcess::return_y#0 ]
reg byte a [ main::$7 ] reg byte y [ main::center_x#0 ]
reg byte x [ getCenterChar::return_x#0 ] reg byte x [ main::center_y#0 ]
reg byte y [ getCenterChar::return_y#0 ] zp ZP_BYTE:23 [ startProcessing::center_x#0 ]
reg byte x [ main::center_x#0 ] zp ZP_BYTE:24 [ startProcessing::center_y#0 ]
reg byte y [ main::center_y#0 ] reg byte a [ startProcessing::$5 ]
zp ZP_BYTE:25 [ startProcessing::center_x#0 ] reg byte x [ startProcessing::$6 ]
zp ZP_BYTE:26 [ startProcessing::center_y#0 ] reg byte x [ getCharToProcess::$13 ]
reg byte a [ startProcessing::$4 ] reg byte a [ getCharToProcess::$14 ]
reg byte x [ startProcessing::$5 ] zp ZP_WORD:25 [ getCharToProcess::$9 getCharToProcess::$16 getCharToProcess::$10 getCharToProcess::$11 ]
reg byte x [ getCenterChar::$13 ] zp ZP_WORD:27 [ getCharToProcess::$15 ]
reg byte a [ getCenterChar::$14 ]
zp ZP_WORD:27 [ getCenterChar::$9 getCenterChar::$16 getCenterChar::$10 getCenterChar::$11 ]
zp ZP_WORD:29 [ getCenterChar::$15 ]
reg byte a [ initSquareTables::$16 ] reg byte a [ initSquareTables::$16 ]
reg byte a [ initSquareTables::$17 ] reg byte a [ initSquareTables::$17 ]
reg byte a [ mul8u::$1 ] reg byte a [ mul8u::$1 ]
reg byte a [ processChars::$13 ] reg byte a [ processChars::$14 ]
reg byte y [ processChars::$14 ] reg byte y [ processChars::$15 ]
zp ZP_BYTE:31 [ processChars::processing_x#0 ] zp ZP_BYTE:29 [ processChars::processing_x#0 ]
zp ZP_BYTE:32 [ processChars::processing_y#0 ] zp ZP_BYTE:30 [ processChars::processing_y#0 ]
zp ZP_WORD:33 [ processChars::$2 processChars::$22 processChars::$3 processChars::$4 ] zp ZP_WORD:31 [ processChars::$3 processChars::$23 processChars::$4 processChars::$5 ]
zp ZP_WORD:35 [ processChars::$21 ] zp ZP_WORD:33 [ processChars::$22 ]
zp ZP_WORD:37 [ processChars::$6 processChars::$25 processChars::$7 processChars::$8 ] zp ZP_WORD:35 [ processChars::$7 processChars::$26 processChars::$8 processChars::$9 ]
zp ZP_WORD:39 [ processChars::$24 ] zp ZP_WORD:37 [ processChars::$25 ]
reg byte a [ processChars::$15 ] reg byte a [ processChars::$16 ]

View File

@ -1176,7 +1176,12 @@ pbuz1_derefidx_vbuaa=_neg__deref_pbuc1 < vbuaa=_neg__deref_pbuc1 < vbuaa=_neg_vb
clc clc
adc #$01 adc #$01
sta ({z1}),y sta ({z1}),y
CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=_dec_pbuz1_derefidx_vbuaa pbuz1_derefidx_vbuaa=_dec_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuyy=_dec_pbuz1_derefidx_vbuyy - clobber:A Y cycles:17.5
tay
lda ({z1}),y
sec
sbc #1
sta ({z1}),y
CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=_pos_pbuz1_derefidx_vbuaa CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=_pos_pbuz1_derefidx_vbuaa
CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=_dec_pbuz1_derefidx_vbuxx CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=_dec_pbuz1_derefidx_vbuxx
CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=_pos_pbuz1_derefidx_vbuxx CANNOT SYNTHESIZE pbuz1_derefidx_vbuaa=_pos_pbuz1_derefidx_vbuxx
@ -1453,7 +1458,13 @@ pbuz1_derefidx_vbuxx=_dec__deref_pbuc1 < pbuz1_derefidx_vbuaa=_dec__deref_pbuc1
CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=_pos__deref_pbuc1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=_pos__deref_pbuc1
CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=_inc_pbuz1_derefidx_vbuaa CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=_inc_pbuz1_derefidx_vbuaa
CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=_pos_pbuz1_derefidx_vbuaa CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=_pos_pbuz1_derefidx_vbuaa
CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=_inc_pbuz1_derefidx_vbuxx pbuz1_derefidx_vbuxx=_inc_pbuz1_derefidx_vbuxx < pbuz1_derefidx_vbuaa=_inc_pbuz1_derefidx_vbuaa < pbuz1_derefidx_vbuyy=_inc_pbuz1_derefidx_vbuyy - clobber:A Y cycles:19.5
txa
tay
lda ({z1}),y
clc
adc #1
sta ({z1}),y
CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=_bnot_pbuz1_derefidx_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=_bnot_pbuz1_derefidx_vbuyy
CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=_neg_pbuz1_derefidx_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=_neg_pbuz1_derefidx_vbuyy
CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=_bnot_pbuz1_derefidx_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuxx=_bnot_pbuz1_derefidx_vbuz1
@ -1728,7 +1739,11 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_bnot_pbuz1_derefidx_vbuaa
CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_neg_pbuz1_derefidx_vbuaa CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_neg_pbuz1_derefidx_vbuaa
CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_bnot_pbuz1_derefidx_vbuxx CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_bnot_pbuz1_derefidx_vbuxx
CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_neg_pbuz1_derefidx_vbuxx CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_neg_pbuz1_derefidx_vbuxx
CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_dec_pbuz1_derefidx_vbuyy *pbuz1_derefidx_vbuyy=_dec_pbuz1_derefidx_vbuyy - clobber:A cycles:15.5
lda ({z1}),y
sec
sbc #1
sta ({z1}),y
CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_neg_pbuz1_derefidx_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_neg_pbuz1_derefidx_vbuyy
CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_dec_pbuz1_derefidx_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_dec_pbuz1_derefidx_vbuz1
CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_pos_pbuz1_derefidx_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuyy=_pos_pbuz1_derefidx_vbuz1
@ -2333,7 +2348,12 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_bnot_pbuz1_derefidx_vbuyy
CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_neg_pbuz1_derefidx_vbuyy CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_neg_pbuz1_derefidx_vbuyy
CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_dec_pbuz1_derefidx_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_dec_pbuz1_derefidx_vbuz1
CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_neg_pbuz1_derefidx_vbuz1 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_neg_pbuz1_derefidx_vbuz1
CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_dec_pbuz1_derefidx_vbuz2 pbuz1_derefidx_vbuz2=_dec_pbuz1_derefidx_vbuz2 < pbuz1_derefidx_vbuyy=_dec_pbuz1_derefidx_vbuyy - clobber:A Y cycles:18.5
ldy {z2}
lda ({z1}),y
sec
sbc #1
sta ({z1}),y
CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_pos_pbuz1_derefidx_vbuz2 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_pos_pbuz1_derefidx_vbuz2
CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_inc_pbuz1_derefidx_vbuz3 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_inc_pbuz1_derefidx_vbuz3
CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_pos_pbuz1_derefidx_vbuz3 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_pos_pbuz1_derefidx_vbuz3