From 27444f7c7d9c21661058783acaf7e20a2e5f6ac8 Mon Sep 17 00:00:00 2001 From: jespergravgaard Date: Sat, 20 Apr 2019 11:13:49 +0200 Subject: [PATCH] Implemented test simulating a struct. --- src/main/fragment/_deref_pptz1=_ptr_vbuaa.asm | 5 + src/main/fragment/_deref_pwuz1=vbuaa.asm | 5 + src/main/fragment/_deref_pwuz1=vwuc1.asm | 6 + src/main/fragment/pbuz1=_deref_pptz2.asm | 6 + src/main/fragment/pbuz1=pbuz2_plus_2.asm | 7 + src/main/fragment/pptz1=_ptr_pbuz1.asm | 1 + src/main/fragment/pptz1=_ptr_pbuz2.asm | 4 + src/main/fragment/pwuz1=_ptr_pbuz1.asm | 1 + src/main/fragment/pwuz1=_ptr_pbuz2.asm | 4 + src/main/fragment/vbuaa=_hi__deref_pwuz1.asm | 2 + src/main/fragment/vbuaa=_lo__deref_pwuz1.asm | 2 + .../dk/camelot64/kickc/test/TestPrograms.java | 5 + src/test/kc/semi-struct-2.kc | 186 + src/test/ref/semi-struct-2.asm | 961 ++ src/test/ref/semi-struct-2.cfg | 559 + src/test/ref/semi-struct-2.log | 11427 ++++++++++++++++ src/test/ref/semi-struct-2.sym | 491 + 17 files changed, 13672 insertions(+) create mode 100644 src/main/fragment/_deref_pptz1=_ptr_vbuaa.asm create mode 100644 src/main/fragment/_deref_pwuz1=vbuaa.asm create mode 100644 src/main/fragment/_deref_pwuz1=vwuc1.asm create mode 100644 src/main/fragment/pbuz1=_deref_pptz2.asm create mode 100644 src/main/fragment/pbuz1=pbuz2_plus_2.asm create mode 100644 src/main/fragment/pptz1=_ptr_pbuz1.asm create mode 100644 src/main/fragment/pptz1=_ptr_pbuz2.asm create mode 100644 src/main/fragment/pwuz1=_ptr_pbuz1.asm create mode 100644 src/main/fragment/pwuz1=_ptr_pbuz2.asm create mode 100644 src/main/fragment/vbuaa=_hi__deref_pwuz1.asm create mode 100644 src/main/fragment/vbuaa=_lo__deref_pwuz1.asm create mode 100644 src/test/kc/semi-struct-2.kc create mode 100644 src/test/ref/semi-struct-2.asm create mode 100644 src/test/ref/semi-struct-2.cfg create mode 100644 src/test/ref/semi-struct-2.log create mode 100644 src/test/ref/semi-struct-2.sym diff --git a/src/main/fragment/_deref_pptz1=_ptr_vbuaa.asm b/src/main/fragment/_deref_pptz1=_ptr_vbuaa.asm new file mode 100644 index 000000000..32ac7bd5c --- /dev/null +++ b/src/main/fragment/_deref_pptz1=_ptr_vbuaa.asm @@ -0,0 +1,5 @@ +ldy #0 +sta ({z1}),y +tya +iny +sta ({z1}),y diff --git a/src/main/fragment/_deref_pwuz1=vbuaa.asm b/src/main/fragment/_deref_pwuz1=vbuaa.asm new file mode 100644 index 000000000..5c3d7f203 --- /dev/null +++ b/src/main/fragment/_deref_pwuz1=vbuaa.asm @@ -0,0 +1,5 @@ +ldy #0 +sta ({z1}),y +tya +iny +sta ({z1}),y \ No newline at end of file diff --git a/src/main/fragment/_deref_pwuz1=vwuc1.asm b/src/main/fragment/_deref_pwuz1=vwuc1.asm new file mode 100644 index 000000000..b687a9d5a --- /dev/null +++ b/src/main/fragment/_deref_pwuz1=vwuc1.asm @@ -0,0 +1,6 @@ +ldy #0 +lda #<{c1} +sta ({z1}),y +iny +lda #>{c1} +sta ({z1}),y \ No newline at end of file diff --git a/src/main/fragment/pbuz1=_deref_pptz2.asm b/src/main/fragment/pbuz1=_deref_pptz2.asm new file mode 100644 index 000000000..b3c7c84c7 --- /dev/null +++ b/src/main/fragment/pbuz1=_deref_pptz2.asm @@ -0,0 +1,6 @@ +ldy #0 +lda ({z2}),y +sta {z1} +iny +lda ({z2}),y +sta {z1}+1 \ No newline at end of file diff --git a/src/main/fragment/pbuz1=pbuz2_plus_2.asm b/src/main/fragment/pbuz1=pbuz2_plus_2.asm new file mode 100644 index 000000000..c1dc8c193 --- /dev/null +++ b/src/main/fragment/pbuz1=pbuz2_plus_2.asm @@ -0,0 +1,7 @@ +lda {z2} +clc +adc #2 +sta {z1} +lda {z2}+1 +adc #0 +sta {z1}+1 diff --git a/src/main/fragment/pptz1=_ptr_pbuz1.asm b/src/main/fragment/pptz1=_ptr_pbuz1.asm new file mode 100644 index 000000000..281cef96d --- /dev/null +++ b/src/main/fragment/pptz1=_ptr_pbuz1.asm @@ -0,0 +1 @@ +// Do nothing \ No newline at end of file diff --git a/src/main/fragment/pptz1=_ptr_pbuz2.asm b/src/main/fragment/pptz1=_ptr_pbuz2.asm new file mode 100644 index 000000000..5b8ff5c26 --- /dev/null +++ b/src/main/fragment/pptz1=_ptr_pbuz2.asm @@ -0,0 +1,4 @@ +lda {z2} +sta {z1} +lda {z2}+1 +sta {z1}+1 diff --git a/src/main/fragment/pwuz1=_ptr_pbuz1.asm b/src/main/fragment/pwuz1=_ptr_pbuz1.asm new file mode 100644 index 000000000..281cef96d --- /dev/null +++ b/src/main/fragment/pwuz1=_ptr_pbuz1.asm @@ -0,0 +1 @@ +// Do nothing \ No newline at end of file diff --git a/src/main/fragment/pwuz1=_ptr_pbuz2.asm b/src/main/fragment/pwuz1=_ptr_pbuz2.asm new file mode 100644 index 000000000..113613e13 --- /dev/null +++ b/src/main/fragment/pwuz1=_ptr_pbuz2.asm @@ -0,0 +1,4 @@ +lda {z2} +sta {z1} +lda {z2}+1 +sta {z1}+1 \ No newline at end of file diff --git a/src/main/fragment/vbuaa=_hi__deref_pwuz1.asm b/src/main/fragment/vbuaa=_hi__deref_pwuz1.asm new file mode 100644 index 000000000..0f04c643d --- /dev/null +++ b/src/main/fragment/vbuaa=_hi__deref_pwuz1.asm @@ -0,0 +1,2 @@ +ldy #1 +lda ({z1}),y \ No newline at end of file diff --git a/src/main/fragment/vbuaa=_lo__deref_pwuz1.asm b/src/main/fragment/vbuaa=_lo__deref_pwuz1.asm new file mode 100644 index 000000000..183e5c63c --- /dev/null +++ b/src/main/fragment/vbuaa=_lo__deref_pwuz1.asm @@ -0,0 +1,2 @@ +ldy #0 +lda ({z1}),y \ No newline at end of file diff --git a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java index fdb0c7c75..3cdcae9e0 100644 --- a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java +++ b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java @@ -37,6 +37,11 @@ public class TestPrograms { // compileAndCompare("pointer-cast-3"); //} + @Test + public void testSemiStruct2() throws IOException, URISyntaxException { + compileAndCompare("semi-struct-2"); + } + @Test public void testReserveZpGlobal() throws IOException, URISyntaxException { compileAndCompare("reserve-zp-global"); diff --git a/src/test/kc/semi-struct-2.kc b/src/test/kc/semi-struct-2.kc new file mode 100644 index 000000000..8640b8bad --- /dev/null +++ b/src/test/kc/semi-struct-2.kc @@ -0,0 +1,186 @@ +// Implementing a semi-struct without the struct keyword by using pointer math and inline functions +// +// struct fileentry { +// BYTE *bufDisk; // file position in disk buffer. +// BYTE *bufEdit; // file edits +// WORD tsLen; // num of sectors +// TS *tsOrder; +// BYTE tLastLink; +// BYTE sLastLink; +// BYTE bFlag; +// BYTE bError; +// WORD uCross; // num of crosslinked sectors +// BYTE bAddrLo; // start address +// BYTE bAddrHi; +// BYTE tHi; // highest track +// BYTE tLo; // lowest track +// }; +// typedef struct fileentry ENTRY; +// ENTRY files[MAX_FILES]; + +import "multiply" +import "print" +import "keyboard" + +// The size of a file ENTRY +const byte ENTRY_SIZE = 18; + +// The maximal number of files +const byte MAX_FILES = 144; + +// All files +byte[(word)MAX_FILES*ENTRY_SIZE] files; + +// Get pointer to a numbered file entry in the files-table +inline byte* fileEntry(byte idx) { + return files+mul8u(idx, ENTRY_SIZE); +} + +// Get file position in disk buffer. +inline byte** entryBufDisk(byte* entry) { + return (byte**)(entry+0); +} + +// Get file edits +inline byte** entryBufEdit(byte* entry) { + return (byte**)(entry+2); +} + +// Get number of sectors +inline word* entryTsLen(byte* entry) { + return (word*)(entry+4); +} + +inline word** entryTsOrder(byte* entry) { + return (word**)(entry+6); +} + +inline byte* entryTLastLink(byte* entry) { + return (entry+8); +} + +inline byte* entrySLastLink(byte* entry) { + return (entry+9); +} + +inline byte* entryBFlag(byte* entry) { + return (entry+10); +} + +inline byte* entryBError(byte* entry) { + return (entry+11); +} + +// Get num of crosslinked sectors +inline word* entryUCross(byte* entry) { + return (word*)(entry+12); +} + +// Get start address low byte +inline byte* entryBAddrLo(byte* entry) { + return (entry+14); +} + +// Get start address high byte +inline byte* entryBAddrHi(byte* entry) { + return (entry+15); +} + +// Get highest track +inline byte* entryTHi(byte* entry) { + return (entry+16); +} + +// Get lowest track +inline byte* entryTLo(byte* entry) { + return (entry+17); +} + +// Initialize 2 file entries and print them +void main() { + keyboard_init(); + byte* entry1 = fileEntry(1); + byte* entry2 = fileEntry(2); + initEntry(entry1,$00); + initEntry(entry2,$80); + print_cls(); + print_str("** entry 1 **"); + print_ln(); + print_ln(); + printEntry(entry1); + print_ln(); + print_str("- press space -"); + while(keyboard_key_pressed(KEY_SPACE)==0) {} + print_cls(); + print_str("** entry 2 **"); + print_ln(); + print_ln(); + printEntry(entry2); + print_ln(); + print_str("- press space -"); + while(keyboard_key_pressed(KEY_SPACE)==0) {} + print_cls(); +} + +// Set all values in the passed struct +// Sets the values to n, n+1, n... to help test that everything works as intended +void initEntry(byte* entry, byte n) { + *entryBufDisk(entry) = n+1; + *entryBufEdit(entry) = n+2; + *entryTsLen(entry) = n+3; + *entryTsOrder(entry) = n+4; + *entryTLastLink(entry) = n+5; + *entrySLastLink(entry) = n+6; + *entryBFlag(entry) = n+7; + *entryBError(entry) = n+8; + *entryUCross(entry) = n+9; + *entryBAddrLo(entry) = n+10; + *entryBAddrHi(entry) = n+11; + *entryTHi(entry) = n+12; + *entryTLo(entry) = n+13; +} + +// Print the contents of a file entry +void printEntry(byte* entry) { + print_str("bufdisk "); + print_word((word)*entryBufDisk(entry)); + print_ln(); + print_str("bufedit "); + print_word((word)*entryBufEdit(entry)); + print_ln(); + print_str("tslen "); + print_word(*entryTsLen(entry)); + print_ln(); + print_str("tsorder "); + print_word((word)*entryTsOrder(entry)); + print_ln(); + print_str("tlastlink "); + print_byte(*entryTLastLink(entry)); + print_ln(); + print_str("slastlink "); + print_byte(*entrySLastLink(entry)); + print_ln(); + print_str("bflag "); + print_byte(*entryBFlag(entry)); + print_ln(); + print_str("berror "); + print_byte(*entryBError(entry)); + print_ln(); + print_str("ucross "); + print_word(*entryUCross(entry)); + print_ln(); + print_str("baddrlo "); + print_byte(*entryBAddrLo(entry)); + print_ln(); + print_str("baddrhi "); + print_byte(*entryBAddrHi(entry)); + print_ln(); + print_str("thi "); + print_byte(*entryTHi(entry)); + print_ln(); + print_str("tlo "); + print_byte(*entryTLo(entry)); + print_ln(); +} + + diff --git a/src/test/ref/semi-struct-2.asm b/src/test/ref/semi-struct-2.asm new file mode 100644 index 000000000..e94954217 --- /dev/null +++ b/src/test/ref/semi-struct-2.asm @@ -0,0 +1,961 @@ +// Implementing a semi-struct without the struct keyword by using pointer math and inline functions +// +// struct fileentry { +// BYTE *bufDisk; // file position in disk buffer. +// BYTE *bufEdit; // file edits +// WORD tsLen; // num of sectors +// TS *tsOrder; +// BYTE tLastLink; +// BYTE sLastLink; +// BYTE bFlag; +// BYTE bError; +// WORD uCross; // num of crosslinked sectors +// BYTE bAddrLo; // start address +// BYTE bAddrHi; +// BYTE tHi; // highest track +// BYTE tLo; // lowest track +// }; +// typedef struct fileentry ENTRY; +// ENTRY files[MAX_FILES]; +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" + // CIA#1 Port A: keyboard matrix columns and joystick #2 + .label CIA1_PORT_A = $dc00 + // CIA#1 Port B: keyboard matrix rows and joystick #1. + .label CIA1_PORT_B = $dc01 + // CIA #1 Port A data direction register. + .label CIA1_PORT_A_DDR = $dc02 + // CIA #1 Port B data direction register. + .label CIA1_PORT_B_DDR = $dc03 + .const KEY_SPACE = $3c + // The size of a file ENTRY + .const ENTRY_SIZE = $12 + // The maximal number of files + .const MAX_FILES = $90 + .label print_char_cursor = 6 + .label print_line_cursor = $b + .label print_line_cursor_32 = 2 + .label print_line_cursor_63 = 2 + .label print_line_cursor_159 = 2 + .label print_line_cursor_160 = 2 + .label print_line_cursor_161 = 2 + .label print_line_cursor_162 = 2 + .label print_line_cursor_163 = 2 + .label print_line_cursor_164 = 2 + .label print_line_cursor_165 = 2 + .label print_line_cursor_166 = 2 + .label print_line_cursor_167 = 2 + .label print_line_cursor_168 = 2 + .label print_line_cursor_169 = 2 + .label print_line_cursor_170 = 2 + .label print_line_cursor_171 = 2 + .label print_line_cursor_172 = 2 + .label print_line_cursor_173 = 2 + .label print_line_cursor_174 = 2 + .label print_line_cursor_175 = 2 + .label print_line_cursor_177 = 2 +// Initialize 2 file entries and print them +main: { + .const fileEntry1_idx = 1 + .const fileEntry2_idx = 2 + .label fileEntry1__0 = 4 + .label entry1 = 4 + .label fileEntry2__0 = 9 + .label entry2 = 9 + jsr keyboard_init + ldx #fileEntry1_idx + jsr mul8u + lda mul8u.return + sta fileEntry1__0 + lda mul8u.return+1 + sta fileEntry1__0+1 + clc + lda entry1 + adc #files + sta entry1+1 + ldx #fileEntry2_idx + jsr mul8u + clc + lda entry2 + adc #files + sta entry2+1 + lda entry1 + sta initEntry.entry + lda entry1+1 + sta initEntry.entry+1 + lda #0 + sta initEntry.n + jsr initEntry + lda entry2 + sta initEntry.entry + lda entry2+1 + sta initEntry.entry+1 + lda #$80 + sta initEntry.n + jsr initEntry + jsr print_cls + lda #<$400 + sta print_char_cursor + lda #>$400 + sta print_char_cursor+1 + lda #str + sta print_str.str+1 + jsr print_str + lda #<$400 + sta print_line_cursor_63 + lda #>$400 + sta print_line_cursor_63+1 + jsr print_ln + lda print_line_cursor + sta print_line_cursor_159 + lda print_line_cursor+1 + sta print_line_cursor_159+1 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + jsr print_ln + jsr printEntry + lda print_line_cursor + sta print_line_cursor_160 + lda print_line_cursor+1 + sta print_line_cursor_160+1 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + jsr print_ln + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + lda #str1 + sta print_str.str+1 + jsr print_str + b1: + jsr keyboard_key_pressed + cmp #0 + beq b1 + jsr print_cls + lda #<$400 + sta print_char_cursor + lda #>$400 + sta print_char_cursor+1 + lda #str2 + sta print_str.str+1 + jsr print_str + lda #<$400 + sta print_line_cursor_63 + lda #>$400 + sta print_line_cursor_63+1 + jsr print_ln + lda print_line_cursor + sta print_line_cursor_161 + lda print_line_cursor+1 + sta print_line_cursor_161+1 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + jsr print_ln + lda entry2 + sta printEntry.entry + lda entry2+1 + sta printEntry.entry+1 + jsr printEntry + lda print_line_cursor + sta print_line_cursor_162 + lda print_line_cursor+1 + sta print_line_cursor_162+1 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + jsr print_ln + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + lda #str1 + sta print_str.str+1 + jsr print_str + b3: + jsr keyboard_key_pressed + cmp #0 + beq b3 + jsr print_cls + rts + str: .text "** entry 1 **@" + str1: .text "- press space -@" + str2: .text "** entry 2 **@" +} +// Clear the screen. Also resets current line/char cursor. +print_cls: { + .label sc = 2 + lda #<$400 + sta sc + lda #>$400 + sta sc+1 + b1: + lda #' ' + ldy #0 + sta (sc),y + inc sc + bne !+ + inc sc+1 + !: + lda sc+1 + cmp #>$400+$3e8 + bne b1 + lda sc + cmp #<$400+$3e8 + bne b1 + rts +} +// Determines whether a specific key is currently pressed by accessing the matrix directly +// The key is a keyboard code defined from the keyboard matrix by %00rrrccc, where rrr is the row ID (0-7) and ccc is the column ID (0-7) +// All keys exist as as KEY_XXX constants. +// Returns zero if the key is not pressed and a non-zero value if the key is currently pressed +keyboard_key_pressed: { + .const colidx = KEY_SPACE&7 + .label rowidx = KEY_SPACE>>3 + jsr keyboard_matrix_read + and keyboard_matrix_col_bitmask+colidx + rts +} +// Read a single row of the keyboard matrix +// The row ID (0-7) of the keyboard matrix row to read. See the C64 key matrix for row IDs. +// Returns the keys pressed on the row as bits according to the C64 key matrix. +// Notice: If the C64 normal interrupt is still running it will occasionally interrupt right between the read & write +// leading to erroneous readings. You must disable kill the normal interrupt or sei/cli around calls to the keyboard matrix reader. +keyboard_matrix_read: { + lda keyboard_matrix_row_bitmask+keyboard_key_pressed.rowidx + sta CIA1_PORT_A + lda CIA1_PORT_B + eor #$ff + rts +} +// Print a zero-terminated string +// print_str(byte* zeropage(2) str) +print_str: { + .label str = 2 + b1: + ldy #0 + lda (str),y + cmp #'@' + bne b2 + rts + b2: + ldy #0 + lda (str),y + sta (print_char_cursor),y + inc print_char_cursor + bne !+ + inc print_char_cursor+1 + !: + inc str + bne !+ + inc str+1 + !: + jmp b1 +} +// Print a newline +print_ln: { + b1: + lda #$28 + clc + adc print_line_cursor_32 + sta print_line_cursor + lda #0 + adc print_line_cursor_32+1 + sta print_line_cursor+1 + cmp print_char_cursor+1 + bcc b2 + bne !+ + lda print_line_cursor + cmp print_char_cursor + bcc b2 + !: + rts + b2: + lda print_line_cursor + sta print_line_cursor_177 + lda print_line_cursor+1 + sta print_line_cursor_177+1 + jmp b1 +} +// Print the contents of a file entry +// printEntry(byte* zeropage(4) entry) +printEntry: { + .label entry = 4 + .label entryBufDisk1__0 = 4 + .label entryBufDisk1_return = 2 + .label entryBufEdit1__0 = 2 + .label entryBufEdit1_return = 2 + .label entryTsLen1__0 = 2 + .label entryTsLen1_return = 2 + .label entryTsOrder1__0 = 2 + .label entryTsOrder1_return = 2 + .label entryTLastLink1_return = 2 + .label entrySLastLink1_return = 2 + .label entryBFlag1_return = 2 + .label entryBError1_return = 2 + .label entryUCross1__0 = 2 + .label entryUCross1_return = 2 + .label entryBAddrLo1_return = 2 + .label entryBAddrHi1_return = 2 + .label entryTHi1_return = 2 + .label entryTLo1_return = 4 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + lda #str + sta print_str.str+1 + jsr print_str + lda entryBufDisk1__0 + sta entryBufDisk1_return + lda entryBufDisk1__0+1 + sta entryBufDisk1_return+1 + ldy #0 + lda (print_word.w),y + tax + iny + lda (print_word.w),y + sta print_word.w+1 + stx print_word.w + jsr print_word + lda print_line_cursor + sta print_line_cursor_163 + lda print_line_cursor+1 + sta print_line_cursor_163+1 + jsr print_ln + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + lda #str1 + sta print_str.str+1 + jsr print_str + lda entryBufDisk1__0 + clc + adc #2 + sta entryBufEdit1__0 + lda entryBufDisk1__0+1 + adc #0 + sta entryBufEdit1__0+1 + ldy #0 + lda (print_word.w),y + tax + iny + lda (print_word.w),y + sta print_word.w+1 + stx print_word.w + jsr print_word + lda print_line_cursor + sta print_line_cursor_164 + lda print_line_cursor+1 + sta print_line_cursor_164+1 + jsr print_ln + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + lda #str2 + sta print_str.str+1 + jsr print_str + lda #4 + clc + adc entryBufDisk1__0 + sta entryTsLen1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsLen1__0+1 + ldy #0 + lda (print_word.w),y + tax + iny + lda (print_word.w),y + sta print_word.w+1 + stx print_word.w + jsr print_word + lda print_line_cursor + sta print_line_cursor_165 + lda print_line_cursor+1 + sta print_line_cursor_165+1 + jsr print_ln + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + lda #str3 + sta print_str.str+1 + jsr print_str + lda #6 + clc + adc entryBufDisk1__0 + sta entryTsOrder1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsOrder1__0+1 + ldy #0 + lda (print_word.w),y + tax + iny + lda (print_word.w),y + sta print_word.w+1 + stx print_word.w + jsr print_word + lda print_line_cursor + sta print_line_cursor_166 + lda print_line_cursor+1 + sta print_line_cursor_166+1 + jsr print_ln + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + lda #str4 + sta print_str.str+1 + jsr print_str + lda #8 + clc + adc entryBufDisk1__0 + sta entryTLastLink1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTLastLink1_return+1 + ldy #0 + lda (entryTLastLink1_return),y + tax + jsr print_byte + lda print_line_cursor + sta print_line_cursor_167 + lda print_line_cursor+1 + sta print_line_cursor_167+1 + jsr print_ln + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + lda #str5 + sta print_str.str+1 + jsr print_str + lda #9 + clc + adc entryBufDisk1__0 + sta entrySLastLink1_return + lda #0 + adc entryBufDisk1__0+1 + sta entrySLastLink1_return+1 + ldy #0 + lda (entrySLastLink1_return),y + tax + jsr print_byte + lda print_line_cursor + sta print_line_cursor_168 + lda print_line_cursor+1 + sta print_line_cursor_168+1 + jsr print_ln + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + lda #str6 + sta print_str.str+1 + jsr print_str + lda #$a + clc + adc entryBufDisk1__0 + sta entryBFlag1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBFlag1_return+1 + ldy #0 + lda (entryBFlag1_return),y + tax + jsr print_byte + lda print_line_cursor + sta print_line_cursor_169 + lda print_line_cursor+1 + sta print_line_cursor_169+1 + jsr print_ln + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + lda #str7 + sta print_str.str+1 + jsr print_str + lda #$b + clc + adc entryBufDisk1__0 + sta entryBError1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBError1_return+1 + ldy #0 + lda (entryBError1_return),y + tax + jsr print_byte + lda print_line_cursor + sta print_line_cursor_170 + lda print_line_cursor+1 + sta print_line_cursor_170+1 + jsr print_ln + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + lda #str8 + sta print_str.str+1 + jsr print_str + lda #$c + clc + adc entryBufDisk1__0 + sta entryUCross1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryUCross1__0+1 + ldy #0 + lda (print_word.w),y + tax + iny + lda (print_word.w),y + sta print_word.w+1 + stx print_word.w + jsr print_word + lda print_line_cursor + sta print_line_cursor_171 + lda print_line_cursor+1 + sta print_line_cursor_171+1 + jsr print_ln + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + lda #str9 + sta print_str.str+1 + jsr print_str + lda #$e + clc + adc entryBufDisk1__0 + sta entryBAddrLo1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBAddrLo1_return+1 + ldy #0 + lda (entryBAddrLo1_return),y + tax + jsr print_byte + lda print_line_cursor + sta print_line_cursor_172 + lda print_line_cursor+1 + sta print_line_cursor_172+1 + jsr print_ln + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + lda #str10 + sta print_str.str+1 + jsr print_str + lda #$f + clc + adc entryBufDisk1__0 + sta entryBAddrHi1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBAddrHi1_return+1 + ldy #0 + lda (entryBAddrHi1_return),y + tax + jsr print_byte + lda print_line_cursor + sta print_line_cursor_173 + lda print_line_cursor+1 + sta print_line_cursor_173+1 + jsr print_ln + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + lda #str11 + sta print_str.str+1 + jsr print_str + lda #$10 + clc + adc entryBufDisk1__0 + sta entryTHi1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTHi1_return+1 + ldy #0 + lda (entryTHi1_return),y + tax + jsr print_byte + lda print_line_cursor + sta print_line_cursor_174 + lda print_line_cursor+1 + sta print_line_cursor_174+1 + jsr print_ln + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + lda #str12 + sta print_str.str+1 + jsr print_str + lda #$11 + clc + adc entryTLo1_return + sta entryTLo1_return + bcc !+ + inc entryTLo1_return+1 + !: + ldy #0 + lda (entryTLo1_return),y + tax + jsr print_byte + lda print_line_cursor + sta print_line_cursor_175 + lda print_line_cursor+1 + sta print_line_cursor_175+1 + jsr print_ln + rts + str: .text "bufdisk @" + str1: .text "bufedit @" + str2: .text "tslen @" + str3: .text "tsorder @" + str4: .text "tlastlink @" + str5: .text "slastlink @" + str6: .text "bflag @" + str7: .text "berror @" + str8: .text "ucross @" + str9: .text "baddrlo @" + str10: .text "baddrhi @" + str11: .text "thi @" + str12: .text "tlo @" +} +// Print a byte as HEX +// print_byte(byte register(X) b) +print_byte: { + txa + lsr + lsr + lsr + lsr + tay + lda print_hextab,y + jsr print_char + lda #$f + axs #0 + lda print_hextab,x + jsr print_char + rts +} +// Print a single char +// print_char(byte register(A) ch) +print_char: { + ldy #0 + sta (print_char_cursor),y + inc print_char_cursor + bne !+ + inc print_char_cursor+1 + !: + rts +} +// Print a word as HEX +// print_word(word zeropage(2) w) +print_word: { + .label w = 2 + lda w+1 + tax + jsr print_byte + lda w + tax + jsr print_byte + rts +} +// Set all values in the passed struct +// Sets the values to n, n+1, n... to help test that everything works as intended +// initEntry(byte* zeropage(2) entry, byte zeropage(8) n) +initEntry: { + .label entry = 2 + .label entryBufDisk1__0 = 2 + .label entryBufDisk1_return = 6 + .label entryBufEdit1__0 = 6 + .label entryBufEdit1_return = 6 + .label entryTsLen1__0 = 6 + .label entryTsLen1_return = 6 + .label entryTsOrder1__0 = 6 + .label entryTsOrder1_return = 6 + .label entryTLastLink1_return = 6 + .label entrySLastLink1_return = 6 + .label entryBFlag1_return = 6 + .label entryBError1_return = 6 + .label entryUCross1__0 = 6 + .label entryUCross1_return = 6 + .label entryBAddrLo1_return = 6 + .label entryBAddrHi1_return = 6 + .label entryTHi1_return = 6 + .label entryTLo1_return = 2 + .label n = 8 + lda entryBufDisk1__0 + sta entryBufDisk1_return + lda entryBufDisk1__0+1 + sta entryBufDisk1_return+1 + lda n + clc + adc #1 + ldy #0 + sta (entryBufDisk1_return),y + tya + iny + sta (entryBufDisk1_return),y + lda entryBufDisk1__0 + clc + adc #2 + sta entryBufEdit1__0 + lda entryBufDisk1__0+1 + adc #0 + sta entryBufEdit1__0+1 + lda n + clc + adc #2 + ldy #0 + sta (entryBufEdit1_return),y + tya + iny + sta (entryBufEdit1_return),y + lda #4 + clc + adc entryBufDisk1__0 + sta entryTsLen1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsLen1__0+1 + lda #3 + clc + adc n + ldy #0 + sta (entryTsLen1_return),y + tya + iny + sta (entryTsLen1_return),y + lda #6 + clc + adc entryBufDisk1__0 + sta entryTsOrder1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsOrder1__0+1 + lda #4 + clc + adc n + ldy #0 + sta (entryTsOrder1_return),y + tya + iny + sta (entryTsOrder1_return),y + lda #8 + clc + adc entryBufDisk1__0 + sta entryTLastLink1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTLastLink1_return+1 + lda #5 + clc + adc n + ldy #0 + sta (entryTLastLink1_return),y + lda #9 + clc + adc entryBufDisk1__0 + sta entrySLastLink1_return + tya + adc entryBufDisk1__0+1 + sta entrySLastLink1_return+1 + lda #6 + clc + adc n + sta (entrySLastLink1_return),y + lda #$a + clc + adc entryBufDisk1__0 + sta entryBFlag1_return + tya + adc entryBufDisk1__0+1 + sta entryBFlag1_return+1 + lda #7 + clc + adc n + sta (entryBFlag1_return),y + lda #$b + clc + adc entryBufDisk1__0 + sta entryBError1_return + tya + adc entryBufDisk1__0+1 + sta entryBError1_return+1 + lda #8 + clc + adc n + sta (entryBError1_return),y + lda #$c + clc + adc entryBufDisk1__0 + sta entryUCross1__0 + tya + adc entryBufDisk1__0+1 + sta entryUCross1__0+1 + lda #9 + clc + adc n + sta (entryUCross1_return),y + tya + iny + sta (entryUCross1_return),y + lda #$e + clc + adc entryBufDisk1__0 + sta entryBAddrLo1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBAddrLo1_return+1 + lda #$a + clc + adc n + ldy #0 + sta (entryBAddrLo1_return),y + lda #$f + clc + adc entryBufDisk1__0 + sta entryBAddrHi1_return + tya + adc entryBufDisk1__0+1 + sta entryBAddrHi1_return+1 + lda #$b + clc + adc n + sta (entryBAddrHi1_return),y + lda #$10 + clc + adc entryBufDisk1__0 + sta entryTHi1_return + tya + adc entryBufDisk1__0+1 + sta entryTHi1_return+1 + lda #$c + clc + adc n + sta (entryTHi1_return),y + lda #$11 + clc + adc entryTLo1_return + sta entryTLo1_return + bcc !+ + inc entryTLo1_return+1 + !: + lda #$d + clc + adc n + ldy #0 + sta (entryTLo1_return),y + rts +} +// Perform binary multiplication of two unsigned 8-bit bytes into a 16-bit unsigned word +// mul8u(byte register(X) a) +mul8u: { + .label mb = 2 + .label res = 9 + .label return = 9 + lda #ENTRY_SIZE + sta mb + lda #0 + sta mb+1 + sta res + sta res+1 + b1: + cpx #0 + bne b2 + rts + b2: + txa + and #1 + cmp #0 + beq b3 + lda res + clc + adc mb + sta res + lda res+1 + adc mb+1 + sta res+1 + b3: + txa + lsr + tax + asl mb + rol mb+1 + jmp b1 +} +// Initialize keyboard reading by setting CIA#$ Data Direction Registers +keyboard_init: { + // Keyboard Matrix Columns Write Mode + lda #$ff + sta CIA1_PORT_A_DDR + // Keyboard Matrix Columns Read Mode + lda #0 + sta CIA1_PORT_B_DDR + rts +} + print_hextab: .text "0123456789abcdef" + // Keyboard row bitmask as expected by CIA#1 Port A when reading a specific keyboard matrix row (rows are numbered 0-7) + keyboard_matrix_row_bitmask: .byte $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f + // Keyboard matrix column bitmasks for a specific keybooard matrix column when reading the keyboard. (columns are numbered 0-7) + keyboard_matrix_col_bitmask: .byte 1, 2, 4, 8, $10, $20, $40, $80 + // All files + files: .fill MAX_FILES*ENTRY_SIZE, 0 diff --git a/src/test/ref/semi-struct-2.cfg b/src/test/ref/semi-struct-2.cfg new file mode 100644 index 000000000..a4e98b21a --- /dev/null +++ b/src/test/ref/semi-struct-2.cfg @@ -0,0 +1,559 @@ +@begin: scope:[] from + [0] phi() + to:@1 +@1: scope:[] from @begin + [1] phi() + [2] call main + to:@end +@end: scope:[] from @1 + [3] phi() +main: scope:[main] from @1 + [4] phi() + [5] call keyboard_init + to:main::fileEntry1 +main::fileEntry1: scope:[main] from main + [6] phi() + [7] call mul8u + [8] (word) mul8u::return#2 ← (word) mul8u::res#2 + to:main::@6 +main::@6: scope:[main] from main::fileEntry1 + [9] (word) main::fileEntry1_$0#0 ← (word) mul8u::return#2 + [10] (byte*) main::entry1#0 ← (const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 + (word) main::fileEntry1_$0#0 + to:main::fileEntry2 +main::fileEntry2: scope:[main] from main::@6 + [11] phi() + [12] call mul8u + [13] (word) mul8u::return#3 ← (word) mul8u::res#2 + to:main::@7 +main::@7: scope:[main] from main::fileEntry2 + [14] (word) main::fileEntry2_$0#0 ← (word) mul8u::return#3 + [15] (byte*) main::entry2#0 ← (const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 + (word) main::fileEntry2_$0#0 + to:main::@5 +main::@5: scope:[main] from main::@7 + [16] (byte*) initEntry::entry#0 ← (byte*) main::entry1#0 + [17] call initEntry + to:main::@8 +main::@8: scope:[main] from main::@5 + [18] (byte*) initEntry::entry#1 ← (byte*) main::entry2#0 + [19] call initEntry + to:main::@9 +main::@9: scope:[main] from main::@8 + [20] phi() + [21] call print_cls + to:main::@10 +main::@10: scope:[main] from main::@9 + [22] phi() + [23] call print_str + to:main::@11 +main::@11: scope:[main] from main::@10 + [24] phi() + [25] call print_ln + to:main::@12 +main::@12: scope:[main] from main::@11 + [26] (byte*~) print_line_cursor#159 ← (byte*) print_line_cursor#1 + [27] (byte*~) print_char_cursor#230 ← (byte*) print_line_cursor#1 + [28] call print_ln + to:main::@13 +main::@13: scope:[main] from main::@12 + [29] (byte*) printEntry::entry#0 ← (byte*) main::entry1#0 + [30] call printEntry + to:main::@14 +main::@14: scope:[main] from main::@13 + [31] (byte*~) print_line_cursor#160 ← (byte*) print_line_cursor#1 + [32] (byte*~) print_char_cursor#231 ← (byte*) print_line_cursor#1 + [33] call print_ln + to:main::@15 +main::@15: scope:[main] from main::@14 + [34] (byte*~) print_char_cursor#212 ← (byte*) print_line_cursor#1 + [35] call print_str + to:main::@1 +main::@1: scope:[main] from main::@15 main::@16 + [36] phi() + [37] call keyboard_key_pressed + [38] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 + to:main::@16 +main::@16: scope:[main] from main::@1 + [39] (byte~) main::$20 ← (byte) keyboard_key_pressed::return#2 + [40] if((byte~) main::$20==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@1 + to:main::@2 +main::@2: scope:[main] from main::@16 + [41] phi() + [42] call print_cls + to:main::@17 +main::@17: scope:[main] from main::@2 + [43] phi() + [44] call print_str + to:main::@18 +main::@18: scope:[main] from main::@17 + [45] phi() + [46] call print_ln + to:main::@19 +main::@19: scope:[main] from main::@18 + [47] (byte*~) print_line_cursor#161 ← (byte*) print_line_cursor#1 + [48] (byte*~) print_char_cursor#233 ← (byte*) print_line_cursor#1 + [49] call print_ln + to:main::@20 +main::@20: scope:[main] from main::@19 + [50] (byte*) printEntry::entry#1 ← (byte*) main::entry2#0 + [51] call printEntry + to:main::@21 +main::@21: scope:[main] from main::@20 + [52] (byte*~) print_line_cursor#162 ← (byte*) print_line_cursor#1 + [53] (byte*~) print_char_cursor#234 ← (byte*) print_line_cursor#1 + [54] call print_ln + to:main::@22 +main::@22: scope:[main] from main::@21 + [55] (byte*~) print_char_cursor#213 ← (byte*) print_line_cursor#1 + [56] call print_str + to:main::@3 +main::@3: scope:[main] from main::@22 main::@23 + [57] phi() + [58] call keyboard_key_pressed + [59] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 + to:main::@23 +main::@23: scope:[main] from main::@3 + [60] (byte~) main::$22 ← (byte) keyboard_key_pressed::return#3 + [61] if((byte~) main::$22==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@3 + to:main::@4 +main::@4: scope:[main] from main::@23 + [62] phi() + [63] call print_cls + to:main::@return +main::@return: scope:[main] from main::@4 + [64] return + to:@return +print_cls: scope:[print_cls] from main::@2 main::@4 main::@9 + [65] phi() + to:print_cls::@1 +print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 + [66] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word/dword/signed dword) $400 print_cls::@1/(byte*) print_cls::sc#1 ) + [67] *((byte*) print_cls::sc#2) ← (byte) ' ' + [68] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 + [69] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) $400+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 + to:print_cls::@return +print_cls::@return: scope:[print_cls] from print_cls::@1 + [70] return + to:@return +keyboard_key_pressed: scope:[keyboard_key_pressed] from main::@1 main::@3 + [71] phi() + [72] call keyboard_matrix_read + [73] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 + to:keyboard_key_pressed::@1 +keyboard_key_pressed::@1: scope:[keyboard_key_pressed] from keyboard_key_pressed + [74] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 + [75] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[8]) keyboard_matrix_col_bitmask#0+(const byte) keyboard_key_pressed::colidx#0) + to:keyboard_key_pressed::@return +keyboard_key_pressed::@return: scope:[keyboard_key_pressed] from keyboard_key_pressed::@1 + [76] return + to:@return +keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_key_pressed + [77] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0+(const byte) keyboard_key_pressed::rowidx#0) + [78] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) + to:keyboard_matrix_read::@return +keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matrix_read + [79] return + to:@return +print_str: scope:[print_str] from main::@10 main::@15 main::@17 main::@22 printEntry printEntry::@15 printEntry::@17 printEntry::@19 printEntry::@21 printEntry::@23 printEntry::@25 printEntry::@27 printEntry::@29 printEntry::@31 printEntry::@33 printEntry::@35 printEntry::@37 + [80] (byte*) print_char_cursor#164 ← phi( main::@10/((byte*))(word/signed word/dword/signed dword) $400 main::@15/(byte*~) print_char_cursor#212 main::@17/((byte*))(word/signed word/dword/signed dword) $400 main::@22/(byte*~) print_char_cursor#213 printEntry/(byte*~) print_char_cursor#214 printEntry::@15/(byte*~) print_char_cursor#215 printEntry::@17/(byte*~) print_char_cursor#216 printEntry::@19/(byte*~) print_char_cursor#217 printEntry::@21/(byte*~) print_char_cursor#218 printEntry::@23/(byte*~) print_char_cursor#219 printEntry::@25/(byte*~) print_char_cursor#220 printEntry::@27/(byte*~) print_char_cursor#221 printEntry::@29/(byte*~) print_char_cursor#222 printEntry::@31/(byte*~) print_char_cursor#223 printEntry::@33/(byte*~) print_char_cursor#224 printEntry::@35/(byte*~) print_char_cursor#225 printEntry::@37/(byte*~) print_char_cursor#226 ) + [80] (byte*) print_str::str#20 ← phi( main::@10/(const string) main::str main::@15/(const string) main::str1 main::@17/(const string) main::str2 main::@22/(const string) main::str1 printEntry/(const string) printEntry::str printEntry::@15/(const string) printEntry::str1 printEntry::@17/(const string) printEntry::str2 printEntry::@19/(const string) printEntry::str3 printEntry::@21/(const string) printEntry::str4 printEntry::@23/(const string) printEntry::str5 printEntry::@25/(const string) printEntry::str6 printEntry::@27/(const string) printEntry::str7 printEntry::@29/(const string) printEntry::str8 printEntry::@31/(const string) printEntry::str9 printEntry::@33/(const string) printEntry::str10 printEntry::@35/(const string) printEntry::str11 printEntry::@37/(const string) printEntry::str12 ) + to:print_str::@1 +print_str::@1: scope:[print_str] from print_str print_str::@2 + [81] (byte*) print_char_cursor#142 ← phi( print_str/(byte*) print_char_cursor#164 print_str::@2/(byte*) print_char_cursor#1 ) + [81] (byte*) print_str::str#18 ← phi( print_str/(byte*) print_str::str#20 print_str::@2/(byte*) print_str::str#0 ) + [82] if(*((byte*) print_str::str#18)!=(byte) '@') goto print_str::@2 + to:print_str::@return +print_str::@return: scope:[print_str] from print_str::@1 + [83] return + to:@return +print_str::@2: scope:[print_str] from print_str::@1 + [84] *((byte*) print_char_cursor#142) ← *((byte*) print_str::str#18) + [85] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#142 + [86] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#18 + to:print_str::@1 +print_ln: scope:[print_ln] from main::@11 main::@12 main::@14 main::@18 main::@19 main::@21 printEntry::@14 printEntry::@16 printEntry::@18 printEntry::@20 printEntry::@22 printEntry::@24 printEntry::@26 printEntry::@28 printEntry::@30 printEntry::@32 printEntry::@34 printEntry::@36 printEntry::@38 + [87] (byte*) print_char_cursor#143 ← phi( main::@11/(byte*) print_char_cursor#142 main::@12/(byte*~) print_char_cursor#230 main::@14/(byte*~) print_char_cursor#231 main::@18/(byte*) print_char_cursor#142 main::@19/(byte*~) print_char_cursor#233 main::@21/(byte*~) print_char_cursor#234 printEntry::@14/(byte*) print_char_cursor#11 printEntry::@16/(byte*) print_char_cursor#11 printEntry::@18/(byte*) print_char_cursor#11 printEntry::@20/(byte*) print_char_cursor#11 printEntry::@22/(byte*) print_char_cursor#11 printEntry::@24/(byte*) print_char_cursor#11 printEntry::@26/(byte*) print_char_cursor#11 printEntry::@28/(byte*) print_char_cursor#11 printEntry::@30/(byte*) print_char_cursor#11 printEntry::@32/(byte*) print_char_cursor#11 printEntry::@34/(byte*) print_char_cursor#11 printEntry::@36/(byte*) print_char_cursor#11 printEntry::@38/(byte*) print_char_cursor#11 ) + [87] (byte*) print_line_cursor#63 ← phi( main::@11/((byte*))(word/signed word/dword/signed dword) $400 main::@12/(byte*~) print_line_cursor#159 main::@14/(byte*~) print_line_cursor#160 main::@18/((byte*))(word/signed word/dword/signed dword) $400 main::@19/(byte*~) print_line_cursor#161 main::@21/(byte*~) print_line_cursor#162 printEntry::@14/(byte*~) print_line_cursor#163 printEntry::@16/(byte*~) print_line_cursor#164 printEntry::@18/(byte*~) print_line_cursor#165 printEntry::@20/(byte*~) print_line_cursor#166 printEntry::@22/(byte*~) print_line_cursor#167 printEntry::@24/(byte*~) print_line_cursor#168 printEntry::@26/(byte*~) print_line_cursor#169 printEntry::@28/(byte*~) print_line_cursor#170 printEntry::@30/(byte*~) print_line_cursor#171 printEntry::@32/(byte*~) print_line_cursor#172 printEntry::@34/(byte*~) print_line_cursor#173 printEntry::@36/(byte*~) print_line_cursor#174 printEntry::@38/(byte*~) print_line_cursor#175 ) + to:print_ln::@1 +print_ln::@1: scope:[print_ln] from print_ln print_ln::@2 + [88] (byte*) print_line_cursor#32 ← phi( print_ln/(byte*) print_line_cursor#63 print_ln::@2/(byte*~) print_line_cursor#177 ) + [89] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#32 + (byte/signed byte/word/signed word/dword/signed dword) $28 + [90] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#143) goto print_ln::@2 + to:print_ln::@return +print_ln::@return: scope:[print_ln] from print_ln::@1 + [91] return + to:@return +print_ln::@2: scope:[print_ln] from print_ln::@1 + [92] (byte*~) print_line_cursor#177 ← (byte*) print_line_cursor#1 + to:print_ln::@1 +printEntry: scope:[printEntry] from main::@13 main::@20 + [93] (byte*) printEntry::entryBufDisk1_$0#0 ← phi( main::@13/(byte*) printEntry::entry#0 main::@20/(byte*) printEntry::entry#1 ) + [94] (byte*~) print_char_cursor#214 ← (byte*) print_line_cursor#1 + [95] call print_str + to:printEntry::entryBufDisk1 +printEntry::entryBufDisk1: scope:[printEntry] from printEntry + [96] (byte**) printEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 + to:printEntry::@1 +printEntry::@1: scope:[printEntry] from printEntry::entryBufDisk1 + [97] (word~) print_word::w#7 ← (word)*((byte**) printEntry::entryBufDisk1_return#0) + [98] call print_word + to:printEntry::@14 +printEntry::@14: scope:[printEntry] from printEntry::@1 + [99] (byte*~) print_line_cursor#163 ← (byte*) print_line_cursor#1 + [100] call print_ln + to:printEntry::@15 +printEntry::@15: scope:[printEntry] from printEntry::@14 + [101] (byte*~) print_char_cursor#215 ← (byte*) print_line_cursor#1 + [102] call print_str + to:printEntry::entryBufEdit1 +printEntry::entryBufEdit1: scope:[printEntry] from printEntry::@15 + [103] (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 + [104] (byte**) printEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 + to:printEntry::@2 +printEntry::@2: scope:[printEntry] from printEntry::entryBufEdit1 + [105] (word~) print_word::w#8 ← (word)*((byte**) printEntry::entryBufEdit1_return#0) + [106] call print_word + to:printEntry::@16 +printEntry::@16: scope:[printEntry] from printEntry::@2 + [107] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 + [108] call print_ln + to:printEntry::@17 +printEntry::@17: scope:[printEntry] from printEntry::@16 + [109] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 + [110] call print_str + to:printEntry::entryTsLen1 +printEntry::entryTsLen1: scope:[printEntry] from printEntry::@17 + [111] (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 + [112] (word*) printEntry::entryTsLen1_return#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 + to:printEntry::@3 +printEntry::@3: scope:[printEntry] from printEntry::entryTsLen1 + [113] (word) print_word::w#2 ← *((word*) printEntry::entryTsLen1_return#0) + [114] call print_word + to:printEntry::@18 +printEntry::@18: scope:[printEntry] from printEntry::@3 + [115] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 + [116] call print_ln + to:printEntry::@19 +printEntry::@19: scope:[printEntry] from printEntry::@18 + [117] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 + [118] call print_str + to:printEntry::entryTsOrder1 +printEntry::entryTsOrder1: scope:[printEntry] from printEntry::@19 + [119] (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 + [120] (word**) printEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 + to:printEntry::@4 +printEntry::@4: scope:[printEntry] from printEntry::entryTsOrder1 + [121] (word~) print_word::w#10 ← (word)*((word**) printEntry::entryTsOrder1_return#0) + [122] call print_word + to:printEntry::@20 +printEntry::@20: scope:[printEntry] from printEntry::@4 + [123] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 + [124] call print_ln + to:printEntry::@21 +printEntry::@21: scope:[printEntry] from printEntry::@20 + [125] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 + [126] call print_str + to:printEntry::entryTLastLink1 +printEntry::entryTLastLink1: scope:[printEntry] from printEntry::@21 + [127] (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 + to:printEntry::@5 +printEntry::@5: scope:[printEntry] from printEntry::entryTLastLink1 + [128] (byte) print_byte::b#2 ← *((byte*) printEntry::entryTLastLink1_return#0) + [129] call print_byte + to:printEntry::@22 +printEntry::@22: scope:[printEntry] from printEntry::@5 + [130] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 + [131] call print_ln + to:printEntry::@23 +printEntry::@23: scope:[printEntry] from printEntry::@22 + [132] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 + [133] call print_str + to:printEntry::entrySLastLink1 +printEntry::entrySLastLink1: scope:[printEntry] from printEntry::@23 + [134] (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 + to:printEntry::@6 +printEntry::@6: scope:[printEntry] from printEntry::entrySLastLink1 + [135] (byte) print_byte::b#3 ← *((byte*) printEntry::entrySLastLink1_return#0) + [136] call print_byte + to:printEntry::@24 +printEntry::@24: scope:[printEntry] from printEntry::@6 + [137] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 + [138] call print_ln + to:printEntry::@25 +printEntry::@25: scope:[printEntry] from printEntry::@24 + [139] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 + [140] call print_str + to:printEntry::entryBFlag1 +printEntry::entryBFlag1: scope:[printEntry] from printEntry::@25 + [141] (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a + to:printEntry::@7 +printEntry::@7: scope:[printEntry] from printEntry::entryBFlag1 + [142] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBFlag1_return#0) + [143] call print_byte + to:printEntry::@26 +printEntry::@26: scope:[printEntry] from printEntry::@7 + [144] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 + [145] call print_ln + to:printEntry::@27 +printEntry::@27: scope:[printEntry] from printEntry::@26 + [146] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 + [147] call print_str + to:printEntry::entryBError1 +printEntry::entryBError1: scope:[printEntry] from printEntry::@27 + [148] (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b + to:printEntry::@8 +printEntry::@8: scope:[printEntry] from printEntry::entryBError1 + [149] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBError1_return#0) + [150] call print_byte + to:printEntry::@28 +printEntry::@28: scope:[printEntry] from printEntry::@8 + [151] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 + [152] call print_ln + to:printEntry::@29 +printEntry::@29: scope:[printEntry] from printEntry::@28 + [153] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 + [154] call print_str + to:printEntry::entryUCross1 +printEntry::entryUCross1: scope:[printEntry] from printEntry::@29 + [155] (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c + [156] (word*) printEntry::entryUCross1_return#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 + to:printEntry::@9 +printEntry::@9: scope:[printEntry] from printEntry::entryUCross1 + [157] (word) print_word::w#4 ← *((word*) printEntry::entryUCross1_return#0) + [158] call print_word + to:printEntry::@30 +printEntry::@30: scope:[printEntry] from printEntry::@9 + [159] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 + [160] call print_ln + to:printEntry::@31 +printEntry::@31: scope:[printEntry] from printEntry::@30 + [161] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 + [162] call print_str + to:printEntry::entryBAddrLo1 +printEntry::entryBAddrLo1: scope:[printEntry] from printEntry::@31 + [163] (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e + to:printEntry::@10 +printEntry::@10: scope:[printEntry] from printEntry::entryBAddrLo1 + [164] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBAddrLo1_return#0) + [165] call print_byte + to:printEntry::@32 +printEntry::@32: scope:[printEntry] from printEntry::@10 + [166] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 + [167] call print_ln + to:printEntry::@33 +printEntry::@33: scope:[printEntry] from printEntry::@32 + [168] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 + [169] call print_str + to:printEntry::entryBAddrHi1 +printEntry::entryBAddrHi1: scope:[printEntry] from printEntry::@33 + [170] (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f + to:printEntry::@11 +printEntry::@11: scope:[printEntry] from printEntry::entryBAddrHi1 + [171] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBAddrHi1_return#0) + [172] call print_byte + to:printEntry::@34 +printEntry::@34: scope:[printEntry] from printEntry::@11 + [173] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 + [174] call print_ln + to:printEntry::@35 +printEntry::@35: scope:[printEntry] from printEntry::@34 + [175] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 + [176] call print_str + to:printEntry::entryTHi1 +printEntry::entryTHi1: scope:[printEntry] from printEntry::@35 + [177] (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 + to:printEntry::@12 +printEntry::@12: scope:[printEntry] from printEntry::entryTHi1 + [178] (byte) print_byte::b#8 ← *((byte*) printEntry::entryTHi1_return#0) + [179] call print_byte + to:printEntry::@36 +printEntry::@36: scope:[printEntry] from printEntry::@12 + [180] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 + [181] call print_ln + to:printEntry::@37 +printEntry::@37: scope:[printEntry] from printEntry::@36 + [182] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 + [183] call print_str + to:printEntry::entryTLo1 +printEntry::entryTLo1: scope:[printEntry] from printEntry::@37 + [184] (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 + to:printEntry::@13 +printEntry::@13: scope:[printEntry] from printEntry::entryTLo1 + [185] (byte) print_byte::b#9 ← *((byte*) printEntry::entryTLo1_return#0) + [186] call print_byte + to:printEntry::@38 +printEntry::@38: scope:[printEntry] from printEntry::@13 + [187] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 + [188] call print_ln + to:printEntry::@return +printEntry::@return: scope:[printEntry] from printEntry::@38 + [189] return + to:@return +print_byte: scope:[print_byte] from printEntry::@10 printEntry::@11 printEntry::@12 printEntry::@13 printEntry::@5 printEntry::@6 printEntry::@7 printEntry::@8 print_word print_word::@1 + [190] (byte*) print_char_cursor#145 ← phi( printEntry::@10/(byte*) print_char_cursor#142 printEntry::@11/(byte*) print_char_cursor#142 printEntry::@12/(byte*) print_char_cursor#142 printEntry::@13/(byte*) print_char_cursor#142 printEntry::@5/(byte*) print_char_cursor#142 printEntry::@6/(byte*) print_char_cursor#142 printEntry::@7/(byte*) print_char_cursor#142 printEntry::@8/(byte*) print_char_cursor#142 print_word/(byte*) print_char_cursor#142 print_word::@1/(byte*) print_char_cursor#11 ) + [190] (byte) print_byte::b#10 ← phi( printEntry::@10/(byte) print_byte::b#6 printEntry::@11/(byte) print_byte::b#7 printEntry::@12/(byte) print_byte::b#8 printEntry::@13/(byte) print_byte::b#9 printEntry::@5/(byte) print_byte::b#2 printEntry::@6/(byte) print_byte::b#3 printEntry::@7/(byte) print_byte::b#4 printEntry::@8/(byte) print_byte::b#5 print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 ) + [191] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 + [192] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) + [193] call print_char + to:print_byte::@1 +print_byte::@1: scope:[print_byte] from print_byte + [194] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f + [195] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) + [196] call print_char + to:print_byte::@return +print_byte::@return: scope:[print_byte] from print_byte::@1 + [197] return + to:@return +print_char: scope:[print_char] from print_byte print_byte::@1 + [198] (byte*) print_char_cursor#82 ← phi( print_byte/(byte*) print_char_cursor#145 print_byte::@1/(byte*) print_char_cursor#11 ) + [198] (byte) print_char::ch#2 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 ) + [199] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 + [200] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 + to:print_char::@return +print_char::@return: scope:[print_char] from print_char + [201] return + to:@return +print_word: scope:[print_word] from printEntry::@1 printEntry::@2 printEntry::@3 printEntry::@4 printEntry::@9 + [202] (word) print_word::w#5 ← phi( printEntry::@1/(word~) print_word::w#7 printEntry::@2/(word~) print_word::w#8 printEntry::@3/(word) print_word::w#2 printEntry::@4/(word~) print_word::w#10 printEntry::@9/(word) print_word::w#4 ) + [203] (byte) print_byte::b#0 ← > (word) print_word::w#5 + [204] call print_byte + to:print_word::@1 +print_word::@1: scope:[print_word] from print_word + [205] (byte) print_byte::b#1 ← < (word) print_word::w#5 + [206] call print_byte + to:print_word::@return +print_word::@return: scope:[print_word] from print_word::@1 + [207] return + to:@return +initEntry: scope:[initEntry] from main::@5 main::@8 + [208] (byte) initEntry::n#10 ← phi( main::@5/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@8/(byte/word/signed word/dword/signed dword) $80 ) + [208] (byte*) initEntry::entryBufDisk1_$0#0 ← phi( main::@5/(byte*) initEntry::entry#0 main::@8/(byte*) initEntry::entry#1 ) + to:initEntry::entryBufDisk1 +initEntry::entryBufDisk1: scope:[initEntry] from initEntry + [209] (byte**) initEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 + to:initEntry::@1 +initEntry::@1: scope:[initEntry] from initEntry::entryBufDisk1 + [210] (byte/signed word/word/dword/signed dword~) initEntry::$1 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [211] *((byte**) initEntry::entryBufDisk1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 + to:initEntry::entryBufEdit1 +initEntry::entryBufEdit1: scope:[initEntry] from initEntry::@1 + [212] (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 + [213] (byte**) initEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 + to:initEntry::@2 +initEntry::@2: scope:[initEntry] from initEntry::entryBufEdit1 + [214] (byte/signed word/word/dword/signed dword~) initEntry::$3 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 + [215] *((byte**) initEntry::entryBufEdit1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 + to:initEntry::entryTsLen1 +initEntry::entryTsLen1: scope:[initEntry] from initEntry::@2 + [216] (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 + [217] (word*) initEntry::entryTsLen1_return#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 + to:initEntry::@3 +initEntry::@3: scope:[initEntry] from initEntry::entryTsLen1 + [218] (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 3 + [219] *((word*) initEntry::entryTsLen1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 + to:initEntry::entryTsOrder1 +initEntry::entryTsOrder1: scope:[initEntry] from initEntry::@3 + [220] (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 + [221] (word**) initEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 + to:initEntry::@4 +initEntry::@4: scope:[initEntry] from initEntry::entryTsOrder1 + [222] (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 4 + [223] *((word**) initEntry::entryTsOrder1_return#0) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 + to:initEntry::entryTLastLink1 +initEntry::entryTLastLink1: scope:[initEntry] from initEntry::@4 + [224] (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 + to:initEntry::@5 +initEntry::@5: scope:[initEntry] from initEntry::entryTLastLink1 + [225] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 5 + [226] *((byte*) initEntry::entryTLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 + to:initEntry::entrySLastLink1 +initEntry::entrySLastLink1: scope:[initEntry] from initEntry::@5 + [227] (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 + to:initEntry::@6 +initEntry::@6: scope:[initEntry] from initEntry::entrySLastLink1 + [228] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 6 + [229] *((byte*) initEntry::entrySLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 + to:initEntry::entryBFlag1 +initEntry::entryBFlag1: scope:[initEntry] from initEntry::@6 + [230] (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a + to:initEntry::@7 +initEntry::@7: scope:[initEntry] from initEntry::entryBFlag1 + [231] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 7 + [232] *((byte*) initEntry::entryBFlag1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 + to:initEntry::entryBError1 +initEntry::entryBError1: scope:[initEntry] from initEntry::@7 + [233] (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b + to:initEntry::@8 +initEntry::@8: scope:[initEntry] from initEntry::entryBError1 + [234] (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 8 + [235] *((byte*) initEntry::entryBError1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 + to:initEntry::entryUCross1 +initEntry::entryUCross1: scope:[initEntry] from initEntry::@8 + [236] (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c + [237] (word*) initEntry::entryUCross1_return#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 + to:initEntry::@9 +initEntry::@9: scope:[initEntry] from initEntry::entryUCross1 + [238] (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 + [239] *((word*) initEntry::entryUCross1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 + to:initEntry::entryBAddrLo1 +initEntry::entryBAddrLo1: scope:[initEntry] from initEntry::@9 + [240] (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e + to:initEntry::@10 +initEntry::@10: scope:[initEntry] from initEntry::entryBAddrLo1 + [241] (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $a + [242] *((byte*) initEntry::entryBAddrLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 + to:initEntry::entryBAddrHi1 +initEntry::entryBAddrHi1: scope:[initEntry] from initEntry::@10 + [243] (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f + to:initEntry::@11 +initEntry::@11: scope:[initEntry] from initEntry::entryBAddrHi1 + [244] (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $b + [245] *((byte*) initEntry::entryBAddrHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 + to:initEntry::entryTHi1 +initEntry::entryTHi1: scope:[initEntry] from initEntry::@11 + [246] (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 + to:initEntry::@12 +initEntry::@12: scope:[initEntry] from initEntry::entryTHi1 + [247] (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $c + [248] *((byte*) initEntry::entryTHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 + to:initEntry::entryTLo1 +initEntry::entryTLo1: scope:[initEntry] from initEntry::@12 + [249] (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 + to:initEntry::@13 +initEntry::@13: scope:[initEntry] from initEntry::entryTLo1 + [250] (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $d + [251] *((byte*) initEntry::entryTLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 + to:initEntry::@return +initEntry::@return: scope:[initEntry] from initEntry::@13 + [252] return + to:@return +mul8u: scope:[mul8u] from main::fileEntry1 main::fileEntry2 + [253] (byte) mul8u::a#6 ← phi( main::fileEntry1/(const byte) main::fileEntry1_idx#0 main::fileEntry2/(const byte) main::fileEntry2_idx#0 ) + to:mul8u::@1 +mul8u::@1: scope:[mul8u] from mul8u mul8u::@3 + [254] (word) mul8u::mb#2 ← phi( mul8u/((word))(const byte) ENTRY_SIZE#0 mul8u::@3/(word) mul8u::mb#1 ) + [254] (word) mul8u::res#2 ← phi( mul8u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul8u::@3/(word) mul8u::res#6 ) + [254] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@3/(byte) mul8u::a#0 ) + [255] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 + to:mul8u::@return +mul8u::@return: scope:[mul8u] from mul8u::@1 + [256] return + to:@return +mul8u::@2: scope:[mul8u] from mul8u::@1 + [257] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 + [258] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@3 + to:mul8u::@4 +mul8u::@4: scope:[mul8u] from mul8u::@2 + [259] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 + to:mul8u::@3 +mul8u::@3: scope:[mul8u] from mul8u::@2 mul8u::@4 + [260] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@4/(word) mul8u::res#1 ) + [261] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [262] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 + to:mul8u::@1 +keyboard_init: scope:[keyboard_init] from main + [263] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff + [264] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:keyboard_init::@return +keyboard_init::@return: scope:[keyboard_init] from keyboard_init + [265] return + to:@return diff --git a/src/test/ref/semi-struct-2.log b/src/test/ref/semi-struct-2.log new file mode 100644 index 000000000..3344a2ed7 --- /dev/null +++ b/src/test/ref/semi-struct-2.log @@ -0,0 +1,11427 @@ +Inlined call (byte~) vicSelectGfxBank::$0 ← call toDd00 (byte*) vicSelectGfxBank::gfx +Inlined call (byte*~) main::$1 ← call fileEntry (byte/signed byte/word/signed word/dword/signed dword) 1 +Inlined call (byte*~) main::$2 ← call fileEntry (byte/signed byte/word/signed word/dword/signed dword) 2 +Inlined call (byte**~) initEntry::$0 ← call entryBufDisk (byte*) initEntry::entry +Inlined call (byte**~) initEntry::$2 ← call entryBufEdit (byte*) initEntry::entry +Inlined call (word*~) initEntry::$4 ← call entryTsLen (byte*) initEntry::entry +Inlined call (word**~) initEntry::$6 ← call entryTsOrder (byte*) initEntry::entry +Inlined call (byte*~) initEntry::$8 ← call entryTLastLink (byte*) initEntry::entry +Inlined call (byte*~) initEntry::$10 ← call entrySLastLink (byte*) initEntry::entry +Inlined call (byte*~) initEntry::$12 ← call entryBFlag (byte*) initEntry::entry +Inlined call (byte*~) initEntry::$14 ← call entryBError (byte*) initEntry::entry +Inlined call (word*~) initEntry::$16 ← call entryUCross (byte*) initEntry::entry +Inlined call (byte*~) initEntry::$18 ← call entryBAddrLo (byte*) initEntry::entry +Inlined call (byte*~) initEntry::$20 ← call entryBAddrHi (byte*) initEntry::entry +Inlined call (byte*~) initEntry::$22 ← call entryTHi (byte*) initEntry::entry +Inlined call (byte*~) initEntry::$24 ← call entryTLo (byte*) initEntry::entry +Inlined call (byte**~) printEntry::$1 ← call entryBufDisk (byte*) printEntry::entry +Inlined call (byte**~) printEntry::$6 ← call entryBufEdit (byte*) printEntry::entry +Inlined call (word*~) printEntry::$11 ← call entryTsLen (byte*) printEntry::entry +Inlined call (word**~) printEntry::$15 ← call entryTsOrder (byte*) printEntry::entry +Inlined call (byte*~) printEntry::$20 ← call entryTLastLink (byte*) printEntry::entry +Inlined call (byte*~) printEntry::$24 ← call entrySLastLink (byte*) printEntry::entry +Inlined call (byte*~) printEntry::$28 ← call entryBFlag (byte*) printEntry::entry +Inlined call (byte*~) printEntry::$32 ← call entryBError (byte*) printEntry::entry +Inlined call (word*~) printEntry::$36 ← call entryUCross (byte*) printEntry::entry +Inlined call (byte*~) printEntry::$40 ← call entryBAddrLo (byte*) printEntry::entry +Inlined call (byte*~) printEntry::$44 ← call entryBAddrHi (byte*) printEntry::entry +Inlined call (byte*~) printEntry::$48 ← call entryTHi (byte*) printEntry::entry +Inlined call (byte*~) printEntry::$52 ← call entryTLo (byte*) printEntry::entry + +CONTROL FLOW GRAPH SSA +@begin: scope:[] from + to:@5 +mul8u: scope:[mul8u] from main::fileEntry1 main::fileEntry2 + (byte) mul8u::a#6 ← phi( main::fileEntry1/(byte) mul8u::a#1 main::fileEntry2/(byte) mul8u::a#2 ) + (byte) mul8u::b#2 ← phi( main::fileEntry1/(byte) mul8u::b#0 main::fileEntry2/(byte) mul8u::b#1 ) + (word) mul8u::res#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 + to:mul8u::@1 +mul8u::@1: scope:[mul8u] from mul8u mul8u::@4 + (word) mul8u::mb#5 ← phi( mul8u/(word) mul8u::mb#0 mul8u::@4/(word) mul8u::mb#1 ) + (word) mul8u::res#4 ← phi( mul8u/(word) mul8u::res#0 mul8u::@4/(word) mul8u::res#6 ) + (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@4/(byte) mul8u::a#0 ) + (bool~) mul8u::$0 ← (byte) mul8u::a#3 != (byte/signed byte/word/signed word/dword/signed dword) 0 + if((bool~) mul8u::$0) goto mul8u::@2 + to:mul8u::@3 +mul8u::@2: scope:[mul8u] from mul8u::@1 + (word) mul8u::res#5 ← phi( mul8u::@1/(word) mul8u::res#4 ) + (word) mul8u::mb#4 ← phi( mul8u::@1/(word) mul8u::mb#5 ) + (byte) mul8u::a#4 ← phi( mul8u::@1/(byte) mul8u::a#3 ) + (byte~) mul8u::$1 ← (byte) mul8u::a#4 & (byte/signed byte/word/signed word/dword/signed dword) 1 + (bool~) mul8u::$2 ← (byte~) mul8u::$1 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (bool~) mul8u::$3 ← ! (bool~) mul8u::$2 + if((bool~) mul8u::$3) goto mul8u::@4 + to:mul8u::@7 +mul8u::@3: scope:[mul8u] from mul8u::@1 + (word) mul8u::res#2 ← phi( mul8u::@1/(word) mul8u::res#4 ) + (word) mul8u::return#0 ← (word) mul8u::res#2 + to:mul8u::@return +mul8u::@4: scope:[mul8u] from mul8u::@2 mul8u::@7 + (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#5 mul8u::@7/(word) mul8u::res#1 ) + (word) mul8u::mb#2 ← phi( mul8u::@2/(word) mul8u::mb#4 mul8u::@7/(word) mul8u::mb#3 ) + (byte) mul8u::a#5 ← phi( mul8u::@2/(byte) mul8u::a#4 mul8u::@7/(byte) mul8u::a#7 ) + (byte~) mul8u::$5 ← (byte) mul8u::a#5 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) mul8u::a#0 ← (byte~) mul8u::$5 + (word~) mul8u::$6 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) mul8u::mb#1 ← (word~) mul8u::$6 + to:mul8u::@1 +mul8u::@7: scope:[mul8u] from mul8u::@2 + (byte) mul8u::a#7 ← phi( mul8u::@2/(byte) mul8u::a#4 ) + (word) mul8u::mb#3 ← phi( mul8u::@2/(word) mul8u::mb#4 ) + (word) mul8u::res#3 ← phi( mul8u::@2/(word) mul8u::res#5 ) + (word~) mul8u::$4 ← (word) mul8u::res#3 + (word) mul8u::mb#3 + (word) mul8u::res#1 ← (word~) mul8u::$4 + to:mul8u::@4 +mul8u::@return: scope:[mul8u] from mul8u::@3 + (word) mul8u::return#4 ← phi( mul8u::@3/(word) mul8u::return#0 ) + (word) mul8u::return#1 ← (word) mul8u::return#4 + return + to:@return +@5: scope:[] from @begin + (byte*) print_screen#0 ← ((byte*)) (word/signed word/dword/signed dword) $400 + (byte*) print_line_cursor#0 ← (byte*) print_screen#0 + (byte*) print_char_cursor#0 ← (byte*) print_line_cursor#0 + to:@17 +print_str: scope:[print_str] from main::@20 main::@25 main::@28 main::@33 printEntry printEntry::@16 printEntry::@19 printEntry::@22 printEntry::@25 printEntry::@28 printEntry::@31 printEntry::@34 printEntry::@37 printEntry::@40 printEntry::@43 printEntry::@46 printEntry::@49 + (byte*) print_char_cursor#164 ← phi( main::@20/(byte*) print_char_cursor#15 main::@25/(byte*) print_char_cursor#20 main::@28/(byte*) print_char_cursor#22 main::@33/(byte*) print_char_cursor#27 printEntry/(byte*) print_char_cursor#149 printEntry::@16/(byte*) print_char_cursor#33 printEntry::@19/(byte*) print_char_cursor#36 printEntry::@22/(byte*) print_char_cursor#39 printEntry::@25/(byte*) print_char_cursor#42 printEntry::@28/(byte*) print_char_cursor#45 printEntry::@31/(byte*) print_char_cursor#48 printEntry::@34/(byte*) print_char_cursor#51 printEntry::@37/(byte*) print_char_cursor#54 printEntry::@40/(byte*) print_char_cursor#57 printEntry::@43/(byte*) print_char_cursor#60 printEntry::@46/(byte*) print_char_cursor#63 printEntry::@49/(byte*) print_char_cursor#66 ) + (byte*) print_str::str#20 ← phi( main::@20/(byte*) print_str::str#1 main::@25/(byte*) print_str::str#2 main::@28/(byte*) print_str::str#3 main::@33/(byte*) print_str::str#4 printEntry/(byte*) print_str::str#5 printEntry::@16/(byte*) print_str::str#6 printEntry::@19/(byte*) print_str::str#7 printEntry::@22/(byte*) print_str::str#8 printEntry::@25/(byte*) print_str::str#9 printEntry::@28/(byte*) print_str::str#10 printEntry::@31/(byte*) print_str::str#11 printEntry::@34/(byte*) print_str::str#12 printEntry::@37/(byte*) print_str::str#13 printEntry::@40/(byte*) print_str::str#14 printEntry::@43/(byte*) print_str::str#15 printEntry::@46/(byte*) print_str::str#16 printEntry::@49/(byte*) print_str::str#17 ) + to:print_str::@1 +print_str::@1: scope:[print_str] from print_str print_str::@2 + (byte*) print_char_cursor#142 ← phi( print_str/(byte*) print_char_cursor#164 print_str::@2/(byte*) print_char_cursor#1 ) + (byte*) print_str::str#18 ← phi( print_str/(byte*) print_str::str#20 print_str::@2/(byte*) print_str::str#0 ) + (bool~) print_str::$0 ← *((byte*) print_str::str#18) != (byte) '@' + if((bool~) print_str::$0) goto print_str::@2 + to:print_str::@return +print_str::@2: scope:[print_str] from print_str::@1 + (byte*) print_char_cursor#72 ← phi( print_str::@1/(byte*) print_char_cursor#142 ) + (byte*) print_str::str#19 ← phi( print_str::@1/(byte*) print_str::str#18 ) + *((byte*) print_char_cursor#72) ← *((byte*) print_str::str#19) + (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#72 + (byte*) print_str::str#0 ← ++ (byte*) print_str::str#19 + to:print_str::@1 +print_str::@return: scope:[print_str] from print_str::@1 + (byte*) print_char_cursor#73 ← phi( print_str::@1/(byte*) print_char_cursor#142 ) + (byte*) print_char_cursor#2 ← (byte*) print_char_cursor#73 + return + to:@return +print_ln: scope:[print_ln] from main::@21 main::@22 main::@24 main::@29 main::@30 main::@32 printEntry::@15 printEntry::@18 printEntry::@21 printEntry::@24 printEntry::@27 printEntry::@30 printEntry::@33 printEntry::@36 printEntry::@39 printEntry::@42 printEntry::@45 printEntry::@48 printEntry::@51 + (byte*) print_char_cursor#143 ← phi( main::@21/(byte*) print_char_cursor#16 main::@22/(byte*) print_char_cursor#17 main::@24/(byte*) print_char_cursor#19 main::@29/(byte*) print_char_cursor#23 main::@30/(byte*) print_char_cursor#24 main::@32/(byte*) print_char_cursor#26 printEntry::@15/(byte*) print_char_cursor#32 printEntry::@18/(byte*) print_char_cursor#35 printEntry::@21/(byte*) print_char_cursor#38 printEntry::@24/(byte*) print_char_cursor#41 printEntry::@27/(byte*) print_char_cursor#44 printEntry::@30/(byte*) print_char_cursor#47 printEntry::@33/(byte*) print_char_cursor#50 printEntry::@36/(byte*) print_char_cursor#53 printEntry::@39/(byte*) print_char_cursor#56 printEntry::@42/(byte*) print_char_cursor#59 printEntry::@45/(byte*) print_char_cursor#62 printEntry::@48/(byte*) print_char_cursor#65 printEntry::@51/(byte*) print_char_cursor#68 ) + (byte*) print_line_cursor#63 ← phi( main::@21/(byte*) print_line_cursor#65 main::@22/(byte*) print_line_cursor#6 main::@24/(byte*) print_line_cursor#8 main::@29/(byte*) print_line_cursor#67 main::@30/(byte*) print_line_cursor#11 main::@32/(byte*) print_line_cursor#13 printEntry::@15/(byte*) print_line_cursor#69 printEntry::@18/(byte*) print_line_cursor#70 printEntry::@21/(byte*) print_line_cursor#71 printEntry::@24/(byte*) print_line_cursor#72 printEntry::@27/(byte*) print_line_cursor#73 printEntry::@30/(byte*) print_line_cursor#74 printEntry::@33/(byte*) print_line_cursor#75 printEntry::@36/(byte*) print_line_cursor#76 printEntry::@39/(byte*) print_line_cursor#77 printEntry::@42/(byte*) print_line_cursor#78 printEntry::@45/(byte*) print_line_cursor#79 printEntry::@48/(byte*) print_line_cursor#80 printEntry::@51/(byte*) print_line_cursor#81 ) + to:print_ln::@1 +print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 + (byte*) print_char_cursor#74 ← phi( print_ln/(byte*) print_char_cursor#143 print_ln::@1/(byte*) print_char_cursor#74 ) + (byte*) print_line_cursor#32 ← phi( print_ln/(byte*) print_line_cursor#63 print_ln::@1/(byte*) print_line_cursor#1 ) + (byte*~) print_ln::$0 ← (byte*) print_line_cursor#32 + (byte/signed byte/word/signed word/dword/signed dword) $28 + (byte*) print_line_cursor#1 ← (byte*~) print_ln::$0 + (bool~) print_ln::$1 ← (byte*) print_line_cursor#1 < (byte*) print_char_cursor#74 + if((bool~) print_ln::$1) goto print_ln::@1 + to:print_ln::@2 +print_ln::@2: scope:[print_ln] from print_ln::@1 + (byte*) print_line_cursor#33 ← phi( print_ln::@1/(byte*) print_line_cursor#1 ) + (byte*) print_char_cursor#3 ← (byte*) print_line_cursor#33 + to:print_ln::@return +print_ln::@return: scope:[print_ln] from print_ln::@2 + (byte*) print_char_cursor#75 ← phi( print_ln::@2/(byte*) print_char_cursor#3 ) + (byte*) print_line_cursor#34 ← phi( print_ln::@2/(byte*) print_line_cursor#33 ) + (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#34 + (byte*) print_char_cursor#4 ← (byte*) print_char_cursor#75 + return + to:@return +print_word: scope:[print_word] from printEntry::@1 printEntry::@2 printEntry::@3 printEntry::@4 printEntry::@9 + (byte*) print_char_cursor#144 ← phi( printEntry::@1/(byte*) print_char_cursor#150 printEntry::@2/(byte*) print_char_cursor#151 printEntry::@3/(byte*) print_char_cursor#152 printEntry::@4/(byte*) print_char_cursor#153 printEntry::@9/(byte*) print_char_cursor#158 ) + (word) print_word::w#5 ← phi( printEntry::@1/(word) print_word::w#0 printEntry::@2/(word) print_word::w#1 printEntry::@3/(word) print_word::w#2 printEntry::@4/(word) print_word::w#3 printEntry::@9/(word) print_word::w#4 ) + (byte~) print_word::$0 ← > (word) print_word::w#5 + (byte) print_byte::b#0 ← (byte~) print_word::$0 + call print_byte + to:print_word::@1 +print_word::@1: scope:[print_word] from print_word + (word) print_word::w#6 ← phi( print_word/(word) print_word::w#5 ) + (byte*) print_char_cursor#76 ← phi( print_word/(byte*) print_char_cursor#10 ) + (byte*) print_char_cursor#5 ← (byte*) print_char_cursor#76 + (byte~) print_word::$2 ← < (word) print_word::w#6 + (byte) print_byte::b#1 ← (byte~) print_word::$2 + call print_byte + to:print_word::@2 +print_word::@2: scope:[print_word] from print_word::@1 + (byte*) print_char_cursor#77 ← phi( print_word::@1/(byte*) print_char_cursor#10 ) + (byte*) print_char_cursor#6 ← (byte*) print_char_cursor#77 + to:print_word::@return +print_word::@return: scope:[print_word] from print_word::@2 + (byte*) print_char_cursor#78 ← phi( print_word::@2/(byte*) print_char_cursor#6 ) + (byte*) print_char_cursor#7 ← (byte*) print_char_cursor#78 + return + to:@return +@17: scope:[] from @5 + (byte*) print_screen#42 ← phi( @5/(byte*) print_screen#0 ) + (byte*) print_char_cursor#203 ← phi( @5/(byte*) print_char_cursor#0 ) + (byte*) print_line_cursor#136 ← phi( @5/(byte*) print_line_cursor#0 ) + (byte[]) print_hextab#0 ← (const string) $3 + to:@24 +print_byte: scope:[print_byte] from printEntry::@10 printEntry::@11 printEntry::@12 printEntry::@13 printEntry::@5 printEntry::@6 printEntry::@7 printEntry::@8 print_word print_word::@1 + (byte*) print_char_cursor#145 ← phi( printEntry::@10/(byte*) print_char_cursor#159 printEntry::@11/(byte*) print_char_cursor#160 printEntry::@12/(byte*) print_char_cursor#161 printEntry::@13/(byte*) print_char_cursor#162 printEntry::@5/(byte*) print_char_cursor#154 printEntry::@6/(byte*) print_char_cursor#155 printEntry::@7/(byte*) print_char_cursor#156 printEntry::@8/(byte*) print_char_cursor#157 print_word/(byte*) print_char_cursor#144 print_word::@1/(byte*) print_char_cursor#5 ) + (byte) print_byte::b#10 ← phi( printEntry::@10/(byte) print_byte::b#6 printEntry::@11/(byte) print_byte::b#7 printEntry::@12/(byte) print_byte::b#8 printEntry::@13/(byte) print_byte::b#9 printEntry::@5/(byte) print_byte::b#2 printEntry::@6/(byte) print_byte::b#3 printEntry::@7/(byte) print_byte::b#4 printEntry::@8/(byte) print_byte::b#5 print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 ) + (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) print_char::ch#0 ← *((byte[]) print_hextab#0 + (byte~) print_byte::$0) + call print_char + to:print_byte::@1 +print_byte::@1: scope:[print_byte] from print_byte + (byte) print_byte::b#11 ← phi( print_byte/(byte) print_byte::b#10 ) + (byte*) print_char_cursor#79 ← phi( print_byte/(byte*) print_char_cursor#12 ) + (byte*) print_char_cursor#8 ← (byte*) print_char_cursor#79 + (byte~) print_byte::$2 ← (byte) print_byte::b#11 & (byte/signed byte/word/signed word/dword/signed dword) $f + (byte) print_char::ch#1 ← *((byte[]) print_hextab#0 + (byte~) print_byte::$2) + call print_char + to:print_byte::@2 +print_byte::@2: scope:[print_byte] from print_byte::@1 + (byte*) print_char_cursor#80 ← phi( print_byte::@1/(byte*) print_char_cursor#12 ) + (byte*) print_char_cursor#9 ← (byte*) print_char_cursor#80 + to:print_byte::@return +print_byte::@return: scope:[print_byte] from print_byte::@2 + (byte*) print_char_cursor#81 ← phi( print_byte::@2/(byte*) print_char_cursor#9 ) + (byte*) print_char_cursor#10 ← (byte*) print_char_cursor#81 + return + to:@return +print_char: scope:[print_char] from print_byte print_byte::@1 + (byte*) print_char_cursor#82 ← phi( print_byte/(byte*) print_char_cursor#145 print_byte::@1/(byte*) print_char_cursor#8 ) + (byte) print_char::ch#2 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 ) + *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 + (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 + to:print_char::@return +print_char::@return: scope:[print_char] from print_char + (byte*) print_char_cursor#83 ← phi( print_char/(byte*) print_char_cursor#11 ) + (byte*) print_char_cursor#12 ← (byte*) print_char_cursor#83 + return + to:@return +print_cls: scope:[print_cls] from main::@19 main::@3 main::@9 + (byte*) print_screen#1 ← phi( main::@19/(byte*) print_screen#4 main::@3/(byte*) print_screen#5 main::@9/(byte*) print_screen#6 ) + (byte*) print_cls::sc#0 ← (byte*) print_screen#1 + to:print_cls::@1 +print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 + (byte*) print_screen#2 ← phi( print_cls/(byte*) print_screen#1 print_cls::@1/(byte*) print_screen#2 ) + (byte*) print_cls::sc#2 ← phi( print_cls/(byte*) print_cls::sc#0 print_cls::@1/(byte*) print_cls::sc#1 ) + *((byte*) print_cls::sc#2) ← (byte) ' ' + (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 + (byte*~) print_cls::$0 ← (byte*) print_screen#2 + (word/signed word/dword/signed dword) $3e8 + (bool~) print_cls::$1 ← (byte*) print_cls::sc#1 != (byte*~) print_cls::$0 + if((bool~) print_cls::$1) goto print_cls::@1 + to:print_cls::@2 +print_cls::@2: scope:[print_cls] from print_cls::@1 + (byte*) print_screen#3 ← phi( print_cls::@1/(byte*) print_screen#2 ) + (byte*) print_line_cursor#3 ← (byte*) print_screen#3 + (byte*) print_char_cursor#13 ← (byte*) print_line_cursor#3 + to:print_cls::@return +print_cls::@return: scope:[print_cls] from print_cls::@2 + (byte*) print_char_cursor#84 ← phi( print_cls::@2/(byte*) print_char_cursor#13 ) + (byte*) print_line_cursor#35 ← phi( print_cls::@2/(byte*) print_line_cursor#3 ) + (byte*) print_line_cursor#4 ← (byte*) print_line_cursor#35 + (byte*) print_char_cursor#14 ← (byte*) print_char_cursor#84 + return + to:@return +@24: scope:[] from @17 + (byte*) print_screen#41 ← phi( @17/(byte*) print_screen#42 ) + (byte*) print_char_cursor#199 ← phi( @17/(byte*) print_char_cursor#203 ) + (byte*) print_line_cursor#117 ← phi( @17/(byte*) print_line_cursor#136 ) + (byte*) CIA1_PORT_A#0 ← ((byte*)) (word/dword/signed dword) $dc00 + (byte*) CIA1_PORT_B#0 ← ((byte*)) (word/dword/signed dword) $dc01 + (byte*) CIA1_PORT_A_DDR#0 ← ((byte*)) (word/dword/signed dword) $dc02 + (byte*) CIA1_PORT_B_DDR#0 ← ((byte*)) (word/dword/signed dword) $dc03 + to:@28 +@28: scope:[] from @24 + (byte*) print_screen#40 ← phi( @24/(byte*) print_screen#41 ) + (byte*) print_char_cursor#182 ← phi( @24/(byte*) print_char_cursor#199 ) + (byte*) print_line_cursor#100 ← phi( @24/(byte*) print_line_cursor#117 ) + (byte) KEY_SPACE#0 ← (byte/signed byte/word/signed word/dword/signed dword) $3c + (byte[8]) keyboard_matrix_row_bitmask#0 ← { (byte/word/signed word/dword/signed dword) $fe, (byte/word/signed word/dword/signed dword) $fd, (byte/word/signed word/dword/signed dword) $fb, (byte/word/signed word/dword/signed dword) $f7, (byte/word/signed word/dword/signed dword) $ef, (byte/word/signed word/dword/signed dword) $df, (byte/word/signed word/dword/signed dword) $bf, (byte/signed byte/word/signed word/dword/signed dword) $7f } + (byte[8]) keyboard_matrix_col_bitmask#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) $10, (byte/signed byte/word/signed word/dword/signed dword) $20, (byte/signed byte/word/signed word/dword/signed dword) $40, (byte/word/signed word/dword/signed dword) $80 } + to:@35 +keyboard_init: scope:[keyboard_init] from main + *((byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff + *((byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:keyboard_init::@return +keyboard_init::@return: scope:[keyboard_init] from keyboard_init + return + to:@return +keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_key_pressed + (byte) keyboard_matrix_read::rowid#1 ← phi( keyboard_key_pressed/(byte) keyboard_matrix_read::rowid#0 ) + *((byte*) CIA1_PORT_A#0) ← *((byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#1) + (byte~) keyboard_matrix_read::$0 ← ~ *((byte*) CIA1_PORT_B#0) + (byte) keyboard_matrix_read::row_pressed_bits#0 ← (byte~) keyboard_matrix_read::$0 + (byte) keyboard_matrix_read::return#0 ← (byte) keyboard_matrix_read::row_pressed_bits#0 + to:keyboard_matrix_read::@return +keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matrix_read + (byte) keyboard_matrix_read::return#3 ← phi( keyboard_matrix_read/(byte) keyboard_matrix_read::return#0 ) + (byte) keyboard_matrix_read::return#1 ← (byte) keyboard_matrix_read::return#3 + return + to:@return +keyboard_key_pressed: scope:[keyboard_key_pressed] from main::@1 main::@7 + (byte) keyboard_key_pressed::key#2 ← phi( main::@1/(byte) keyboard_key_pressed::key#0 main::@7/(byte) keyboard_key_pressed::key#1 ) + (byte~) keyboard_key_pressed::$0 ← (byte) keyboard_key_pressed::key#2 & (byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) keyboard_key_pressed::colidx#0 ← (byte~) keyboard_key_pressed::$0 + (byte~) keyboard_key_pressed::$1 ← (byte) keyboard_key_pressed::key#2 >> (byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) keyboard_key_pressed::rowidx#0 ← (byte~) keyboard_key_pressed::$1 + (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 + call keyboard_matrix_read + (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#1 + to:keyboard_key_pressed::@2 +keyboard_key_pressed::@2: scope:[keyboard_key_pressed] from keyboard_key_pressed + (byte) keyboard_key_pressed::colidx#1 ← phi( keyboard_key_pressed/(byte) keyboard_key_pressed::colidx#0 ) + (byte) keyboard_matrix_read::return#4 ← phi( keyboard_key_pressed/(byte) keyboard_matrix_read::return#2 ) + (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#4 + (byte~) keyboard_key_pressed::$3 ← (byte~) keyboard_key_pressed::$2 & *((byte[8]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#1) + (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$3 + to:keyboard_key_pressed::@return +keyboard_key_pressed::@return: scope:[keyboard_key_pressed] from keyboard_key_pressed::@2 + (byte) keyboard_key_pressed::return#4 ← phi( keyboard_key_pressed::@2/(byte) keyboard_key_pressed::return#0 ) + (byte) keyboard_key_pressed::return#1 ← (byte) keyboard_key_pressed::return#4 + return + to:@return +@35: scope:[] from @28 + (byte*) print_screen#39 ← phi( @28/(byte*) print_screen#40 ) + (byte*) print_char_cursor#181 ← phi( @28/(byte*) print_char_cursor#182 ) + (byte*) print_line_cursor#99 ← phi( @28/(byte*) print_line_cursor#100 ) + (byte) ENTRY_SIZE#0 ← (byte/signed byte/word/signed word/dword/signed dword) $12 + (byte) MAX_FILES#0 ← (byte/word/signed word/dword/signed dword) $90 + (word~) $1 ← ((word)) (byte) MAX_FILES#0 + (word~) $2 ← (word~) $1 * (byte) ENTRY_SIZE#0 + (byte[$2]) files#0 ← { fill( $2, 0) } + to:@52 +main: scope:[main] from @52 + (byte*) print_char_cursor#211 ← phi( @52/(byte*) print_char_cursor#163 ) + (byte*) print_line_cursor#158 ← phi( @52/(byte*) print_line_cursor#82 ) + (byte*) print_screen#37 ← phi( @52/(byte*) print_screen#38 ) + call keyboard_init + to:main::@15 +main::@15: scope:[main] from main + (byte*) print_char_cursor#210 ← phi( main/(byte*) print_char_cursor#211 ) + (byte*) print_line_cursor#157 ← phi( main/(byte*) print_line_cursor#158 ) + (byte*) print_screen#36 ← phi( main/(byte*) print_screen#37 ) + (byte) main::fileEntry1_idx#0 ← (byte/signed byte/word/signed word/dword/signed dword) 1 + to:main::fileEntry1 +main::fileEntry1: scope:[main] from main::@15 + (byte*) print_char_cursor#209 ← phi( main::@15/(byte*) print_char_cursor#210 ) + (byte*) print_line_cursor#156 ← phi( main::@15/(byte*) print_line_cursor#157 ) + (byte*) print_screen#33 ← phi( main::@15/(byte*) print_screen#36 ) + (byte) main::fileEntry1_idx#1 ← phi( main::@15/(byte) main::fileEntry1_idx#0 ) + (byte) mul8u::a#1 ← (byte) main::fileEntry1_idx#1 + (byte) mul8u::b#0 ← (byte) ENTRY_SIZE#0 + call mul8u + (word) mul8u::return#2 ← (word) mul8u::return#1 + to:main::@16 +main::@16: scope:[main] from main::fileEntry1 + (byte*) print_char_cursor#208 ← phi( main::fileEntry1/(byte*) print_char_cursor#209 ) + (byte*) print_line_cursor#155 ← phi( main::fileEntry1/(byte*) print_line_cursor#156 ) + (byte*) print_screen#30 ← phi( main::fileEntry1/(byte*) print_screen#33 ) + (word) mul8u::return#5 ← phi( main::fileEntry1/(word) mul8u::return#2 ) + (word) main::fileEntry1_$0#0 ← (word) mul8u::return#5 + (byte*) main::fileEntry1_$1#0 ← (byte[$2]) files#0 + (word) main::fileEntry1_$0#0 + (byte*) main::fileEntry1_return#0 ← (byte*) main::fileEntry1_$1#0 + to:main::fileEntry1_@return +main::fileEntry1_@return: scope:[main] from main::@16 + (byte*) print_char_cursor#207 ← phi( main::@16/(byte*) print_char_cursor#208 ) + (byte*) print_line_cursor#154 ← phi( main::@16/(byte*) print_line_cursor#155 ) + (byte*) print_screen#27 ← phi( main::@16/(byte*) print_screen#30 ) + (byte*) main::fileEntry1_return#2 ← phi( main::@16/(byte*) main::fileEntry1_return#0 ) + (byte*) main::fileEntry1_return#1 ← (byte*) main::fileEntry1_return#2 + to:main::@13 +main::@13: scope:[main] from main::fileEntry1_@return + (byte*) print_char_cursor#206 ← phi( main::fileEntry1_@return/(byte*) print_char_cursor#207 ) + (byte*) print_line_cursor#153 ← phi( main::fileEntry1_@return/(byte*) print_line_cursor#154 ) + (byte*) print_screen#24 ← phi( main::fileEntry1_@return/(byte*) print_screen#27 ) + (byte*) main::fileEntry1_return#3 ← phi( main::fileEntry1_@return/(byte*) main::fileEntry1_return#1 ) + (byte*~) main::$1 ← (byte*) main::fileEntry1_return#3 + (byte*) main::entry1#0 ← (byte*~) main::$1 + (byte) main::fileEntry2_idx#0 ← (byte/signed byte/word/signed word/dword/signed dword) 2 + to:main::fileEntry2 +main::fileEntry2: scope:[main] from main::@13 + (byte*) print_char_cursor#205 ← phi( main::@13/(byte*) print_char_cursor#206 ) + (byte*) print_line_cursor#151 ← phi( main::@13/(byte*) print_line_cursor#153 ) + (byte*) print_screen#21 ← phi( main::@13/(byte*) print_screen#24 ) + (byte*) main::entry1#7 ← phi( main::@13/(byte*) main::entry1#0 ) + (byte) main::fileEntry2_idx#1 ← phi( main::@13/(byte) main::fileEntry2_idx#0 ) + (byte) mul8u::a#2 ← (byte) main::fileEntry2_idx#1 + (byte) mul8u::b#1 ← (byte) ENTRY_SIZE#0 + call mul8u + (word) mul8u::return#3 ← (word) mul8u::return#1 + to:main::@17 +main::@17: scope:[main] from main::fileEntry2 + (byte*) print_char_cursor#204 ← phi( main::fileEntry2/(byte*) print_char_cursor#205 ) + (byte*) print_line_cursor#137 ← phi( main::fileEntry2/(byte*) print_line_cursor#151 ) + (byte*) print_screen#18 ← phi( main::fileEntry2/(byte*) print_screen#21 ) + (byte*) main::entry1#5 ← phi( main::fileEntry2/(byte*) main::entry1#7 ) + (word) mul8u::return#6 ← phi( main::fileEntry2/(word) mul8u::return#3 ) + (word) main::fileEntry2_$0#0 ← (word) mul8u::return#6 + (byte*) main::fileEntry2_$1#0 ← (byte[$2]) files#0 + (word) main::fileEntry2_$0#0 + (byte*) main::fileEntry2_return#0 ← (byte*) main::fileEntry2_$1#0 + to:main::fileEntry2_@return +main::fileEntry2_@return: scope:[main] from main::@17 + (byte*) print_char_cursor#200 ← phi( main::@17/(byte*) print_char_cursor#204 ) + (byte*) print_line_cursor#118 ← phi( main::@17/(byte*) print_line_cursor#137 ) + (byte*) print_screen#13 ← phi( main::@17/(byte*) print_screen#18 ) + (byte*) main::entry1#3 ← phi( main::@17/(byte*) main::entry1#5 ) + (byte*) main::fileEntry2_return#2 ← phi( main::@17/(byte*) main::fileEntry2_return#0 ) + (byte*) main::fileEntry2_return#1 ← (byte*) main::fileEntry2_return#2 + to:main::@14 +main::@14: scope:[main] from main::fileEntry2_@return + (byte*) print_char_cursor#183 ← phi( main::fileEntry2_@return/(byte*) print_char_cursor#200 ) + (byte*) print_line_cursor#101 ← phi( main::fileEntry2_@return/(byte*) print_line_cursor#118 ) + (byte*) print_screen#10 ← phi( main::fileEntry2_@return/(byte*) print_screen#13 ) + (byte*) main::entry1#1 ← phi( main::fileEntry2_@return/(byte*) main::entry1#3 ) + (byte*) main::fileEntry2_return#3 ← phi( main::fileEntry2_@return/(byte*) main::fileEntry2_return#1 ) + (byte*~) main::$2 ← (byte*) main::fileEntry2_return#3 + (byte*) main::entry2#0 ← (byte*~) main::$2 + (byte*) initEntry::entry#0 ← (byte*) main::entry1#1 + (byte) initEntry::n#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + call initEntry + to:main::@18 +main::@18: scope:[main] from main::@14 + (byte*) main::entry1#10 ← phi( main::@14/(byte*) main::entry1#1 ) + (byte*) print_char_cursor#165 ← phi( main::@14/(byte*) print_char_cursor#183 ) + (byte*) print_line_cursor#83 ← phi( main::@14/(byte*) print_line_cursor#101 ) + (byte*) print_screen#7 ← phi( main::@14/(byte*) print_screen#10 ) + (byte*) main::entry2#1 ← phi( main::@14/(byte*) main::entry2#0 ) + (byte*) initEntry::entry#1 ← (byte*) main::entry2#1 + (byte) initEntry::n#1 ← (byte/word/signed word/dword/signed dword) $80 + call initEntry + to:main::@19 +main::@19: scope:[main] from main::@18 + (byte*) main::entry2#17 ← phi( main::@18/(byte*) main::entry2#1 ) + (byte*) main::entry1#9 ← phi( main::@18/(byte*) main::entry1#10 ) + (byte*) print_char_cursor#146 ← phi( main::@18/(byte*) print_char_cursor#165 ) + (byte*) print_line_cursor#64 ← phi( main::@18/(byte*) print_line_cursor#83 ) + (byte*) print_screen#4 ← phi( main::@18/(byte*) print_screen#7 ) + call print_cls + to:main::@20 +main::@20: scope:[main] from main::@19 + (byte*) main::entry2#16 ← phi( main::@19/(byte*) main::entry2#17 ) + (byte*) print_screen#34 ← phi( main::@19/(byte*) print_screen#4 ) + (byte*) main::entry1#8 ← phi( main::@19/(byte*) main::entry1#9 ) + (byte*) print_char_cursor#85 ← phi( main::@19/(byte*) print_char_cursor#14 ) + (byte*) print_line_cursor#36 ← phi( main::@19/(byte*) print_line_cursor#4 ) + (byte*) print_line_cursor#5 ← (byte*) print_line_cursor#36 + (byte*) print_char_cursor#15 ← (byte*) print_char_cursor#85 + (byte*) print_str::str#1 ← (const string) main::str + call print_str + to:main::@21 +main::@21: scope:[main] from main::@20 + (byte*) main::entry2#15 ← phi( main::@20/(byte*) main::entry2#16 ) + (byte*) print_screen#31 ← phi( main::@20/(byte*) print_screen#34 ) + (byte*) main::entry1#6 ← phi( main::@20/(byte*) main::entry1#8 ) + (byte*) print_line_cursor#65 ← phi( main::@20/(byte*) print_line_cursor#5 ) + (byte*) print_char_cursor#86 ← phi( main::@20/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#16 ← (byte*) print_char_cursor#86 + call print_ln + to:main::@22 +main::@22: scope:[main] from main::@21 + (byte*) main::entry2#14 ← phi( main::@21/(byte*) main::entry2#15 ) + (byte*) print_screen#28 ← phi( main::@21/(byte*) print_screen#31 ) + (byte*) main::entry1#4 ← phi( main::@21/(byte*) main::entry1#6 ) + (byte*) print_char_cursor#87 ← phi( main::@21/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#37 ← phi( main::@21/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#6 ← (byte*) print_line_cursor#37 + (byte*) print_char_cursor#17 ← (byte*) print_char_cursor#87 + call print_ln + to:main::@23 +main::@23: scope:[main] from main::@22 + (byte*) main::entry2#13 ← phi( main::@22/(byte*) main::entry2#14 ) + (byte*) print_screen#25 ← phi( main::@22/(byte*) print_screen#28 ) + (byte*) main::entry1#2 ← phi( main::@22/(byte*) main::entry1#4 ) + (byte*) print_char_cursor#88 ← phi( main::@22/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#38 ← phi( main::@22/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#7 ← (byte*) print_line_cursor#38 + (byte*) print_char_cursor#18 ← (byte*) print_char_cursor#88 + (byte*) printEntry::entry#0 ← (byte*) main::entry1#2 + call printEntry + to:main::@24 +main::@24: scope:[main] from main::@23 + (byte*) main::entry2#12 ← phi( main::@23/(byte*) main::entry2#13 ) + (byte*) print_screen#22 ← phi( main::@23/(byte*) print_screen#25 ) + (byte*) print_line_cursor#39 ← phi( main::@23/(byte*) print_line_cursor#30 ) + (byte*) print_char_cursor#89 ← phi( main::@23/(byte*) print_char_cursor#70 ) + (byte*) print_char_cursor#19 ← (byte*) print_char_cursor#89 + (byte*) print_line_cursor#8 ← (byte*) print_line_cursor#39 + call print_ln + to:main::@25 +main::@25: scope:[main] from main::@24 + (byte*) main::entry2#11 ← phi( main::@24/(byte*) main::entry2#12 ) + (byte*) print_screen#19 ← phi( main::@24/(byte*) print_screen#22 ) + (byte*) print_char_cursor#90 ← phi( main::@24/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#40 ← phi( main::@24/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#9 ← (byte*) print_line_cursor#40 + (byte*) print_char_cursor#20 ← (byte*) print_char_cursor#90 + (byte*) print_str::str#2 ← (const string) main::str1 + call print_str + to:main::@26 +main::@26: scope:[main] from main::@25 + (byte*) main::entry2#10 ← phi( main::@25/(byte*) main::entry2#11 ) + (byte*) print_line_cursor#120 ← phi( main::@25/(byte*) print_line_cursor#9 ) + (byte*) print_screen#15 ← phi( main::@25/(byte*) print_screen#19 ) + (byte*) print_char_cursor#91 ← phi( main::@25/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#21 ← (byte*) print_char_cursor#91 + to:main::@1 +main::@1: scope:[main] from main::@2 main::@26 + (byte*) main::entry2#8 ← phi( main::@2/(byte*) main::entry2#9 main::@26/(byte*) main::entry2#10 ) + (byte*) print_char_cursor#184 ← phi( main::@2/(byte*) print_char_cursor#201 main::@26/(byte*) print_char_cursor#21 ) + (byte*) print_line_cursor#102 ← phi( main::@2/(byte*) print_line_cursor#119 main::@26/(byte*) print_line_cursor#120 ) + (byte*) print_screen#11 ← phi( main::@2/(byte*) print_screen#14 main::@26/(byte*) print_screen#15 ) + (byte) keyboard_key_pressed::key#0 ← (byte) KEY_SPACE#0 + call keyboard_key_pressed + (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#1 + to:main::@27 +main::@27: scope:[main] from main::@1 + (byte*) main::entry2#7 ← phi( main::@1/(byte*) main::entry2#8 ) + (byte*) print_char_cursor#166 ← phi( main::@1/(byte*) print_char_cursor#184 ) + (byte*) print_line_cursor#84 ← phi( main::@1/(byte*) print_line_cursor#102 ) + (byte*) print_screen#8 ← phi( main::@1/(byte*) print_screen#11 ) + (byte) keyboard_key_pressed::return#5 ← phi( main::@1/(byte) keyboard_key_pressed::return#2 ) + (byte~) main::$20 ← (byte) keyboard_key_pressed::return#5 + (bool~) main::$21 ← (byte~) main::$20 == (byte/signed byte/word/signed word/dword/signed dword) 0 + if((bool~) main::$21) goto main::@2 + to:main::@3 +main::@2: scope:[main] from main::@27 + (byte*) main::entry2#9 ← phi( main::@27/(byte*) main::entry2#7 ) + (byte*) print_char_cursor#201 ← phi( main::@27/(byte*) print_char_cursor#166 ) + (byte*) print_line_cursor#119 ← phi( main::@27/(byte*) print_line_cursor#84 ) + (byte*) print_screen#14 ← phi( main::@27/(byte*) print_screen#8 ) + to:main::@1 +main::@3: scope:[main] from main::@27 + (byte*) main::entry2#6 ← phi( main::@27/(byte*) main::entry2#7 ) + (byte*) print_char_cursor#147 ← phi( main::@27/(byte*) print_char_cursor#166 ) + (byte*) print_line_cursor#66 ← phi( main::@27/(byte*) print_line_cursor#84 ) + (byte*) print_screen#5 ← phi( main::@27/(byte*) print_screen#8 ) + call print_cls + to:main::@28 +main::@28: scope:[main] from main::@3 + (byte*) print_screen#35 ← phi( main::@3/(byte*) print_screen#5 ) + (byte*) main::entry2#5 ← phi( main::@3/(byte*) main::entry2#6 ) + (byte*) print_char_cursor#92 ← phi( main::@3/(byte*) print_char_cursor#14 ) + (byte*) print_line_cursor#41 ← phi( main::@3/(byte*) print_line_cursor#4 ) + (byte*) print_line_cursor#10 ← (byte*) print_line_cursor#41 + (byte*) print_char_cursor#22 ← (byte*) print_char_cursor#92 + (byte*) print_str::str#3 ← (const string) main::str2 + call print_str + to:main::@29 +main::@29: scope:[main] from main::@28 + (byte*) print_screen#32 ← phi( main::@28/(byte*) print_screen#35 ) + (byte*) main::entry2#4 ← phi( main::@28/(byte*) main::entry2#5 ) + (byte*) print_line_cursor#67 ← phi( main::@28/(byte*) print_line_cursor#10 ) + (byte*) print_char_cursor#93 ← phi( main::@28/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#23 ← (byte*) print_char_cursor#93 + call print_ln + to:main::@30 +main::@30: scope:[main] from main::@29 + (byte*) print_screen#29 ← phi( main::@29/(byte*) print_screen#32 ) + (byte*) main::entry2#3 ← phi( main::@29/(byte*) main::entry2#4 ) + (byte*) print_char_cursor#94 ← phi( main::@29/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#42 ← phi( main::@29/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#11 ← (byte*) print_line_cursor#42 + (byte*) print_char_cursor#24 ← (byte*) print_char_cursor#94 + call print_ln + to:main::@31 +main::@31: scope:[main] from main::@30 + (byte*) print_screen#26 ← phi( main::@30/(byte*) print_screen#29 ) + (byte*) main::entry2#2 ← phi( main::@30/(byte*) main::entry2#3 ) + (byte*) print_char_cursor#95 ← phi( main::@30/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#43 ← phi( main::@30/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#12 ← (byte*) print_line_cursor#43 + (byte*) print_char_cursor#25 ← (byte*) print_char_cursor#95 + (byte*) printEntry::entry#1 ← (byte*) main::entry2#2 + call printEntry + to:main::@32 +main::@32: scope:[main] from main::@31 + (byte*) print_screen#23 ← phi( main::@31/(byte*) print_screen#26 ) + (byte*) print_line_cursor#44 ← phi( main::@31/(byte*) print_line_cursor#30 ) + (byte*) print_char_cursor#96 ← phi( main::@31/(byte*) print_char_cursor#70 ) + (byte*) print_char_cursor#26 ← (byte*) print_char_cursor#96 + (byte*) print_line_cursor#13 ← (byte*) print_line_cursor#44 + call print_ln + to:main::@33 +main::@33: scope:[main] from main::@32 + (byte*) print_screen#20 ← phi( main::@32/(byte*) print_screen#23 ) + (byte*) print_char_cursor#97 ← phi( main::@32/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#45 ← phi( main::@32/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#14 ← (byte*) print_line_cursor#45 + (byte*) print_char_cursor#27 ← (byte*) print_char_cursor#97 + (byte*) print_str::str#4 ← (const string) main::str3 + call print_str + to:main::@34 +main::@34: scope:[main] from main::@33 + (byte*) print_line_cursor#121 ← phi( main::@33/(byte*) print_line_cursor#14 ) + (byte*) print_screen#16 ← phi( main::@33/(byte*) print_screen#20 ) + (byte*) print_char_cursor#98 ← phi( main::@33/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#28 ← (byte*) print_char_cursor#98 + to:main::@7 +main::@7: scope:[main] from main::@34 main::@8 + (byte*) print_char_cursor#185 ← phi( main::@34/(byte*) print_char_cursor#28 main::@8/(byte*) print_char_cursor#202 ) + (byte*) print_line_cursor#103 ← phi( main::@34/(byte*) print_line_cursor#121 main::@8/(byte*) print_line_cursor#122 ) + (byte*) print_screen#12 ← phi( main::@34/(byte*) print_screen#16 main::@8/(byte*) print_screen#17 ) + (byte) keyboard_key_pressed::key#1 ← (byte) KEY_SPACE#0 + call keyboard_key_pressed + (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#1 + to:main::@35 +main::@35: scope:[main] from main::@7 + (byte*) print_char_cursor#167 ← phi( main::@7/(byte*) print_char_cursor#185 ) + (byte*) print_line_cursor#85 ← phi( main::@7/(byte*) print_line_cursor#103 ) + (byte*) print_screen#9 ← phi( main::@7/(byte*) print_screen#12 ) + (byte) keyboard_key_pressed::return#6 ← phi( main::@7/(byte) keyboard_key_pressed::return#3 ) + (byte~) main::$22 ← (byte) keyboard_key_pressed::return#6 + (bool~) main::$23 ← (byte~) main::$22 == (byte/signed byte/word/signed word/dword/signed dword) 0 + if((bool~) main::$23) goto main::@8 + to:main::@9 +main::@8: scope:[main] from main::@35 + (byte*) print_char_cursor#202 ← phi( main::@35/(byte*) print_char_cursor#167 ) + (byte*) print_line_cursor#122 ← phi( main::@35/(byte*) print_line_cursor#85 ) + (byte*) print_screen#17 ← phi( main::@35/(byte*) print_screen#9 ) + to:main::@7 +main::@9: scope:[main] from main::@35 + (byte*) print_char_cursor#148 ← phi( main::@35/(byte*) print_char_cursor#167 ) + (byte*) print_line_cursor#68 ← phi( main::@35/(byte*) print_line_cursor#85 ) + (byte*) print_screen#6 ← phi( main::@35/(byte*) print_screen#9 ) + call print_cls + to:main::@36 +main::@36: scope:[main] from main::@9 + (byte*) print_char_cursor#99 ← phi( main::@9/(byte*) print_char_cursor#14 ) + (byte*) print_line_cursor#46 ← phi( main::@9/(byte*) print_line_cursor#4 ) + (byte*) print_line_cursor#15 ← (byte*) print_line_cursor#46 + (byte*) print_char_cursor#29 ← (byte*) print_char_cursor#99 + to:main::@return +main::@return: scope:[main] from main::@36 + (byte*) print_char_cursor#100 ← phi( main::@36/(byte*) print_char_cursor#29 ) + (byte*) print_line_cursor#47 ← phi( main::@36/(byte*) print_line_cursor#15 ) + (byte*) print_line_cursor#16 ← (byte*) print_line_cursor#47 + (byte*) print_char_cursor#30 ← (byte*) print_char_cursor#100 + return + to:@return +initEntry: scope:[initEntry] from main::@14 main::@18 + (byte) initEntry::n#41 ← phi( main::@14/(byte) initEntry::n#0 main::@18/(byte) initEntry::n#1 ) + (byte*) initEntry::entry#2 ← phi( main::@14/(byte*) initEntry::entry#0 main::@18/(byte*) initEntry::entry#1 ) + (byte*) initEntry::entryBufDisk1_entry#0 ← (byte*) initEntry::entry#2 + to:initEntry::entryBufDisk1 +initEntry::entryBufDisk1: scope:[initEntry] from initEntry + (byte*) initEntry::entry#27 ← phi( initEntry/(byte*) initEntry::entry#2 ) + (byte) initEntry::n#28 ← phi( initEntry/(byte) initEntry::n#41 ) + (byte*) initEntry::entryBufDisk1_entry#1 ← phi( initEntry/(byte*) initEntry::entryBufDisk1_entry#0 ) + (byte*) initEntry::entryBufDisk1_$0#0 ← (byte*) initEntry::entryBufDisk1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte**) initEntry::entryBufDisk1_$1#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 + (byte**) initEntry::entryBufDisk1_return#0 ← (byte**) initEntry::entryBufDisk1_$1#0 + to:initEntry::entryBufDisk1_@return +initEntry::entryBufDisk1_@return: scope:[initEntry] from initEntry::entryBufDisk1 + (byte*) initEntry::entry#15 ← phi( initEntry::entryBufDisk1/(byte*) initEntry::entry#27 ) + (byte) initEntry::n#15 ← phi( initEntry::entryBufDisk1/(byte) initEntry::n#28 ) + (byte**) initEntry::entryBufDisk1_return#2 ← phi( initEntry::entryBufDisk1/(byte**) initEntry::entryBufDisk1_return#0 ) + (byte**) initEntry::entryBufDisk1_return#1 ← (byte**) initEntry::entryBufDisk1_return#2 + to:initEntry::@1 +initEntry::@1: scope:[initEntry] from initEntry::entryBufDisk1_@return + (byte*) initEntry::entry#3 ← phi( initEntry::entryBufDisk1_@return/(byte*) initEntry::entry#15 ) + (byte) initEntry::n#2 ← phi( initEntry::entryBufDisk1_@return/(byte) initEntry::n#15 ) + (byte**) initEntry::entryBufDisk1_return#3 ← phi( initEntry::entryBufDisk1_@return/(byte**) initEntry::entryBufDisk1_return#1 ) + (byte**~) initEntry::$0 ← (byte**) initEntry::entryBufDisk1_return#3 + (byte/signed word/word/dword/signed dword~) initEntry::$1 ← (byte) initEntry::n#2 + (byte/signed byte/word/signed word/dword/signed dword) 1 + *((byte**~) initEntry::$0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 + (byte*) initEntry::entryBufEdit1_entry#0 ← (byte*) initEntry::entry#3 + to:initEntry::entryBufEdit1 +initEntry::entryBufEdit1: scope:[initEntry] from initEntry::@1 + (byte*) initEntry::entry#28 ← phi( initEntry::@1/(byte*) initEntry::entry#3 ) + (byte) initEntry::n#29 ← phi( initEntry::@1/(byte) initEntry::n#2 ) + (byte*) initEntry::entryBufEdit1_entry#1 ← phi( initEntry::@1/(byte*) initEntry::entryBufEdit1_entry#0 ) + (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufEdit1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) 2 + (byte**) initEntry::entryBufEdit1_$1#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 + (byte**) initEntry::entryBufEdit1_return#0 ← (byte**) initEntry::entryBufEdit1_$1#0 + to:initEntry::entryBufEdit1_@return +initEntry::entryBufEdit1_@return: scope:[initEntry] from initEntry::entryBufEdit1 + (byte*) initEntry::entry#16 ← phi( initEntry::entryBufEdit1/(byte*) initEntry::entry#28 ) + (byte) initEntry::n#16 ← phi( initEntry::entryBufEdit1/(byte) initEntry::n#29 ) + (byte**) initEntry::entryBufEdit1_return#2 ← phi( initEntry::entryBufEdit1/(byte**) initEntry::entryBufEdit1_return#0 ) + (byte**) initEntry::entryBufEdit1_return#1 ← (byte**) initEntry::entryBufEdit1_return#2 + to:initEntry::@2 +initEntry::@2: scope:[initEntry] from initEntry::entryBufEdit1_@return + (byte*) initEntry::entry#4 ← phi( initEntry::entryBufEdit1_@return/(byte*) initEntry::entry#16 ) + (byte) initEntry::n#3 ← phi( initEntry::entryBufEdit1_@return/(byte) initEntry::n#16 ) + (byte**) initEntry::entryBufEdit1_return#3 ← phi( initEntry::entryBufEdit1_@return/(byte**) initEntry::entryBufEdit1_return#1 ) + (byte**~) initEntry::$2 ← (byte**) initEntry::entryBufEdit1_return#3 + (byte/signed word/word/dword/signed dword~) initEntry::$3 ← (byte) initEntry::n#3 + (byte/signed byte/word/signed word/dword/signed dword) 2 + *((byte**~) initEntry::$2) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 + (byte*) initEntry::entryTsLen1_entry#0 ← (byte*) initEntry::entry#4 + to:initEntry::entryTsLen1 +initEntry::entryTsLen1: scope:[initEntry] from initEntry::@2 + (byte*) initEntry::entry#29 ← phi( initEntry::@2/(byte*) initEntry::entry#4 ) + (byte) initEntry::n#30 ← phi( initEntry::@2/(byte) initEntry::n#3 ) + (byte*) initEntry::entryTsLen1_entry#1 ← phi( initEntry::@2/(byte*) initEntry::entryTsLen1_entry#0 ) + (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryTsLen1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) 4 + (word*) initEntry::entryTsLen1_$1#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 + (word*) initEntry::entryTsLen1_return#0 ← (word*) initEntry::entryTsLen1_$1#0 + to:initEntry::entryTsLen1_@return +initEntry::entryTsLen1_@return: scope:[initEntry] from initEntry::entryTsLen1 + (byte*) initEntry::entry#17 ← phi( initEntry::entryTsLen1/(byte*) initEntry::entry#29 ) + (byte) initEntry::n#17 ← phi( initEntry::entryTsLen1/(byte) initEntry::n#30 ) + (word*) initEntry::entryTsLen1_return#2 ← phi( initEntry::entryTsLen1/(word*) initEntry::entryTsLen1_return#0 ) + (word*) initEntry::entryTsLen1_return#1 ← (word*) initEntry::entryTsLen1_return#2 + to:initEntry::@3 +initEntry::@3: scope:[initEntry] from initEntry::entryTsLen1_@return + (byte*) initEntry::entry#5 ← phi( initEntry::entryTsLen1_@return/(byte*) initEntry::entry#17 ) + (byte) initEntry::n#4 ← phi( initEntry::entryTsLen1_@return/(byte) initEntry::n#17 ) + (word*) initEntry::entryTsLen1_return#3 ← phi( initEntry::entryTsLen1_@return/(word*) initEntry::entryTsLen1_return#1 ) + (word*~) initEntry::$4 ← (word*) initEntry::entryTsLen1_return#3 + (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#4 + (byte/signed byte/word/signed word/dword/signed dword) 3 + *((word*~) initEntry::$4) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 + (byte*) initEntry::entryTsOrder1_entry#0 ← (byte*) initEntry::entry#5 + to:initEntry::entryTsOrder1 +initEntry::entryTsOrder1: scope:[initEntry] from initEntry::@3 + (byte*) initEntry::entry#30 ← phi( initEntry::@3/(byte*) initEntry::entry#5 ) + (byte) initEntry::n#31 ← phi( initEntry::@3/(byte) initEntry::n#4 ) + (byte*) initEntry::entryTsOrder1_entry#1 ← phi( initEntry::@3/(byte*) initEntry::entryTsOrder1_entry#0 ) + (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryTsOrder1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) 6 + (word**) initEntry::entryTsOrder1_$1#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 + (word**) initEntry::entryTsOrder1_return#0 ← (word**) initEntry::entryTsOrder1_$1#0 + to:initEntry::entryTsOrder1_@return +initEntry::entryTsOrder1_@return: scope:[initEntry] from initEntry::entryTsOrder1 + (byte*) initEntry::entry#18 ← phi( initEntry::entryTsOrder1/(byte*) initEntry::entry#30 ) + (byte) initEntry::n#18 ← phi( initEntry::entryTsOrder1/(byte) initEntry::n#31 ) + (word**) initEntry::entryTsOrder1_return#2 ← phi( initEntry::entryTsOrder1/(word**) initEntry::entryTsOrder1_return#0 ) + (word**) initEntry::entryTsOrder1_return#1 ← (word**) initEntry::entryTsOrder1_return#2 + to:initEntry::@4 +initEntry::@4: scope:[initEntry] from initEntry::entryTsOrder1_@return + (byte*) initEntry::entry#6 ← phi( initEntry::entryTsOrder1_@return/(byte*) initEntry::entry#18 ) + (byte) initEntry::n#5 ← phi( initEntry::entryTsOrder1_@return/(byte) initEntry::n#18 ) + (word**) initEntry::entryTsOrder1_return#3 ← phi( initEntry::entryTsOrder1_@return/(word**) initEntry::entryTsOrder1_return#1 ) + (word**~) initEntry::$6 ← (word**) initEntry::entryTsOrder1_return#3 + (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#5 + (byte/signed byte/word/signed word/dword/signed dword) 4 + *((word**~) initEntry::$6) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 + (byte*) initEntry::entryTLastLink1_entry#0 ← (byte*) initEntry::entry#6 + to:initEntry::entryTLastLink1 +initEntry::entryTLastLink1: scope:[initEntry] from initEntry::@4 + (byte*) initEntry::entry#31 ← phi( initEntry::@4/(byte*) initEntry::entry#6 ) + (byte) initEntry::n#32 ← phi( initEntry::@4/(byte) initEntry::n#5 ) + (byte*) initEntry::entryTLastLink1_entry#1 ← phi( initEntry::@4/(byte*) initEntry::entryTLastLink1_entry#0 ) + (byte*) initEntry::entryTLastLink1_$0#0 ← (byte*) initEntry::entryTLastLink1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) 8 + (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryTLastLink1_$0#0 + to:initEntry::entryTLastLink1_@return +initEntry::entryTLastLink1_@return: scope:[initEntry] from initEntry::entryTLastLink1 + (byte*) initEntry::entry#19 ← phi( initEntry::entryTLastLink1/(byte*) initEntry::entry#31 ) + (byte) initEntry::n#19 ← phi( initEntry::entryTLastLink1/(byte) initEntry::n#32 ) + (byte*) initEntry::entryTLastLink1_return#2 ← phi( initEntry::entryTLastLink1/(byte*) initEntry::entryTLastLink1_return#0 ) + (byte*) initEntry::entryTLastLink1_return#1 ← (byte*) initEntry::entryTLastLink1_return#2 + to:initEntry::@5 +initEntry::@5: scope:[initEntry] from initEntry::entryTLastLink1_@return + (byte*) initEntry::entry#7 ← phi( initEntry::entryTLastLink1_@return/(byte*) initEntry::entry#19 ) + (byte) initEntry::n#6 ← phi( initEntry::entryTLastLink1_@return/(byte) initEntry::n#19 ) + (byte*) initEntry::entryTLastLink1_return#3 ← phi( initEntry::entryTLastLink1_@return/(byte*) initEntry::entryTLastLink1_return#1 ) + (byte*~) initEntry::$8 ← (byte*) initEntry::entryTLastLink1_return#3 + (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#6 + (byte/signed byte/word/signed word/dword/signed dword) 5 + *((byte*~) initEntry::$8) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 + (byte*) initEntry::entrySLastLink1_entry#0 ← (byte*) initEntry::entry#7 + to:initEntry::entrySLastLink1 +initEntry::entrySLastLink1: scope:[initEntry] from initEntry::@5 + (byte*) initEntry::entry#32 ← phi( initEntry::@5/(byte*) initEntry::entry#7 ) + (byte) initEntry::n#33 ← phi( initEntry::@5/(byte) initEntry::n#6 ) + (byte*) initEntry::entrySLastLink1_entry#1 ← phi( initEntry::@5/(byte*) initEntry::entrySLastLink1_entry#0 ) + (byte*) initEntry::entrySLastLink1_$0#0 ← (byte*) initEntry::entrySLastLink1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) 9 + (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entrySLastLink1_$0#0 + to:initEntry::entrySLastLink1_@return +initEntry::entrySLastLink1_@return: scope:[initEntry] from initEntry::entrySLastLink1 + (byte*) initEntry::entry#20 ← phi( initEntry::entrySLastLink1/(byte*) initEntry::entry#32 ) + (byte) initEntry::n#20 ← phi( initEntry::entrySLastLink1/(byte) initEntry::n#33 ) + (byte*) initEntry::entrySLastLink1_return#2 ← phi( initEntry::entrySLastLink1/(byte*) initEntry::entrySLastLink1_return#0 ) + (byte*) initEntry::entrySLastLink1_return#1 ← (byte*) initEntry::entrySLastLink1_return#2 + to:initEntry::@6 +initEntry::@6: scope:[initEntry] from initEntry::entrySLastLink1_@return + (byte*) initEntry::entry#8 ← phi( initEntry::entrySLastLink1_@return/(byte*) initEntry::entry#20 ) + (byte) initEntry::n#7 ← phi( initEntry::entrySLastLink1_@return/(byte) initEntry::n#20 ) + (byte*) initEntry::entrySLastLink1_return#3 ← phi( initEntry::entrySLastLink1_@return/(byte*) initEntry::entrySLastLink1_return#1 ) + (byte*~) initEntry::$10 ← (byte*) initEntry::entrySLastLink1_return#3 + (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#7 + (byte/signed byte/word/signed word/dword/signed dword) 6 + *((byte*~) initEntry::$10) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 + (byte*) initEntry::entryBFlag1_entry#0 ← (byte*) initEntry::entry#8 + to:initEntry::entryBFlag1 +initEntry::entryBFlag1: scope:[initEntry] from initEntry::@6 + (byte*) initEntry::entry#33 ← phi( initEntry::@6/(byte*) initEntry::entry#8 ) + (byte) initEntry::n#34 ← phi( initEntry::@6/(byte) initEntry::n#7 ) + (byte*) initEntry::entryBFlag1_entry#1 ← phi( initEntry::@6/(byte*) initEntry::entryBFlag1_entry#0 ) + (byte*) initEntry::entryBFlag1_$0#0 ← (byte*) initEntry::entryBFlag1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) $a + (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBFlag1_$0#0 + to:initEntry::entryBFlag1_@return +initEntry::entryBFlag1_@return: scope:[initEntry] from initEntry::entryBFlag1 + (byte*) initEntry::entry#21 ← phi( initEntry::entryBFlag1/(byte*) initEntry::entry#33 ) + (byte) initEntry::n#21 ← phi( initEntry::entryBFlag1/(byte) initEntry::n#34 ) + (byte*) initEntry::entryBFlag1_return#2 ← phi( initEntry::entryBFlag1/(byte*) initEntry::entryBFlag1_return#0 ) + (byte*) initEntry::entryBFlag1_return#1 ← (byte*) initEntry::entryBFlag1_return#2 + to:initEntry::@7 +initEntry::@7: scope:[initEntry] from initEntry::entryBFlag1_@return + (byte*) initEntry::entry#9 ← phi( initEntry::entryBFlag1_@return/(byte*) initEntry::entry#21 ) + (byte) initEntry::n#8 ← phi( initEntry::entryBFlag1_@return/(byte) initEntry::n#21 ) + (byte*) initEntry::entryBFlag1_return#3 ← phi( initEntry::entryBFlag1_@return/(byte*) initEntry::entryBFlag1_return#1 ) + (byte*~) initEntry::$12 ← (byte*) initEntry::entryBFlag1_return#3 + (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#8 + (byte/signed byte/word/signed word/dword/signed dword) 7 + *((byte*~) initEntry::$12) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 + (byte*) initEntry::entryBError1_entry#0 ← (byte*) initEntry::entry#9 + to:initEntry::entryBError1 +initEntry::entryBError1: scope:[initEntry] from initEntry::@7 + (byte*) initEntry::entry#34 ← phi( initEntry::@7/(byte*) initEntry::entry#9 ) + (byte) initEntry::n#35 ← phi( initEntry::@7/(byte) initEntry::n#8 ) + (byte*) initEntry::entryBError1_entry#1 ← phi( initEntry::@7/(byte*) initEntry::entryBError1_entry#0 ) + (byte*) initEntry::entryBError1_$0#0 ← (byte*) initEntry::entryBError1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) $b + (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBError1_$0#0 + to:initEntry::entryBError1_@return +initEntry::entryBError1_@return: scope:[initEntry] from initEntry::entryBError1 + (byte*) initEntry::entry#22 ← phi( initEntry::entryBError1/(byte*) initEntry::entry#34 ) + (byte) initEntry::n#22 ← phi( initEntry::entryBError1/(byte) initEntry::n#35 ) + (byte*) initEntry::entryBError1_return#2 ← phi( initEntry::entryBError1/(byte*) initEntry::entryBError1_return#0 ) + (byte*) initEntry::entryBError1_return#1 ← (byte*) initEntry::entryBError1_return#2 + to:initEntry::@8 +initEntry::@8: scope:[initEntry] from initEntry::entryBError1_@return + (byte*) initEntry::entry#10 ← phi( initEntry::entryBError1_@return/(byte*) initEntry::entry#22 ) + (byte) initEntry::n#9 ← phi( initEntry::entryBError1_@return/(byte) initEntry::n#22 ) + (byte*) initEntry::entryBError1_return#3 ← phi( initEntry::entryBError1_@return/(byte*) initEntry::entryBError1_return#1 ) + (byte*~) initEntry::$14 ← (byte*) initEntry::entryBError1_return#3 + (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#9 + (byte/signed byte/word/signed word/dword/signed dword) 8 + *((byte*~) initEntry::$14) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 + (byte*) initEntry::entryUCross1_entry#0 ← (byte*) initEntry::entry#10 + to:initEntry::entryUCross1 +initEntry::entryUCross1: scope:[initEntry] from initEntry::@8 + (byte*) initEntry::entry#35 ← phi( initEntry::@8/(byte*) initEntry::entry#10 ) + (byte) initEntry::n#36 ← phi( initEntry::@8/(byte) initEntry::n#9 ) + (byte*) initEntry::entryUCross1_entry#1 ← phi( initEntry::@8/(byte*) initEntry::entryUCross1_entry#0 ) + (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryUCross1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) $c + (word*) initEntry::entryUCross1_$1#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 + (word*) initEntry::entryUCross1_return#0 ← (word*) initEntry::entryUCross1_$1#0 + to:initEntry::entryUCross1_@return +initEntry::entryUCross1_@return: scope:[initEntry] from initEntry::entryUCross1 + (byte*) initEntry::entry#23 ← phi( initEntry::entryUCross1/(byte*) initEntry::entry#35 ) + (byte) initEntry::n#23 ← phi( initEntry::entryUCross1/(byte) initEntry::n#36 ) + (word*) initEntry::entryUCross1_return#2 ← phi( initEntry::entryUCross1/(word*) initEntry::entryUCross1_return#0 ) + (word*) initEntry::entryUCross1_return#1 ← (word*) initEntry::entryUCross1_return#2 + to:initEntry::@9 +initEntry::@9: scope:[initEntry] from initEntry::entryUCross1_@return + (byte*) initEntry::entry#11 ← phi( initEntry::entryUCross1_@return/(byte*) initEntry::entry#23 ) + (byte) initEntry::n#10 ← phi( initEntry::entryUCross1_@return/(byte) initEntry::n#23 ) + (word*) initEntry::entryUCross1_return#3 ← phi( initEntry::entryUCross1_@return/(word*) initEntry::entryUCross1_return#1 ) + (word*~) initEntry::$16 ← (word*) initEntry::entryUCross1_return#3 + (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 + *((word*~) initEntry::$16) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 + (byte*) initEntry::entryBAddrLo1_entry#0 ← (byte*) initEntry::entry#11 + to:initEntry::entryBAddrLo1 +initEntry::entryBAddrLo1: scope:[initEntry] from initEntry::@9 + (byte*) initEntry::entry#36 ← phi( initEntry::@9/(byte*) initEntry::entry#11 ) + (byte) initEntry::n#37 ← phi( initEntry::@9/(byte) initEntry::n#10 ) + (byte*) initEntry::entryBAddrLo1_entry#1 ← phi( initEntry::@9/(byte*) initEntry::entryBAddrLo1_entry#0 ) + (byte*) initEntry::entryBAddrLo1_$0#0 ← (byte*) initEntry::entryBAddrLo1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) $e + (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBAddrLo1_$0#0 + to:initEntry::entryBAddrLo1_@return +initEntry::entryBAddrLo1_@return: scope:[initEntry] from initEntry::entryBAddrLo1 + (byte*) initEntry::entry#24 ← phi( initEntry::entryBAddrLo1/(byte*) initEntry::entry#36 ) + (byte) initEntry::n#24 ← phi( initEntry::entryBAddrLo1/(byte) initEntry::n#37 ) + (byte*) initEntry::entryBAddrLo1_return#2 ← phi( initEntry::entryBAddrLo1/(byte*) initEntry::entryBAddrLo1_return#0 ) + (byte*) initEntry::entryBAddrLo1_return#1 ← (byte*) initEntry::entryBAddrLo1_return#2 + to:initEntry::@10 +initEntry::@10: scope:[initEntry] from initEntry::entryBAddrLo1_@return + (byte*) initEntry::entry#12 ← phi( initEntry::entryBAddrLo1_@return/(byte*) initEntry::entry#24 ) + (byte) initEntry::n#11 ← phi( initEntry::entryBAddrLo1_@return/(byte) initEntry::n#24 ) + (byte*) initEntry::entryBAddrLo1_return#3 ← phi( initEntry::entryBAddrLo1_@return/(byte*) initEntry::entryBAddrLo1_return#1 ) + (byte*~) initEntry::$18 ← (byte*) initEntry::entryBAddrLo1_return#3 + (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#11 + (byte/signed byte/word/signed word/dword/signed dword) $a + *((byte*~) initEntry::$18) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 + (byte*) initEntry::entryBAddrHi1_entry#0 ← (byte*) initEntry::entry#12 + to:initEntry::entryBAddrHi1 +initEntry::entryBAddrHi1: scope:[initEntry] from initEntry::@10 + (byte*) initEntry::entry#37 ← phi( initEntry::@10/(byte*) initEntry::entry#12 ) + (byte) initEntry::n#38 ← phi( initEntry::@10/(byte) initEntry::n#11 ) + (byte*) initEntry::entryBAddrHi1_entry#1 ← phi( initEntry::@10/(byte*) initEntry::entryBAddrHi1_entry#0 ) + (byte*) initEntry::entryBAddrHi1_$0#0 ← (byte*) initEntry::entryBAddrHi1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) $f + (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBAddrHi1_$0#0 + to:initEntry::entryBAddrHi1_@return +initEntry::entryBAddrHi1_@return: scope:[initEntry] from initEntry::entryBAddrHi1 + (byte*) initEntry::entry#25 ← phi( initEntry::entryBAddrHi1/(byte*) initEntry::entry#37 ) + (byte) initEntry::n#25 ← phi( initEntry::entryBAddrHi1/(byte) initEntry::n#38 ) + (byte*) initEntry::entryBAddrHi1_return#2 ← phi( initEntry::entryBAddrHi1/(byte*) initEntry::entryBAddrHi1_return#0 ) + (byte*) initEntry::entryBAddrHi1_return#1 ← (byte*) initEntry::entryBAddrHi1_return#2 + to:initEntry::@11 +initEntry::@11: scope:[initEntry] from initEntry::entryBAddrHi1_@return + (byte*) initEntry::entry#13 ← phi( initEntry::entryBAddrHi1_@return/(byte*) initEntry::entry#25 ) + (byte) initEntry::n#12 ← phi( initEntry::entryBAddrHi1_@return/(byte) initEntry::n#25 ) + (byte*) initEntry::entryBAddrHi1_return#3 ← phi( initEntry::entryBAddrHi1_@return/(byte*) initEntry::entryBAddrHi1_return#1 ) + (byte*~) initEntry::$20 ← (byte*) initEntry::entryBAddrHi1_return#3 + (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#12 + (byte/signed byte/word/signed word/dword/signed dword) $b + *((byte*~) initEntry::$20) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 + (byte*) initEntry::entryTHi1_entry#0 ← (byte*) initEntry::entry#13 + to:initEntry::entryTHi1 +initEntry::entryTHi1: scope:[initEntry] from initEntry::@11 + (byte*) initEntry::entry#38 ← phi( initEntry::@11/(byte*) initEntry::entry#13 ) + (byte) initEntry::n#39 ← phi( initEntry::@11/(byte) initEntry::n#12 ) + (byte*) initEntry::entryTHi1_entry#1 ← phi( initEntry::@11/(byte*) initEntry::entryTHi1_entry#0 ) + (byte*) initEntry::entryTHi1_$0#0 ← (byte*) initEntry::entryTHi1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) $10 + (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryTHi1_$0#0 + to:initEntry::entryTHi1_@return +initEntry::entryTHi1_@return: scope:[initEntry] from initEntry::entryTHi1 + (byte*) initEntry::entry#26 ← phi( initEntry::entryTHi1/(byte*) initEntry::entry#38 ) + (byte) initEntry::n#26 ← phi( initEntry::entryTHi1/(byte) initEntry::n#39 ) + (byte*) initEntry::entryTHi1_return#2 ← phi( initEntry::entryTHi1/(byte*) initEntry::entryTHi1_return#0 ) + (byte*) initEntry::entryTHi1_return#1 ← (byte*) initEntry::entryTHi1_return#2 + to:initEntry::@12 +initEntry::@12: scope:[initEntry] from initEntry::entryTHi1_@return + (byte*) initEntry::entry#14 ← phi( initEntry::entryTHi1_@return/(byte*) initEntry::entry#26 ) + (byte) initEntry::n#13 ← phi( initEntry::entryTHi1_@return/(byte) initEntry::n#26 ) + (byte*) initEntry::entryTHi1_return#3 ← phi( initEntry::entryTHi1_@return/(byte*) initEntry::entryTHi1_return#1 ) + (byte*~) initEntry::$22 ← (byte*) initEntry::entryTHi1_return#3 + (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#13 + (byte/signed byte/word/signed word/dword/signed dword) $c + *((byte*~) initEntry::$22) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 + (byte*) initEntry::entryTLo1_entry#0 ← (byte*) initEntry::entry#14 + to:initEntry::entryTLo1 +initEntry::entryTLo1: scope:[initEntry] from initEntry::@12 + (byte) initEntry::n#40 ← phi( initEntry::@12/(byte) initEntry::n#13 ) + (byte*) initEntry::entryTLo1_entry#1 ← phi( initEntry::@12/(byte*) initEntry::entryTLo1_entry#0 ) + (byte*) initEntry::entryTLo1_$0#0 ← (byte*) initEntry::entryTLo1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) $11 + (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryTLo1_$0#0 + to:initEntry::entryTLo1_@return +initEntry::entryTLo1_@return: scope:[initEntry] from initEntry::entryTLo1 + (byte) initEntry::n#27 ← phi( initEntry::entryTLo1/(byte) initEntry::n#40 ) + (byte*) initEntry::entryTLo1_return#2 ← phi( initEntry::entryTLo1/(byte*) initEntry::entryTLo1_return#0 ) + (byte*) initEntry::entryTLo1_return#1 ← (byte*) initEntry::entryTLo1_return#2 + to:initEntry::@13 +initEntry::@13: scope:[initEntry] from initEntry::entryTLo1_@return + (byte) initEntry::n#14 ← phi( initEntry::entryTLo1_@return/(byte) initEntry::n#27 ) + (byte*) initEntry::entryTLo1_return#3 ← phi( initEntry::entryTLo1_@return/(byte*) initEntry::entryTLo1_return#1 ) + (byte*~) initEntry::$24 ← (byte*) initEntry::entryTLo1_return#3 + (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#14 + (byte/signed byte/word/signed word/dword/signed dword) $d + *((byte*~) initEntry::$24) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 + to:initEntry::@return +initEntry::@return: scope:[initEntry] from initEntry::@13 + return + to:@return +printEntry: scope:[printEntry] from main::@23 main::@31 + (byte*) print_line_cursor#152 ← phi( main::@23/(byte*) print_line_cursor#7 main::@31/(byte*) print_line_cursor#12 ) + (byte*) printEntry::entry#15 ← phi( main::@23/(byte*) printEntry::entry#0 main::@31/(byte*) printEntry::entry#1 ) + (byte*) print_char_cursor#149 ← phi( main::@23/(byte*) print_char_cursor#18 main::@31/(byte*) print_char_cursor#25 ) + (byte*) print_str::str#5 ← (const string) printEntry::str + call print_str + to:printEntry::@14 +printEntry::@14: scope:[printEntry] from printEntry + (byte*) print_line_cursor#138 ← phi( printEntry/(byte*) print_line_cursor#152 ) + (byte*) printEntry::entry#2 ← phi( printEntry/(byte*) printEntry::entry#15 ) + (byte*) print_char_cursor#101 ← phi( printEntry/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#31 ← (byte*) print_char_cursor#101 + (byte*) printEntry::entryBufDisk1_entry#0 ← (byte*) printEntry::entry#2 + to:printEntry::entryBufDisk1 +printEntry::entryBufDisk1: scope:[printEntry] from printEntry::@14 + (byte*) printEntry::entry#64 ← phi( printEntry::@14/(byte*) printEntry::entry#2 ) + (byte*) print_line_cursor#123 ← phi( printEntry::@14/(byte*) print_line_cursor#138 ) + (byte*) print_char_cursor#186 ← phi( printEntry::@14/(byte*) print_char_cursor#31 ) + (byte*) printEntry::entryBufDisk1_entry#1 ← phi( printEntry::@14/(byte*) printEntry::entryBufDisk1_entry#0 ) + (byte*) printEntry::entryBufDisk1_$0#0 ← (byte*) printEntry::entryBufDisk1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte**) printEntry::entryBufDisk1_$1#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 + (byte**) printEntry::entryBufDisk1_return#0 ← (byte**) printEntry::entryBufDisk1_$1#0 + to:printEntry::entryBufDisk1_@return +printEntry::entryBufDisk1_@return: scope:[printEntry] from printEntry::entryBufDisk1 + (byte*) printEntry::entry#52 ← phi( printEntry::entryBufDisk1/(byte*) printEntry::entry#64 ) + (byte*) print_line_cursor#104 ← phi( printEntry::entryBufDisk1/(byte*) print_line_cursor#123 ) + (byte*) print_char_cursor#168 ← phi( printEntry::entryBufDisk1/(byte*) print_char_cursor#186 ) + (byte**) printEntry::entryBufDisk1_return#2 ← phi( printEntry::entryBufDisk1/(byte**) printEntry::entryBufDisk1_return#0 ) + (byte**) printEntry::entryBufDisk1_return#1 ← (byte**) printEntry::entryBufDisk1_return#2 + to:printEntry::@1 +printEntry::@1: scope:[printEntry] from printEntry::entryBufDisk1_@return + (byte*) printEntry::entry#40 ← phi( printEntry::entryBufDisk1_@return/(byte*) printEntry::entry#52 ) + (byte*) print_line_cursor#86 ← phi( printEntry::entryBufDisk1_@return/(byte*) print_line_cursor#104 ) + (byte*) print_char_cursor#150 ← phi( printEntry::entryBufDisk1_@return/(byte*) print_char_cursor#168 ) + (byte**) printEntry::entryBufDisk1_return#3 ← phi( printEntry::entryBufDisk1_@return/(byte**) printEntry::entryBufDisk1_return#1 ) + (byte**~) printEntry::$1 ← (byte**) printEntry::entryBufDisk1_return#3 + (word~) printEntry::$2 ← ((word)) *((byte**~) printEntry::$1) + (word) print_word::w#0 ← (word~) printEntry::$2 + call print_word + to:printEntry::@15 +printEntry::@15: scope:[printEntry] from printEntry::@1 + (byte*) printEntry::entry#28 ← phi( printEntry::@1/(byte*) printEntry::entry#40 ) + (byte*) print_line_cursor#69 ← phi( printEntry::@1/(byte*) print_line_cursor#86 ) + (byte*) print_char_cursor#102 ← phi( printEntry::@1/(byte*) print_char_cursor#7 ) + (byte*) print_char_cursor#32 ← (byte*) print_char_cursor#102 + call print_ln + to:printEntry::@16 +printEntry::@16: scope:[printEntry] from printEntry::@15 + (byte*) printEntry::entry#16 ← phi( printEntry::@15/(byte*) printEntry::entry#28 ) + (byte*) print_char_cursor#103 ← phi( printEntry::@15/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#48 ← phi( printEntry::@15/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#17 ← (byte*) print_line_cursor#48 + (byte*) print_char_cursor#33 ← (byte*) print_char_cursor#103 + (byte*) print_str::str#6 ← (const string) printEntry::str1 + call print_str + to:printEntry::@17 +printEntry::@17: scope:[printEntry] from printEntry::@16 + (byte*) print_line_cursor#139 ← phi( printEntry::@16/(byte*) print_line_cursor#17 ) + (byte*) printEntry::entry#3 ← phi( printEntry::@16/(byte*) printEntry::entry#16 ) + (byte*) print_char_cursor#104 ← phi( printEntry::@16/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#34 ← (byte*) print_char_cursor#104 + (byte*) printEntry::entryBufEdit1_entry#0 ← (byte*) printEntry::entry#3 + to:printEntry::entryBufEdit1 +printEntry::entryBufEdit1: scope:[printEntry] from printEntry::@17 + (byte*) printEntry::entry#65 ← phi( printEntry::@17/(byte*) printEntry::entry#3 ) + (byte*) print_line_cursor#124 ← phi( printEntry::@17/(byte*) print_line_cursor#139 ) + (byte*) print_char_cursor#187 ← phi( printEntry::@17/(byte*) print_char_cursor#34 ) + (byte*) printEntry::entryBufEdit1_entry#1 ← phi( printEntry::@17/(byte*) printEntry::entryBufEdit1_entry#0 ) + (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufEdit1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) 2 + (byte**) printEntry::entryBufEdit1_$1#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 + (byte**) printEntry::entryBufEdit1_return#0 ← (byte**) printEntry::entryBufEdit1_$1#0 + to:printEntry::entryBufEdit1_@return +printEntry::entryBufEdit1_@return: scope:[printEntry] from printEntry::entryBufEdit1 + (byte*) printEntry::entry#53 ← phi( printEntry::entryBufEdit1/(byte*) printEntry::entry#65 ) + (byte*) print_line_cursor#105 ← phi( printEntry::entryBufEdit1/(byte*) print_line_cursor#124 ) + (byte*) print_char_cursor#169 ← phi( printEntry::entryBufEdit1/(byte*) print_char_cursor#187 ) + (byte**) printEntry::entryBufEdit1_return#2 ← phi( printEntry::entryBufEdit1/(byte**) printEntry::entryBufEdit1_return#0 ) + (byte**) printEntry::entryBufEdit1_return#1 ← (byte**) printEntry::entryBufEdit1_return#2 + to:printEntry::@2 +printEntry::@2: scope:[printEntry] from printEntry::entryBufEdit1_@return + (byte*) printEntry::entry#41 ← phi( printEntry::entryBufEdit1_@return/(byte*) printEntry::entry#53 ) + (byte*) print_line_cursor#87 ← phi( printEntry::entryBufEdit1_@return/(byte*) print_line_cursor#105 ) + (byte*) print_char_cursor#151 ← phi( printEntry::entryBufEdit1_@return/(byte*) print_char_cursor#169 ) + (byte**) printEntry::entryBufEdit1_return#3 ← phi( printEntry::entryBufEdit1_@return/(byte**) printEntry::entryBufEdit1_return#1 ) + (byte**~) printEntry::$6 ← (byte**) printEntry::entryBufEdit1_return#3 + (word~) printEntry::$7 ← ((word)) *((byte**~) printEntry::$6) + (word) print_word::w#1 ← (word~) printEntry::$7 + call print_word + to:printEntry::@18 +printEntry::@18: scope:[printEntry] from printEntry::@2 + (byte*) printEntry::entry#29 ← phi( printEntry::@2/(byte*) printEntry::entry#41 ) + (byte*) print_line_cursor#70 ← phi( printEntry::@2/(byte*) print_line_cursor#87 ) + (byte*) print_char_cursor#105 ← phi( printEntry::@2/(byte*) print_char_cursor#7 ) + (byte*) print_char_cursor#35 ← (byte*) print_char_cursor#105 + call print_ln + to:printEntry::@19 +printEntry::@19: scope:[printEntry] from printEntry::@18 + (byte*) printEntry::entry#17 ← phi( printEntry::@18/(byte*) printEntry::entry#29 ) + (byte*) print_char_cursor#106 ← phi( printEntry::@18/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#49 ← phi( printEntry::@18/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#18 ← (byte*) print_line_cursor#49 + (byte*) print_char_cursor#36 ← (byte*) print_char_cursor#106 + (byte*) print_str::str#7 ← (const string) printEntry::str2 + call print_str + to:printEntry::@20 +printEntry::@20: scope:[printEntry] from printEntry::@19 + (byte*) print_line_cursor#140 ← phi( printEntry::@19/(byte*) print_line_cursor#18 ) + (byte*) printEntry::entry#4 ← phi( printEntry::@19/(byte*) printEntry::entry#17 ) + (byte*) print_char_cursor#107 ← phi( printEntry::@19/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#37 ← (byte*) print_char_cursor#107 + (byte*) printEntry::entryTsLen1_entry#0 ← (byte*) printEntry::entry#4 + to:printEntry::entryTsLen1 +printEntry::entryTsLen1: scope:[printEntry] from printEntry::@20 + (byte*) printEntry::entry#66 ← phi( printEntry::@20/(byte*) printEntry::entry#4 ) + (byte*) print_line_cursor#125 ← phi( printEntry::@20/(byte*) print_line_cursor#140 ) + (byte*) print_char_cursor#188 ← phi( printEntry::@20/(byte*) print_char_cursor#37 ) + (byte*) printEntry::entryTsLen1_entry#1 ← phi( printEntry::@20/(byte*) printEntry::entryTsLen1_entry#0 ) + (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryTsLen1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) 4 + (word*) printEntry::entryTsLen1_$1#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 + (word*) printEntry::entryTsLen1_return#0 ← (word*) printEntry::entryTsLen1_$1#0 + to:printEntry::entryTsLen1_@return +printEntry::entryTsLen1_@return: scope:[printEntry] from printEntry::entryTsLen1 + (byte*) printEntry::entry#54 ← phi( printEntry::entryTsLen1/(byte*) printEntry::entry#66 ) + (byte*) print_line_cursor#106 ← phi( printEntry::entryTsLen1/(byte*) print_line_cursor#125 ) + (byte*) print_char_cursor#170 ← phi( printEntry::entryTsLen1/(byte*) print_char_cursor#188 ) + (word*) printEntry::entryTsLen1_return#2 ← phi( printEntry::entryTsLen1/(word*) printEntry::entryTsLen1_return#0 ) + (word*) printEntry::entryTsLen1_return#1 ← (word*) printEntry::entryTsLen1_return#2 + to:printEntry::@3 +printEntry::@3: scope:[printEntry] from printEntry::entryTsLen1_@return + (byte*) printEntry::entry#42 ← phi( printEntry::entryTsLen1_@return/(byte*) printEntry::entry#54 ) + (byte*) print_line_cursor#88 ← phi( printEntry::entryTsLen1_@return/(byte*) print_line_cursor#106 ) + (byte*) print_char_cursor#152 ← phi( printEntry::entryTsLen1_@return/(byte*) print_char_cursor#170 ) + (word*) printEntry::entryTsLen1_return#3 ← phi( printEntry::entryTsLen1_@return/(word*) printEntry::entryTsLen1_return#1 ) + (word*~) printEntry::$11 ← (word*) printEntry::entryTsLen1_return#3 + (word) print_word::w#2 ← *((word*~) printEntry::$11) + call print_word + to:printEntry::@21 +printEntry::@21: scope:[printEntry] from printEntry::@3 + (byte*) printEntry::entry#30 ← phi( printEntry::@3/(byte*) printEntry::entry#42 ) + (byte*) print_line_cursor#71 ← phi( printEntry::@3/(byte*) print_line_cursor#88 ) + (byte*) print_char_cursor#108 ← phi( printEntry::@3/(byte*) print_char_cursor#7 ) + (byte*) print_char_cursor#38 ← (byte*) print_char_cursor#108 + call print_ln + to:printEntry::@22 +printEntry::@22: scope:[printEntry] from printEntry::@21 + (byte*) printEntry::entry#18 ← phi( printEntry::@21/(byte*) printEntry::entry#30 ) + (byte*) print_char_cursor#109 ← phi( printEntry::@21/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#50 ← phi( printEntry::@21/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#50 + (byte*) print_char_cursor#39 ← (byte*) print_char_cursor#109 + (byte*) print_str::str#8 ← (const string) printEntry::str3 + call print_str + to:printEntry::@23 +printEntry::@23: scope:[printEntry] from printEntry::@22 + (byte*) print_line_cursor#141 ← phi( printEntry::@22/(byte*) print_line_cursor#19 ) + (byte*) printEntry::entry#5 ← phi( printEntry::@22/(byte*) printEntry::entry#18 ) + (byte*) print_char_cursor#110 ← phi( printEntry::@22/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#40 ← (byte*) print_char_cursor#110 + (byte*) printEntry::entryTsOrder1_entry#0 ← (byte*) printEntry::entry#5 + to:printEntry::entryTsOrder1 +printEntry::entryTsOrder1: scope:[printEntry] from printEntry::@23 + (byte*) printEntry::entry#67 ← phi( printEntry::@23/(byte*) printEntry::entry#5 ) + (byte*) print_line_cursor#126 ← phi( printEntry::@23/(byte*) print_line_cursor#141 ) + (byte*) print_char_cursor#189 ← phi( printEntry::@23/(byte*) print_char_cursor#40 ) + (byte*) printEntry::entryTsOrder1_entry#1 ← phi( printEntry::@23/(byte*) printEntry::entryTsOrder1_entry#0 ) + (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryTsOrder1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) 6 + (word**) printEntry::entryTsOrder1_$1#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 + (word**) printEntry::entryTsOrder1_return#0 ← (word**) printEntry::entryTsOrder1_$1#0 + to:printEntry::entryTsOrder1_@return +printEntry::entryTsOrder1_@return: scope:[printEntry] from printEntry::entryTsOrder1 + (byte*) printEntry::entry#55 ← phi( printEntry::entryTsOrder1/(byte*) printEntry::entry#67 ) + (byte*) print_line_cursor#107 ← phi( printEntry::entryTsOrder1/(byte*) print_line_cursor#126 ) + (byte*) print_char_cursor#171 ← phi( printEntry::entryTsOrder1/(byte*) print_char_cursor#189 ) + (word**) printEntry::entryTsOrder1_return#2 ← phi( printEntry::entryTsOrder1/(word**) printEntry::entryTsOrder1_return#0 ) + (word**) printEntry::entryTsOrder1_return#1 ← (word**) printEntry::entryTsOrder1_return#2 + to:printEntry::@4 +printEntry::@4: scope:[printEntry] from printEntry::entryTsOrder1_@return + (byte*) printEntry::entry#43 ← phi( printEntry::entryTsOrder1_@return/(byte*) printEntry::entry#55 ) + (byte*) print_line_cursor#89 ← phi( printEntry::entryTsOrder1_@return/(byte*) print_line_cursor#107 ) + (byte*) print_char_cursor#153 ← phi( printEntry::entryTsOrder1_@return/(byte*) print_char_cursor#171 ) + (word**) printEntry::entryTsOrder1_return#3 ← phi( printEntry::entryTsOrder1_@return/(word**) printEntry::entryTsOrder1_return#1 ) + (word**~) printEntry::$15 ← (word**) printEntry::entryTsOrder1_return#3 + (word~) printEntry::$16 ← ((word)) *((word**~) printEntry::$15) + (word) print_word::w#3 ← (word~) printEntry::$16 + call print_word + to:printEntry::@24 +printEntry::@24: scope:[printEntry] from printEntry::@4 + (byte*) printEntry::entry#31 ← phi( printEntry::@4/(byte*) printEntry::entry#43 ) + (byte*) print_line_cursor#72 ← phi( printEntry::@4/(byte*) print_line_cursor#89 ) + (byte*) print_char_cursor#111 ← phi( printEntry::@4/(byte*) print_char_cursor#7 ) + (byte*) print_char_cursor#41 ← (byte*) print_char_cursor#111 + call print_ln + to:printEntry::@25 +printEntry::@25: scope:[printEntry] from printEntry::@24 + (byte*) printEntry::entry#19 ← phi( printEntry::@24/(byte*) printEntry::entry#31 ) + (byte*) print_char_cursor#112 ← phi( printEntry::@24/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#51 ← phi( printEntry::@24/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#20 ← (byte*) print_line_cursor#51 + (byte*) print_char_cursor#42 ← (byte*) print_char_cursor#112 + (byte*) print_str::str#9 ← (const string) printEntry::str4 + call print_str + to:printEntry::@26 +printEntry::@26: scope:[printEntry] from printEntry::@25 + (byte*) print_line_cursor#142 ← phi( printEntry::@25/(byte*) print_line_cursor#20 ) + (byte*) printEntry::entry#6 ← phi( printEntry::@25/(byte*) printEntry::entry#19 ) + (byte*) print_char_cursor#113 ← phi( printEntry::@25/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#43 ← (byte*) print_char_cursor#113 + (byte*) printEntry::entryTLastLink1_entry#0 ← (byte*) printEntry::entry#6 + to:printEntry::entryTLastLink1 +printEntry::entryTLastLink1: scope:[printEntry] from printEntry::@26 + (byte*) printEntry::entry#68 ← phi( printEntry::@26/(byte*) printEntry::entry#6 ) + (byte*) print_line_cursor#127 ← phi( printEntry::@26/(byte*) print_line_cursor#142 ) + (byte*) print_char_cursor#190 ← phi( printEntry::@26/(byte*) print_char_cursor#43 ) + (byte*) printEntry::entryTLastLink1_entry#1 ← phi( printEntry::@26/(byte*) printEntry::entryTLastLink1_entry#0 ) + (byte*) printEntry::entryTLastLink1_$0#0 ← (byte*) printEntry::entryTLastLink1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) 8 + (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryTLastLink1_$0#0 + to:printEntry::entryTLastLink1_@return +printEntry::entryTLastLink1_@return: scope:[printEntry] from printEntry::entryTLastLink1 + (byte*) printEntry::entry#56 ← phi( printEntry::entryTLastLink1/(byte*) printEntry::entry#68 ) + (byte*) print_line_cursor#108 ← phi( printEntry::entryTLastLink1/(byte*) print_line_cursor#127 ) + (byte*) print_char_cursor#172 ← phi( printEntry::entryTLastLink1/(byte*) print_char_cursor#190 ) + (byte*) printEntry::entryTLastLink1_return#2 ← phi( printEntry::entryTLastLink1/(byte*) printEntry::entryTLastLink1_return#0 ) + (byte*) printEntry::entryTLastLink1_return#1 ← (byte*) printEntry::entryTLastLink1_return#2 + to:printEntry::@5 +printEntry::@5: scope:[printEntry] from printEntry::entryTLastLink1_@return + (byte*) printEntry::entry#44 ← phi( printEntry::entryTLastLink1_@return/(byte*) printEntry::entry#56 ) + (byte*) print_line_cursor#90 ← phi( printEntry::entryTLastLink1_@return/(byte*) print_line_cursor#108 ) + (byte*) print_char_cursor#154 ← phi( printEntry::entryTLastLink1_@return/(byte*) print_char_cursor#172 ) + (byte*) printEntry::entryTLastLink1_return#3 ← phi( printEntry::entryTLastLink1_@return/(byte*) printEntry::entryTLastLink1_return#1 ) + (byte*~) printEntry::$20 ← (byte*) printEntry::entryTLastLink1_return#3 + (byte) print_byte::b#2 ← *((byte*~) printEntry::$20) + call print_byte + to:printEntry::@27 +printEntry::@27: scope:[printEntry] from printEntry::@5 + (byte*) printEntry::entry#32 ← phi( printEntry::@5/(byte*) printEntry::entry#44 ) + (byte*) print_line_cursor#73 ← phi( printEntry::@5/(byte*) print_line_cursor#90 ) + (byte*) print_char_cursor#114 ← phi( printEntry::@5/(byte*) print_char_cursor#10 ) + (byte*) print_char_cursor#44 ← (byte*) print_char_cursor#114 + call print_ln + to:printEntry::@28 +printEntry::@28: scope:[printEntry] from printEntry::@27 + (byte*) printEntry::entry#20 ← phi( printEntry::@27/(byte*) printEntry::entry#32 ) + (byte*) print_char_cursor#115 ← phi( printEntry::@27/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#52 ← phi( printEntry::@27/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#21 ← (byte*) print_line_cursor#52 + (byte*) print_char_cursor#45 ← (byte*) print_char_cursor#115 + (byte*) print_str::str#10 ← (const string) printEntry::str5 + call print_str + to:printEntry::@29 +printEntry::@29: scope:[printEntry] from printEntry::@28 + (byte*) print_line_cursor#143 ← phi( printEntry::@28/(byte*) print_line_cursor#21 ) + (byte*) printEntry::entry#7 ← phi( printEntry::@28/(byte*) printEntry::entry#20 ) + (byte*) print_char_cursor#116 ← phi( printEntry::@28/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#46 ← (byte*) print_char_cursor#116 + (byte*) printEntry::entrySLastLink1_entry#0 ← (byte*) printEntry::entry#7 + to:printEntry::entrySLastLink1 +printEntry::entrySLastLink1: scope:[printEntry] from printEntry::@29 + (byte*) printEntry::entry#69 ← phi( printEntry::@29/(byte*) printEntry::entry#7 ) + (byte*) print_line_cursor#128 ← phi( printEntry::@29/(byte*) print_line_cursor#143 ) + (byte*) print_char_cursor#191 ← phi( printEntry::@29/(byte*) print_char_cursor#46 ) + (byte*) printEntry::entrySLastLink1_entry#1 ← phi( printEntry::@29/(byte*) printEntry::entrySLastLink1_entry#0 ) + (byte*) printEntry::entrySLastLink1_$0#0 ← (byte*) printEntry::entrySLastLink1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) 9 + (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entrySLastLink1_$0#0 + to:printEntry::entrySLastLink1_@return +printEntry::entrySLastLink1_@return: scope:[printEntry] from printEntry::entrySLastLink1 + (byte*) printEntry::entry#57 ← phi( printEntry::entrySLastLink1/(byte*) printEntry::entry#69 ) + (byte*) print_line_cursor#109 ← phi( printEntry::entrySLastLink1/(byte*) print_line_cursor#128 ) + (byte*) print_char_cursor#173 ← phi( printEntry::entrySLastLink1/(byte*) print_char_cursor#191 ) + (byte*) printEntry::entrySLastLink1_return#2 ← phi( printEntry::entrySLastLink1/(byte*) printEntry::entrySLastLink1_return#0 ) + (byte*) printEntry::entrySLastLink1_return#1 ← (byte*) printEntry::entrySLastLink1_return#2 + to:printEntry::@6 +printEntry::@6: scope:[printEntry] from printEntry::entrySLastLink1_@return + (byte*) printEntry::entry#45 ← phi( printEntry::entrySLastLink1_@return/(byte*) printEntry::entry#57 ) + (byte*) print_line_cursor#91 ← phi( printEntry::entrySLastLink1_@return/(byte*) print_line_cursor#109 ) + (byte*) print_char_cursor#155 ← phi( printEntry::entrySLastLink1_@return/(byte*) print_char_cursor#173 ) + (byte*) printEntry::entrySLastLink1_return#3 ← phi( printEntry::entrySLastLink1_@return/(byte*) printEntry::entrySLastLink1_return#1 ) + (byte*~) printEntry::$24 ← (byte*) printEntry::entrySLastLink1_return#3 + (byte) print_byte::b#3 ← *((byte*~) printEntry::$24) + call print_byte + to:printEntry::@30 +printEntry::@30: scope:[printEntry] from printEntry::@6 + (byte*) printEntry::entry#33 ← phi( printEntry::@6/(byte*) printEntry::entry#45 ) + (byte*) print_line_cursor#74 ← phi( printEntry::@6/(byte*) print_line_cursor#91 ) + (byte*) print_char_cursor#117 ← phi( printEntry::@6/(byte*) print_char_cursor#10 ) + (byte*) print_char_cursor#47 ← (byte*) print_char_cursor#117 + call print_ln + to:printEntry::@31 +printEntry::@31: scope:[printEntry] from printEntry::@30 + (byte*) printEntry::entry#21 ← phi( printEntry::@30/(byte*) printEntry::entry#33 ) + (byte*) print_char_cursor#118 ← phi( printEntry::@30/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#53 ← phi( printEntry::@30/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#53 + (byte*) print_char_cursor#48 ← (byte*) print_char_cursor#118 + (byte*) print_str::str#11 ← (const string) printEntry::str6 + call print_str + to:printEntry::@32 +printEntry::@32: scope:[printEntry] from printEntry::@31 + (byte*) print_line_cursor#144 ← phi( printEntry::@31/(byte*) print_line_cursor#22 ) + (byte*) printEntry::entry#8 ← phi( printEntry::@31/(byte*) printEntry::entry#21 ) + (byte*) print_char_cursor#119 ← phi( printEntry::@31/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#49 ← (byte*) print_char_cursor#119 + (byte*) printEntry::entryBFlag1_entry#0 ← (byte*) printEntry::entry#8 + to:printEntry::entryBFlag1 +printEntry::entryBFlag1: scope:[printEntry] from printEntry::@32 + (byte*) printEntry::entry#70 ← phi( printEntry::@32/(byte*) printEntry::entry#8 ) + (byte*) print_line_cursor#129 ← phi( printEntry::@32/(byte*) print_line_cursor#144 ) + (byte*) print_char_cursor#192 ← phi( printEntry::@32/(byte*) print_char_cursor#49 ) + (byte*) printEntry::entryBFlag1_entry#1 ← phi( printEntry::@32/(byte*) printEntry::entryBFlag1_entry#0 ) + (byte*) printEntry::entryBFlag1_$0#0 ← (byte*) printEntry::entryBFlag1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) $a + (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBFlag1_$0#0 + to:printEntry::entryBFlag1_@return +printEntry::entryBFlag1_@return: scope:[printEntry] from printEntry::entryBFlag1 + (byte*) printEntry::entry#58 ← phi( printEntry::entryBFlag1/(byte*) printEntry::entry#70 ) + (byte*) print_line_cursor#110 ← phi( printEntry::entryBFlag1/(byte*) print_line_cursor#129 ) + (byte*) print_char_cursor#174 ← phi( printEntry::entryBFlag1/(byte*) print_char_cursor#192 ) + (byte*) printEntry::entryBFlag1_return#2 ← phi( printEntry::entryBFlag1/(byte*) printEntry::entryBFlag1_return#0 ) + (byte*) printEntry::entryBFlag1_return#1 ← (byte*) printEntry::entryBFlag1_return#2 + to:printEntry::@7 +printEntry::@7: scope:[printEntry] from printEntry::entryBFlag1_@return + (byte*) printEntry::entry#46 ← phi( printEntry::entryBFlag1_@return/(byte*) printEntry::entry#58 ) + (byte*) print_line_cursor#92 ← phi( printEntry::entryBFlag1_@return/(byte*) print_line_cursor#110 ) + (byte*) print_char_cursor#156 ← phi( printEntry::entryBFlag1_@return/(byte*) print_char_cursor#174 ) + (byte*) printEntry::entryBFlag1_return#3 ← phi( printEntry::entryBFlag1_@return/(byte*) printEntry::entryBFlag1_return#1 ) + (byte*~) printEntry::$28 ← (byte*) printEntry::entryBFlag1_return#3 + (byte) print_byte::b#4 ← *((byte*~) printEntry::$28) + call print_byte + to:printEntry::@33 +printEntry::@33: scope:[printEntry] from printEntry::@7 + (byte*) printEntry::entry#34 ← phi( printEntry::@7/(byte*) printEntry::entry#46 ) + (byte*) print_line_cursor#75 ← phi( printEntry::@7/(byte*) print_line_cursor#92 ) + (byte*) print_char_cursor#120 ← phi( printEntry::@7/(byte*) print_char_cursor#10 ) + (byte*) print_char_cursor#50 ← (byte*) print_char_cursor#120 + call print_ln + to:printEntry::@34 +printEntry::@34: scope:[printEntry] from printEntry::@33 + (byte*) printEntry::entry#22 ← phi( printEntry::@33/(byte*) printEntry::entry#34 ) + (byte*) print_char_cursor#121 ← phi( printEntry::@33/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#54 ← phi( printEntry::@33/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#23 ← (byte*) print_line_cursor#54 + (byte*) print_char_cursor#51 ← (byte*) print_char_cursor#121 + (byte*) print_str::str#12 ← (const string) printEntry::str7 + call print_str + to:printEntry::@35 +printEntry::@35: scope:[printEntry] from printEntry::@34 + (byte*) print_line_cursor#145 ← phi( printEntry::@34/(byte*) print_line_cursor#23 ) + (byte*) printEntry::entry#9 ← phi( printEntry::@34/(byte*) printEntry::entry#22 ) + (byte*) print_char_cursor#122 ← phi( printEntry::@34/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#52 ← (byte*) print_char_cursor#122 + (byte*) printEntry::entryBError1_entry#0 ← (byte*) printEntry::entry#9 + to:printEntry::entryBError1 +printEntry::entryBError1: scope:[printEntry] from printEntry::@35 + (byte*) printEntry::entry#71 ← phi( printEntry::@35/(byte*) printEntry::entry#9 ) + (byte*) print_line_cursor#130 ← phi( printEntry::@35/(byte*) print_line_cursor#145 ) + (byte*) print_char_cursor#193 ← phi( printEntry::@35/(byte*) print_char_cursor#52 ) + (byte*) printEntry::entryBError1_entry#1 ← phi( printEntry::@35/(byte*) printEntry::entryBError1_entry#0 ) + (byte*) printEntry::entryBError1_$0#0 ← (byte*) printEntry::entryBError1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) $b + (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBError1_$0#0 + to:printEntry::entryBError1_@return +printEntry::entryBError1_@return: scope:[printEntry] from printEntry::entryBError1 + (byte*) printEntry::entry#59 ← phi( printEntry::entryBError1/(byte*) printEntry::entry#71 ) + (byte*) print_line_cursor#111 ← phi( printEntry::entryBError1/(byte*) print_line_cursor#130 ) + (byte*) print_char_cursor#175 ← phi( printEntry::entryBError1/(byte*) print_char_cursor#193 ) + (byte*) printEntry::entryBError1_return#2 ← phi( printEntry::entryBError1/(byte*) printEntry::entryBError1_return#0 ) + (byte*) printEntry::entryBError1_return#1 ← (byte*) printEntry::entryBError1_return#2 + to:printEntry::@8 +printEntry::@8: scope:[printEntry] from printEntry::entryBError1_@return + (byte*) printEntry::entry#47 ← phi( printEntry::entryBError1_@return/(byte*) printEntry::entry#59 ) + (byte*) print_line_cursor#93 ← phi( printEntry::entryBError1_@return/(byte*) print_line_cursor#111 ) + (byte*) print_char_cursor#157 ← phi( printEntry::entryBError1_@return/(byte*) print_char_cursor#175 ) + (byte*) printEntry::entryBError1_return#3 ← phi( printEntry::entryBError1_@return/(byte*) printEntry::entryBError1_return#1 ) + (byte*~) printEntry::$32 ← (byte*) printEntry::entryBError1_return#3 + (byte) print_byte::b#5 ← *((byte*~) printEntry::$32) + call print_byte + to:printEntry::@36 +printEntry::@36: scope:[printEntry] from printEntry::@8 + (byte*) printEntry::entry#35 ← phi( printEntry::@8/(byte*) printEntry::entry#47 ) + (byte*) print_line_cursor#76 ← phi( printEntry::@8/(byte*) print_line_cursor#93 ) + (byte*) print_char_cursor#123 ← phi( printEntry::@8/(byte*) print_char_cursor#10 ) + (byte*) print_char_cursor#53 ← (byte*) print_char_cursor#123 + call print_ln + to:printEntry::@37 +printEntry::@37: scope:[printEntry] from printEntry::@36 + (byte*) printEntry::entry#23 ← phi( printEntry::@36/(byte*) printEntry::entry#35 ) + (byte*) print_char_cursor#124 ← phi( printEntry::@36/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#55 ← phi( printEntry::@36/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#24 ← (byte*) print_line_cursor#55 + (byte*) print_char_cursor#54 ← (byte*) print_char_cursor#124 + (byte*) print_str::str#13 ← (const string) printEntry::str8 + call print_str + to:printEntry::@38 +printEntry::@38: scope:[printEntry] from printEntry::@37 + (byte*) print_line_cursor#146 ← phi( printEntry::@37/(byte*) print_line_cursor#24 ) + (byte*) printEntry::entry#10 ← phi( printEntry::@37/(byte*) printEntry::entry#23 ) + (byte*) print_char_cursor#125 ← phi( printEntry::@37/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#55 ← (byte*) print_char_cursor#125 + (byte*) printEntry::entryUCross1_entry#0 ← (byte*) printEntry::entry#10 + to:printEntry::entryUCross1 +printEntry::entryUCross1: scope:[printEntry] from printEntry::@38 + (byte*) printEntry::entry#72 ← phi( printEntry::@38/(byte*) printEntry::entry#10 ) + (byte*) print_line_cursor#131 ← phi( printEntry::@38/(byte*) print_line_cursor#146 ) + (byte*) print_char_cursor#194 ← phi( printEntry::@38/(byte*) print_char_cursor#55 ) + (byte*) printEntry::entryUCross1_entry#1 ← phi( printEntry::@38/(byte*) printEntry::entryUCross1_entry#0 ) + (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryUCross1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) $c + (word*) printEntry::entryUCross1_$1#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 + (word*) printEntry::entryUCross1_return#0 ← (word*) printEntry::entryUCross1_$1#0 + to:printEntry::entryUCross1_@return +printEntry::entryUCross1_@return: scope:[printEntry] from printEntry::entryUCross1 + (byte*) printEntry::entry#60 ← phi( printEntry::entryUCross1/(byte*) printEntry::entry#72 ) + (byte*) print_line_cursor#112 ← phi( printEntry::entryUCross1/(byte*) print_line_cursor#131 ) + (byte*) print_char_cursor#176 ← phi( printEntry::entryUCross1/(byte*) print_char_cursor#194 ) + (word*) printEntry::entryUCross1_return#2 ← phi( printEntry::entryUCross1/(word*) printEntry::entryUCross1_return#0 ) + (word*) printEntry::entryUCross1_return#1 ← (word*) printEntry::entryUCross1_return#2 + to:printEntry::@9 +printEntry::@9: scope:[printEntry] from printEntry::entryUCross1_@return + (byte*) printEntry::entry#48 ← phi( printEntry::entryUCross1_@return/(byte*) printEntry::entry#60 ) + (byte*) print_line_cursor#94 ← phi( printEntry::entryUCross1_@return/(byte*) print_line_cursor#112 ) + (byte*) print_char_cursor#158 ← phi( printEntry::entryUCross1_@return/(byte*) print_char_cursor#176 ) + (word*) printEntry::entryUCross1_return#3 ← phi( printEntry::entryUCross1_@return/(word*) printEntry::entryUCross1_return#1 ) + (word*~) printEntry::$36 ← (word*) printEntry::entryUCross1_return#3 + (word) print_word::w#4 ← *((word*~) printEntry::$36) + call print_word + to:printEntry::@39 +printEntry::@39: scope:[printEntry] from printEntry::@9 + (byte*) printEntry::entry#36 ← phi( printEntry::@9/(byte*) printEntry::entry#48 ) + (byte*) print_line_cursor#77 ← phi( printEntry::@9/(byte*) print_line_cursor#94 ) + (byte*) print_char_cursor#126 ← phi( printEntry::@9/(byte*) print_char_cursor#7 ) + (byte*) print_char_cursor#56 ← (byte*) print_char_cursor#126 + call print_ln + to:printEntry::@40 +printEntry::@40: scope:[printEntry] from printEntry::@39 + (byte*) printEntry::entry#24 ← phi( printEntry::@39/(byte*) printEntry::entry#36 ) + (byte*) print_char_cursor#127 ← phi( printEntry::@39/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#56 ← phi( printEntry::@39/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#25 ← (byte*) print_line_cursor#56 + (byte*) print_char_cursor#57 ← (byte*) print_char_cursor#127 + (byte*) print_str::str#14 ← (const string) printEntry::str9 + call print_str + to:printEntry::@41 +printEntry::@41: scope:[printEntry] from printEntry::@40 + (byte*) print_line_cursor#147 ← phi( printEntry::@40/(byte*) print_line_cursor#25 ) + (byte*) printEntry::entry#11 ← phi( printEntry::@40/(byte*) printEntry::entry#24 ) + (byte*) print_char_cursor#128 ← phi( printEntry::@40/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#58 ← (byte*) print_char_cursor#128 + (byte*) printEntry::entryBAddrLo1_entry#0 ← (byte*) printEntry::entry#11 + to:printEntry::entryBAddrLo1 +printEntry::entryBAddrLo1: scope:[printEntry] from printEntry::@41 + (byte*) printEntry::entry#73 ← phi( printEntry::@41/(byte*) printEntry::entry#11 ) + (byte*) print_line_cursor#132 ← phi( printEntry::@41/(byte*) print_line_cursor#147 ) + (byte*) print_char_cursor#195 ← phi( printEntry::@41/(byte*) print_char_cursor#58 ) + (byte*) printEntry::entryBAddrLo1_entry#1 ← phi( printEntry::@41/(byte*) printEntry::entryBAddrLo1_entry#0 ) + (byte*) printEntry::entryBAddrLo1_$0#0 ← (byte*) printEntry::entryBAddrLo1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) $e + (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBAddrLo1_$0#0 + to:printEntry::entryBAddrLo1_@return +printEntry::entryBAddrLo1_@return: scope:[printEntry] from printEntry::entryBAddrLo1 + (byte*) printEntry::entry#61 ← phi( printEntry::entryBAddrLo1/(byte*) printEntry::entry#73 ) + (byte*) print_line_cursor#113 ← phi( printEntry::entryBAddrLo1/(byte*) print_line_cursor#132 ) + (byte*) print_char_cursor#177 ← phi( printEntry::entryBAddrLo1/(byte*) print_char_cursor#195 ) + (byte*) printEntry::entryBAddrLo1_return#2 ← phi( printEntry::entryBAddrLo1/(byte*) printEntry::entryBAddrLo1_return#0 ) + (byte*) printEntry::entryBAddrLo1_return#1 ← (byte*) printEntry::entryBAddrLo1_return#2 + to:printEntry::@10 +printEntry::@10: scope:[printEntry] from printEntry::entryBAddrLo1_@return + (byte*) printEntry::entry#49 ← phi( printEntry::entryBAddrLo1_@return/(byte*) printEntry::entry#61 ) + (byte*) print_line_cursor#95 ← phi( printEntry::entryBAddrLo1_@return/(byte*) print_line_cursor#113 ) + (byte*) print_char_cursor#159 ← phi( printEntry::entryBAddrLo1_@return/(byte*) print_char_cursor#177 ) + (byte*) printEntry::entryBAddrLo1_return#3 ← phi( printEntry::entryBAddrLo1_@return/(byte*) printEntry::entryBAddrLo1_return#1 ) + (byte*~) printEntry::$40 ← (byte*) printEntry::entryBAddrLo1_return#3 + (byte) print_byte::b#6 ← *((byte*~) printEntry::$40) + call print_byte + to:printEntry::@42 +printEntry::@42: scope:[printEntry] from printEntry::@10 + (byte*) printEntry::entry#37 ← phi( printEntry::@10/(byte*) printEntry::entry#49 ) + (byte*) print_line_cursor#78 ← phi( printEntry::@10/(byte*) print_line_cursor#95 ) + (byte*) print_char_cursor#129 ← phi( printEntry::@10/(byte*) print_char_cursor#10 ) + (byte*) print_char_cursor#59 ← (byte*) print_char_cursor#129 + call print_ln + to:printEntry::@43 +printEntry::@43: scope:[printEntry] from printEntry::@42 + (byte*) printEntry::entry#25 ← phi( printEntry::@42/(byte*) printEntry::entry#37 ) + (byte*) print_char_cursor#130 ← phi( printEntry::@42/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#57 ← phi( printEntry::@42/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#26 ← (byte*) print_line_cursor#57 + (byte*) print_char_cursor#60 ← (byte*) print_char_cursor#130 + (byte*) print_str::str#15 ← (const string) printEntry::str10 + call print_str + to:printEntry::@44 +printEntry::@44: scope:[printEntry] from printEntry::@43 + (byte*) print_line_cursor#148 ← phi( printEntry::@43/(byte*) print_line_cursor#26 ) + (byte*) printEntry::entry#12 ← phi( printEntry::@43/(byte*) printEntry::entry#25 ) + (byte*) print_char_cursor#131 ← phi( printEntry::@43/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#61 ← (byte*) print_char_cursor#131 + (byte*) printEntry::entryBAddrHi1_entry#0 ← (byte*) printEntry::entry#12 + to:printEntry::entryBAddrHi1 +printEntry::entryBAddrHi1: scope:[printEntry] from printEntry::@44 + (byte*) printEntry::entry#74 ← phi( printEntry::@44/(byte*) printEntry::entry#12 ) + (byte*) print_line_cursor#133 ← phi( printEntry::@44/(byte*) print_line_cursor#148 ) + (byte*) print_char_cursor#196 ← phi( printEntry::@44/(byte*) print_char_cursor#61 ) + (byte*) printEntry::entryBAddrHi1_entry#1 ← phi( printEntry::@44/(byte*) printEntry::entryBAddrHi1_entry#0 ) + (byte*) printEntry::entryBAddrHi1_$0#0 ← (byte*) printEntry::entryBAddrHi1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) $f + (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBAddrHi1_$0#0 + to:printEntry::entryBAddrHi1_@return +printEntry::entryBAddrHi1_@return: scope:[printEntry] from printEntry::entryBAddrHi1 + (byte*) printEntry::entry#62 ← phi( printEntry::entryBAddrHi1/(byte*) printEntry::entry#74 ) + (byte*) print_line_cursor#114 ← phi( printEntry::entryBAddrHi1/(byte*) print_line_cursor#133 ) + (byte*) print_char_cursor#178 ← phi( printEntry::entryBAddrHi1/(byte*) print_char_cursor#196 ) + (byte*) printEntry::entryBAddrHi1_return#2 ← phi( printEntry::entryBAddrHi1/(byte*) printEntry::entryBAddrHi1_return#0 ) + (byte*) printEntry::entryBAddrHi1_return#1 ← (byte*) printEntry::entryBAddrHi1_return#2 + to:printEntry::@11 +printEntry::@11: scope:[printEntry] from printEntry::entryBAddrHi1_@return + (byte*) printEntry::entry#50 ← phi( printEntry::entryBAddrHi1_@return/(byte*) printEntry::entry#62 ) + (byte*) print_line_cursor#96 ← phi( printEntry::entryBAddrHi1_@return/(byte*) print_line_cursor#114 ) + (byte*) print_char_cursor#160 ← phi( printEntry::entryBAddrHi1_@return/(byte*) print_char_cursor#178 ) + (byte*) printEntry::entryBAddrHi1_return#3 ← phi( printEntry::entryBAddrHi1_@return/(byte*) printEntry::entryBAddrHi1_return#1 ) + (byte*~) printEntry::$44 ← (byte*) printEntry::entryBAddrHi1_return#3 + (byte) print_byte::b#7 ← *((byte*~) printEntry::$44) + call print_byte + to:printEntry::@45 +printEntry::@45: scope:[printEntry] from printEntry::@11 + (byte*) printEntry::entry#38 ← phi( printEntry::@11/(byte*) printEntry::entry#50 ) + (byte*) print_line_cursor#79 ← phi( printEntry::@11/(byte*) print_line_cursor#96 ) + (byte*) print_char_cursor#132 ← phi( printEntry::@11/(byte*) print_char_cursor#10 ) + (byte*) print_char_cursor#62 ← (byte*) print_char_cursor#132 + call print_ln + to:printEntry::@46 +printEntry::@46: scope:[printEntry] from printEntry::@45 + (byte*) printEntry::entry#26 ← phi( printEntry::@45/(byte*) printEntry::entry#38 ) + (byte*) print_char_cursor#133 ← phi( printEntry::@45/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#58 ← phi( printEntry::@45/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#27 ← (byte*) print_line_cursor#58 + (byte*) print_char_cursor#63 ← (byte*) print_char_cursor#133 + (byte*) print_str::str#16 ← (const string) printEntry::str11 + call print_str + to:printEntry::@47 +printEntry::@47: scope:[printEntry] from printEntry::@46 + (byte*) print_line_cursor#149 ← phi( printEntry::@46/(byte*) print_line_cursor#27 ) + (byte*) printEntry::entry#13 ← phi( printEntry::@46/(byte*) printEntry::entry#26 ) + (byte*) print_char_cursor#134 ← phi( printEntry::@46/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#64 ← (byte*) print_char_cursor#134 + (byte*) printEntry::entryTHi1_entry#0 ← (byte*) printEntry::entry#13 + to:printEntry::entryTHi1 +printEntry::entryTHi1: scope:[printEntry] from printEntry::@47 + (byte*) printEntry::entry#75 ← phi( printEntry::@47/(byte*) printEntry::entry#13 ) + (byte*) print_line_cursor#134 ← phi( printEntry::@47/(byte*) print_line_cursor#149 ) + (byte*) print_char_cursor#197 ← phi( printEntry::@47/(byte*) print_char_cursor#64 ) + (byte*) printEntry::entryTHi1_entry#1 ← phi( printEntry::@47/(byte*) printEntry::entryTHi1_entry#0 ) + (byte*) printEntry::entryTHi1_$0#0 ← (byte*) printEntry::entryTHi1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) $10 + (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryTHi1_$0#0 + to:printEntry::entryTHi1_@return +printEntry::entryTHi1_@return: scope:[printEntry] from printEntry::entryTHi1 + (byte*) printEntry::entry#63 ← phi( printEntry::entryTHi1/(byte*) printEntry::entry#75 ) + (byte*) print_line_cursor#115 ← phi( printEntry::entryTHi1/(byte*) print_line_cursor#134 ) + (byte*) print_char_cursor#179 ← phi( printEntry::entryTHi1/(byte*) print_char_cursor#197 ) + (byte*) printEntry::entryTHi1_return#2 ← phi( printEntry::entryTHi1/(byte*) printEntry::entryTHi1_return#0 ) + (byte*) printEntry::entryTHi1_return#1 ← (byte*) printEntry::entryTHi1_return#2 + to:printEntry::@12 +printEntry::@12: scope:[printEntry] from printEntry::entryTHi1_@return + (byte*) printEntry::entry#51 ← phi( printEntry::entryTHi1_@return/(byte*) printEntry::entry#63 ) + (byte*) print_line_cursor#97 ← phi( printEntry::entryTHi1_@return/(byte*) print_line_cursor#115 ) + (byte*) print_char_cursor#161 ← phi( printEntry::entryTHi1_@return/(byte*) print_char_cursor#179 ) + (byte*) printEntry::entryTHi1_return#3 ← phi( printEntry::entryTHi1_@return/(byte*) printEntry::entryTHi1_return#1 ) + (byte*~) printEntry::$48 ← (byte*) printEntry::entryTHi1_return#3 + (byte) print_byte::b#8 ← *((byte*~) printEntry::$48) + call print_byte + to:printEntry::@48 +printEntry::@48: scope:[printEntry] from printEntry::@12 + (byte*) printEntry::entry#39 ← phi( printEntry::@12/(byte*) printEntry::entry#51 ) + (byte*) print_line_cursor#80 ← phi( printEntry::@12/(byte*) print_line_cursor#97 ) + (byte*) print_char_cursor#135 ← phi( printEntry::@12/(byte*) print_char_cursor#10 ) + (byte*) print_char_cursor#65 ← (byte*) print_char_cursor#135 + call print_ln + to:printEntry::@49 +printEntry::@49: scope:[printEntry] from printEntry::@48 + (byte*) printEntry::entry#27 ← phi( printEntry::@48/(byte*) printEntry::entry#39 ) + (byte*) print_char_cursor#136 ← phi( printEntry::@48/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#59 ← phi( printEntry::@48/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#28 ← (byte*) print_line_cursor#59 + (byte*) print_char_cursor#66 ← (byte*) print_char_cursor#136 + (byte*) print_str::str#17 ← (const string) printEntry::str12 + call print_str + to:printEntry::@50 +printEntry::@50: scope:[printEntry] from printEntry::@49 + (byte*) print_line_cursor#150 ← phi( printEntry::@49/(byte*) print_line_cursor#28 ) + (byte*) printEntry::entry#14 ← phi( printEntry::@49/(byte*) printEntry::entry#27 ) + (byte*) print_char_cursor#137 ← phi( printEntry::@49/(byte*) print_char_cursor#2 ) + (byte*) print_char_cursor#67 ← (byte*) print_char_cursor#137 + (byte*) printEntry::entryTLo1_entry#0 ← (byte*) printEntry::entry#14 + to:printEntry::entryTLo1 +printEntry::entryTLo1: scope:[printEntry] from printEntry::@50 + (byte*) print_line_cursor#135 ← phi( printEntry::@50/(byte*) print_line_cursor#150 ) + (byte*) print_char_cursor#198 ← phi( printEntry::@50/(byte*) print_char_cursor#67 ) + (byte*) printEntry::entryTLo1_entry#1 ← phi( printEntry::@50/(byte*) printEntry::entryTLo1_entry#0 ) + (byte*) printEntry::entryTLo1_$0#0 ← (byte*) printEntry::entryTLo1_entry#1 + (byte/signed byte/word/signed word/dword/signed dword) $11 + (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryTLo1_$0#0 + to:printEntry::entryTLo1_@return +printEntry::entryTLo1_@return: scope:[printEntry] from printEntry::entryTLo1 + (byte*) print_line_cursor#116 ← phi( printEntry::entryTLo1/(byte*) print_line_cursor#135 ) + (byte*) print_char_cursor#180 ← phi( printEntry::entryTLo1/(byte*) print_char_cursor#198 ) + (byte*) printEntry::entryTLo1_return#2 ← phi( printEntry::entryTLo1/(byte*) printEntry::entryTLo1_return#0 ) + (byte*) printEntry::entryTLo1_return#1 ← (byte*) printEntry::entryTLo1_return#2 + to:printEntry::@13 +printEntry::@13: scope:[printEntry] from printEntry::entryTLo1_@return + (byte*) print_line_cursor#98 ← phi( printEntry::entryTLo1_@return/(byte*) print_line_cursor#116 ) + (byte*) print_char_cursor#162 ← phi( printEntry::entryTLo1_@return/(byte*) print_char_cursor#180 ) + (byte*) printEntry::entryTLo1_return#3 ← phi( printEntry::entryTLo1_@return/(byte*) printEntry::entryTLo1_return#1 ) + (byte*~) printEntry::$52 ← (byte*) printEntry::entryTLo1_return#3 + (byte) print_byte::b#9 ← *((byte*~) printEntry::$52) + call print_byte + to:printEntry::@51 +printEntry::@51: scope:[printEntry] from printEntry::@13 + (byte*) print_line_cursor#81 ← phi( printEntry::@13/(byte*) print_line_cursor#98 ) + (byte*) print_char_cursor#138 ← phi( printEntry::@13/(byte*) print_char_cursor#10 ) + (byte*) print_char_cursor#68 ← (byte*) print_char_cursor#138 + call print_ln + to:printEntry::@52 +printEntry::@52: scope:[printEntry] from printEntry::@51 + (byte*) print_char_cursor#139 ← phi( printEntry::@51/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#60 ← phi( printEntry::@51/(byte*) print_line_cursor#2 ) + (byte*) print_line_cursor#29 ← (byte*) print_line_cursor#60 + (byte*) print_char_cursor#69 ← (byte*) print_char_cursor#139 + to:printEntry::@return +printEntry::@return: scope:[printEntry] from printEntry::@52 + (byte*) print_line_cursor#61 ← phi( printEntry::@52/(byte*) print_line_cursor#29 ) + (byte*) print_char_cursor#140 ← phi( printEntry::@52/(byte*) print_char_cursor#69 ) + (byte*) print_char_cursor#70 ← (byte*) print_char_cursor#140 + (byte*) print_line_cursor#30 ← (byte*) print_line_cursor#61 + return + to:@return +@52: scope:[] from @35 + (byte*) print_screen#38 ← phi( @35/(byte*) print_screen#39 ) + (byte*) print_char_cursor#163 ← phi( @35/(byte*) print_char_cursor#181 ) + (byte*) print_line_cursor#82 ← phi( @35/(byte*) print_line_cursor#99 ) + call main + to:@53 +@53: scope:[] from @52 + (byte*) print_char_cursor#141 ← phi( @52/(byte*) print_char_cursor#30 ) + (byte*) print_line_cursor#62 ← phi( @52/(byte*) print_line_cursor#16 ) + (byte*) print_line_cursor#31 ← (byte*) print_line_cursor#62 + (byte*) print_char_cursor#71 ← (byte*) print_char_cursor#141 + to:@end +@end: scope:[] from @53 + +SYMBOL TABLE SSA +(word~) $1 +(word~) $2 +(const string) $3 = (string) "0123456789abcdef" +(label) @17 +(label) @24 +(label) @28 +(label) @35 +(label) @5 +(label) @52 +(label) @53 +(label) @begin +(label) @end +(byte*) CIA1_PORT_A +(byte*) CIA1_PORT_A#0 +(byte*) CIA1_PORT_A_DDR +(byte*) CIA1_PORT_A_DDR#0 +(byte*) CIA1_PORT_B +(byte*) CIA1_PORT_B#0 +(byte*) CIA1_PORT_B_DDR +(byte*) CIA1_PORT_B_DDR#0 +(byte) ENTRY_SIZE +(byte) ENTRY_SIZE#0 +(byte) KEY_SPACE +(byte) KEY_SPACE#0 +(byte) MAX_FILES +(byte) MAX_FILES#0 +(byte[$2]) files +(byte[$2]) files#0 +(void()) initEntry((byte*) initEntry::entry , (byte) initEntry::n) +(byte**~) initEntry::$0 +(byte/signed word/word/dword/signed dword~) initEntry::$1 +(byte*~) initEntry::$10 +(byte/signed word/word/dword/signed dword~) initEntry::$11 +(byte*~) initEntry::$12 +(byte/signed word/word/dword/signed dword~) initEntry::$13 +(byte*~) initEntry::$14 +(byte/signed word/word/dword/signed dword~) initEntry::$15 +(word*~) initEntry::$16 +(byte/signed word/word/dword/signed dword~) initEntry::$17 +(byte*~) initEntry::$18 +(byte/signed word/word/dword/signed dword~) initEntry::$19 +(byte**~) initEntry::$2 +(byte*~) initEntry::$20 +(byte/signed word/word/dword/signed dword~) initEntry::$21 +(byte*~) initEntry::$22 +(byte/signed word/word/dword/signed dword~) initEntry::$23 +(byte*~) initEntry::$24 +(byte/signed word/word/dword/signed dword~) initEntry::$25 +(byte/signed word/word/dword/signed dword~) initEntry::$3 +(word*~) initEntry::$4 +(byte/signed word/word/dword/signed dword~) initEntry::$5 +(word**~) initEntry::$6 +(byte/signed word/word/dword/signed dword~) initEntry::$7 +(byte*~) initEntry::$8 +(byte/signed word/word/dword/signed dword~) initEntry::$9 +(label) initEntry::@1 +(label) initEntry::@10 +(label) initEntry::@11 +(label) initEntry::@12 +(label) initEntry::@13 +(label) initEntry::@2 +(label) initEntry::@3 +(label) initEntry::@4 +(label) initEntry::@5 +(label) initEntry::@6 +(label) initEntry::@7 +(label) initEntry::@8 +(label) initEntry::@9 +(label) initEntry::@return +(byte*) initEntry::entry +(byte*) initEntry::entry#0 +(byte*) initEntry::entry#1 +(byte*) initEntry::entry#10 +(byte*) initEntry::entry#11 +(byte*) initEntry::entry#12 +(byte*) initEntry::entry#13 +(byte*) initEntry::entry#14 +(byte*) initEntry::entry#15 +(byte*) initEntry::entry#16 +(byte*) initEntry::entry#17 +(byte*) initEntry::entry#18 +(byte*) initEntry::entry#19 +(byte*) initEntry::entry#2 +(byte*) initEntry::entry#20 +(byte*) initEntry::entry#21 +(byte*) initEntry::entry#22 +(byte*) initEntry::entry#23 +(byte*) initEntry::entry#24 +(byte*) initEntry::entry#25 +(byte*) initEntry::entry#26 +(byte*) initEntry::entry#27 +(byte*) initEntry::entry#28 +(byte*) initEntry::entry#29 +(byte*) initEntry::entry#3 +(byte*) initEntry::entry#30 +(byte*) initEntry::entry#31 +(byte*) initEntry::entry#32 +(byte*) initEntry::entry#33 +(byte*) initEntry::entry#34 +(byte*) initEntry::entry#35 +(byte*) initEntry::entry#36 +(byte*) initEntry::entry#37 +(byte*) initEntry::entry#38 +(byte*) initEntry::entry#4 +(byte*) initEntry::entry#5 +(byte*) initEntry::entry#6 +(byte*) initEntry::entry#7 +(byte*) initEntry::entry#8 +(byte*) initEntry::entry#9 +(label) initEntry::entryBAddrHi1 +(byte*~) initEntry::entryBAddrHi1_$0 +(byte*) initEntry::entryBAddrHi1_$0#0 +(label) initEntry::entryBAddrHi1_@return +(byte*) initEntry::entryBAddrHi1_entry +(byte*) initEntry::entryBAddrHi1_entry#0 +(byte*) initEntry::entryBAddrHi1_entry#1 +(byte*) initEntry::entryBAddrHi1_return +(byte*) initEntry::entryBAddrHi1_return#0 +(byte*) initEntry::entryBAddrHi1_return#1 +(byte*) initEntry::entryBAddrHi1_return#2 +(byte*) initEntry::entryBAddrHi1_return#3 +(label) initEntry::entryBAddrLo1 +(byte*~) initEntry::entryBAddrLo1_$0 +(byte*) initEntry::entryBAddrLo1_$0#0 +(label) initEntry::entryBAddrLo1_@return +(byte*) initEntry::entryBAddrLo1_entry +(byte*) initEntry::entryBAddrLo1_entry#0 +(byte*) initEntry::entryBAddrLo1_entry#1 +(byte*) initEntry::entryBAddrLo1_return +(byte*) initEntry::entryBAddrLo1_return#0 +(byte*) initEntry::entryBAddrLo1_return#1 +(byte*) initEntry::entryBAddrLo1_return#2 +(byte*) initEntry::entryBAddrLo1_return#3 +(label) initEntry::entryBError1 +(byte*~) initEntry::entryBError1_$0 +(byte*) initEntry::entryBError1_$0#0 +(label) initEntry::entryBError1_@return +(byte*) initEntry::entryBError1_entry +(byte*) initEntry::entryBError1_entry#0 +(byte*) initEntry::entryBError1_entry#1 +(byte*) initEntry::entryBError1_return +(byte*) initEntry::entryBError1_return#0 +(byte*) initEntry::entryBError1_return#1 +(byte*) initEntry::entryBError1_return#2 +(byte*) initEntry::entryBError1_return#3 +(label) initEntry::entryBFlag1 +(byte*~) initEntry::entryBFlag1_$0 +(byte*) initEntry::entryBFlag1_$0#0 +(label) initEntry::entryBFlag1_@return +(byte*) initEntry::entryBFlag1_entry +(byte*) initEntry::entryBFlag1_entry#0 +(byte*) initEntry::entryBFlag1_entry#1 +(byte*) initEntry::entryBFlag1_return +(byte*) initEntry::entryBFlag1_return#0 +(byte*) initEntry::entryBFlag1_return#1 +(byte*) initEntry::entryBFlag1_return#2 +(byte*) initEntry::entryBFlag1_return#3 +(label) initEntry::entryBufDisk1 +(byte*~) initEntry::entryBufDisk1_$0 +(byte*) initEntry::entryBufDisk1_$0#0 +(byte**~) initEntry::entryBufDisk1_$1 +(byte**) initEntry::entryBufDisk1_$1#0 +(label) initEntry::entryBufDisk1_@return +(byte*) initEntry::entryBufDisk1_entry +(byte*) initEntry::entryBufDisk1_entry#0 +(byte*) initEntry::entryBufDisk1_entry#1 +(byte**) initEntry::entryBufDisk1_return +(byte**) initEntry::entryBufDisk1_return#0 +(byte**) initEntry::entryBufDisk1_return#1 +(byte**) initEntry::entryBufDisk1_return#2 +(byte**) initEntry::entryBufDisk1_return#3 +(label) initEntry::entryBufEdit1 +(byte*~) initEntry::entryBufEdit1_$0 +(byte*) initEntry::entryBufEdit1_$0#0 +(byte**~) initEntry::entryBufEdit1_$1 +(byte**) initEntry::entryBufEdit1_$1#0 +(label) initEntry::entryBufEdit1_@return +(byte*) initEntry::entryBufEdit1_entry +(byte*) initEntry::entryBufEdit1_entry#0 +(byte*) initEntry::entryBufEdit1_entry#1 +(byte**) initEntry::entryBufEdit1_return +(byte**) initEntry::entryBufEdit1_return#0 +(byte**) initEntry::entryBufEdit1_return#1 +(byte**) initEntry::entryBufEdit1_return#2 +(byte**) initEntry::entryBufEdit1_return#3 +(label) initEntry::entrySLastLink1 +(byte*~) initEntry::entrySLastLink1_$0 +(byte*) initEntry::entrySLastLink1_$0#0 +(label) initEntry::entrySLastLink1_@return +(byte*) initEntry::entrySLastLink1_entry +(byte*) initEntry::entrySLastLink1_entry#0 +(byte*) initEntry::entrySLastLink1_entry#1 +(byte*) initEntry::entrySLastLink1_return +(byte*) initEntry::entrySLastLink1_return#0 +(byte*) initEntry::entrySLastLink1_return#1 +(byte*) initEntry::entrySLastLink1_return#2 +(byte*) initEntry::entrySLastLink1_return#3 +(label) initEntry::entryTHi1 +(byte*~) initEntry::entryTHi1_$0 +(byte*) initEntry::entryTHi1_$0#0 +(label) initEntry::entryTHi1_@return +(byte*) initEntry::entryTHi1_entry +(byte*) initEntry::entryTHi1_entry#0 +(byte*) initEntry::entryTHi1_entry#1 +(byte*) initEntry::entryTHi1_return +(byte*) initEntry::entryTHi1_return#0 +(byte*) initEntry::entryTHi1_return#1 +(byte*) initEntry::entryTHi1_return#2 +(byte*) initEntry::entryTHi1_return#3 +(label) initEntry::entryTLastLink1 +(byte*~) initEntry::entryTLastLink1_$0 +(byte*) initEntry::entryTLastLink1_$0#0 +(label) initEntry::entryTLastLink1_@return +(byte*) initEntry::entryTLastLink1_entry +(byte*) initEntry::entryTLastLink1_entry#0 +(byte*) initEntry::entryTLastLink1_entry#1 +(byte*) initEntry::entryTLastLink1_return +(byte*) initEntry::entryTLastLink1_return#0 +(byte*) initEntry::entryTLastLink1_return#1 +(byte*) initEntry::entryTLastLink1_return#2 +(byte*) initEntry::entryTLastLink1_return#3 +(label) initEntry::entryTLo1 +(byte*~) initEntry::entryTLo1_$0 +(byte*) initEntry::entryTLo1_$0#0 +(label) initEntry::entryTLo1_@return +(byte*) initEntry::entryTLo1_entry +(byte*) initEntry::entryTLo1_entry#0 +(byte*) initEntry::entryTLo1_entry#1 +(byte*) initEntry::entryTLo1_return +(byte*) initEntry::entryTLo1_return#0 +(byte*) initEntry::entryTLo1_return#1 +(byte*) initEntry::entryTLo1_return#2 +(byte*) initEntry::entryTLo1_return#3 +(label) initEntry::entryTsLen1 +(byte*~) initEntry::entryTsLen1_$0 +(byte*) initEntry::entryTsLen1_$0#0 +(word*~) initEntry::entryTsLen1_$1 +(word*) initEntry::entryTsLen1_$1#0 +(label) initEntry::entryTsLen1_@return +(byte*) initEntry::entryTsLen1_entry +(byte*) initEntry::entryTsLen1_entry#0 +(byte*) initEntry::entryTsLen1_entry#1 +(word*) initEntry::entryTsLen1_return +(word*) initEntry::entryTsLen1_return#0 +(word*) initEntry::entryTsLen1_return#1 +(word*) initEntry::entryTsLen1_return#2 +(word*) initEntry::entryTsLen1_return#3 +(label) initEntry::entryTsOrder1 +(byte*~) initEntry::entryTsOrder1_$0 +(byte*) initEntry::entryTsOrder1_$0#0 +(word**~) initEntry::entryTsOrder1_$1 +(word**) initEntry::entryTsOrder1_$1#0 +(label) initEntry::entryTsOrder1_@return +(byte*) initEntry::entryTsOrder1_entry +(byte*) initEntry::entryTsOrder1_entry#0 +(byte*) initEntry::entryTsOrder1_entry#1 +(word**) initEntry::entryTsOrder1_return +(word**) initEntry::entryTsOrder1_return#0 +(word**) initEntry::entryTsOrder1_return#1 +(word**) initEntry::entryTsOrder1_return#2 +(word**) initEntry::entryTsOrder1_return#3 +(label) initEntry::entryUCross1 +(byte*~) initEntry::entryUCross1_$0 +(byte*) initEntry::entryUCross1_$0#0 +(word*~) initEntry::entryUCross1_$1 +(word*) initEntry::entryUCross1_$1#0 +(label) initEntry::entryUCross1_@return +(byte*) initEntry::entryUCross1_entry +(byte*) initEntry::entryUCross1_entry#0 +(byte*) initEntry::entryUCross1_entry#1 +(word*) initEntry::entryUCross1_return +(word*) initEntry::entryUCross1_return#0 +(word*) initEntry::entryUCross1_return#1 +(word*) initEntry::entryUCross1_return#2 +(word*) initEntry::entryUCross1_return#3 +(byte) initEntry::n +(byte) initEntry::n#0 +(byte) initEntry::n#1 +(byte) initEntry::n#10 +(byte) initEntry::n#11 +(byte) initEntry::n#12 +(byte) initEntry::n#13 +(byte) initEntry::n#14 +(byte) initEntry::n#15 +(byte) initEntry::n#16 +(byte) initEntry::n#17 +(byte) initEntry::n#18 +(byte) initEntry::n#19 +(byte) initEntry::n#2 +(byte) initEntry::n#20 +(byte) initEntry::n#21 +(byte) initEntry::n#22 +(byte) initEntry::n#23 +(byte) initEntry::n#24 +(byte) initEntry::n#25 +(byte) initEntry::n#26 +(byte) initEntry::n#27 +(byte) initEntry::n#28 +(byte) initEntry::n#29 +(byte) initEntry::n#3 +(byte) initEntry::n#30 +(byte) initEntry::n#31 +(byte) initEntry::n#32 +(byte) initEntry::n#33 +(byte) initEntry::n#34 +(byte) initEntry::n#35 +(byte) initEntry::n#36 +(byte) initEntry::n#37 +(byte) initEntry::n#38 +(byte) initEntry::n#39 +(byte) initEntry::n#4 +(byte) initEntry::n#40 +(byte) initEntry::n#41 +(byte) initEntry::n#5 +(byte) initEntry::n#6 +(byte) initEntry::n#7 +(byte) initEntry::n#8 +(byte) initEntry::n#9 +(void()) keyboard_init() +(label) keyboard_init::@return +(byte()) keyboard_key_pressed((byte) keyboard_key_pressed::key) +(byte~) keyboard_key_pressed::$0 +(byte~) keyboard_key_pressed::$1 +(byte~) keyboard_key_pressed::$2 +(byte~) keyboard_key_pressed::$3 +(label) keyboard_key_pressed::@2 +(label) keyboard_key_pressed::@return +(byte) keyboard_key_pressed::colidx +(byte) keyboard_key_pressed::colidx#0 +(byte) keyboard_key_pressed::colidx#1 +(byte) keyboard_key_pressed::key +(byte) keyboard_key_pressed::key#0 +(byte) keyboard_key_pressed::key#1 +(byte) keyboard_key_pressed::key#2 +(byte) keyboard_key_pressed::return +(byte) keyboard_key_pressed::return#0 +(byte) keyboard_key_pressed::return#1 +(byte) keyboard_key_pressed::return#2 +(byte) keyboard_key_pressed::return#3 +(byte) keyboard_key_pressed::return#4 +(byte) keyboard_key_pressed::return#5 +(byte) keyboard_key_pressed::return#6 +(byte) keyboard_key_pressed::rowidx +(byte) keyboard_key_pressed::rowidx#0 +(byte[8]) keyboard_matrix_col_bitmask +(byte[8]) keyboard_matrix_col_bitmask#0 +(byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) +(byte~) keyboard_matrix_read::$0 +(label) keyboard_matrix_read::@return +(byte) keyboard_matrix_read::return +(byte) keyboard_matrix_read::return#0 +(byte) keyboard_matrix_read::return#1 +(byte) keyboard_matrix_read::return#2 +(byte) keyboard_matrix_read::return#3 +(byte) keyboard_matrix_read::return#4 +(byte) keyboard_matrix_read::row_pressed_bits +(byte) keyboard_matrix_read::row_pressed_bits#0 +(byte) keyboard_matrix_read::rowid +(byte) keyboard_matrix_read::rowid#0 +(byte) keyboard_matrix_read::rowid#1 +(byte[8]) keyboard_matrix_row_bitmask +(byte[8]) keyboard_matrix_row_bitmask#0 +(void()) main() +(byte*~) main::$1 +(byte*~) main::$2 +(byte~) main::$20 +(bool~) main::$21 +(byte~) main::$22 +(bool~) main::$23 +(label) main::@1 +(label) main::@13 +(label) main::@14 +(label) main::@15 +(label) main::@16 +(label) main::@17 +(label) main::@18 +(label) main::@19 +(label) main::@2 +(label) main::@20 +(label) main::@21 +(label) main::@22 +(label) main::@23 +(label) main::@24 +(label) main::@25 +(label) main::@26 +(label) main::@27 +(label) main::@28 +(label) main::@29 +(label) main::@3 +(label) main::@30 +(label) main::@31 +(label) main::@32 +(label) main::@33 +(label) main::@34 +(label) main::@35 +(label) main::@36 +(label) main::@7 +(label) main::@8 +(label) main::@9 +(label) main::@return +(byte*) main::entry1 +(byte*) main::entry1#0 +(byte*) main::entry1#1 +(byte*) main::entry1#10 +(byte*) main::entry1#2 +(byte*) main::entry1#3 +(byte*) main::entry1#4 +(byte*) main::entry1#5 +(byte*) main::entry1#6 +(byte*) main::entry1#7 +(byte*) main::entry1#8 +(byte*) main::entry1#9 +(byte*) main::entry2 +(byte*) main::entry2#0 +(byte*) main::entry2#1 +(byte*) main::entry2#10 +(byte*) main::entry2#11 +(byte*) main::entry2#12 +(byte*) main::entry2#13 +(byte*) main::entry2#14 +(byte*) main::entry2#15 +(byte*) main::entry2#16 +(byte*) main::entry2#17 +(byte*) main::entry2#2 +(byte*) main::entry2#3 +(byte*) main::entry2#4 +(byte*) main::entry2#5 +(byte*) main::entry2#6 +(byte*) main::entry2#7 +(byte*) main::entry2#8 +(byte*) main::entry2#9 +(label) main::fileEntry1 +(word~) main::fileEntry1_$0 +(word) main::fileEntry1_$0#0 +(byte*~) main::fileEntry1_$1 +(byte*) main::fileEntry1_$1#0 +(label) main::fileEntry1_@return +(byte) main::fileEntry1_idx +(byte) main::fileEntry1_idx#0 +(byte) main::fileEntry1_idx#1 +(byte*) main::fileEntry1_return +(byte*) main::fileEntry1_return#0 +(byte*) main::fileEntry1_return#1 +(byte*) main::fileEntry1_return#2 +(byte*) main::fileEntry1_return#3 +(label) main::fileEntry2 +(word~) main::fileEntry2_$0 +(word) main::fileEntry2_$0#0 +(byte*~) main::fileEntry2_$1 +(byte*) main::fileEntry2_$1#0 +(label) main::fileEntry2_@return +(byte) main::fileEntry2_idx +(byte) main::fileEntry2_idx#0 +(byte) main::fileEntry2_idx#1 +(byte*) main::fileEntry2_return +(byte*) main::fileEntry2_return#0 +(byte*) main::fileEntry2_return#1 +(byte*) main::fileEntry2_return#2 +(byte*) main::fileEntry2_return#3 +(const string) main::str = (string) "** entry 1 **@" +(const string) main::str1 = (string) "- press space -@" +(const string) main::str2 = (string) "** entry 2 **@" +(const string) main::str3 = (string) "- press space -@" +(word()) mul8u((byte) mul8u::a , (byte) mul8u::b) +(bool~) mul8u::$0 +(byte~) mul8u::$1 +(bool~) mul8u::$2 +(bool~) mul8u::$3 +(word~) mul8u::$4 +(byte~) mul8u::$5 +(word~) mul8u::$6 +(label) mul8u::@1 +(label) mul8u::@2 +(label) mul8u::@3 +(label) mul8u::@4 +(label) mul8u::@7 +(label) mul8u::@return +(byte) mul8u::a +(byte) mul8u::a#0 +(byte) mul8u::a#1 +(byte) mul8u::a#2 +(byte) mul8u::a#3 +(byte) mul8u::a#4 +(byte) mul8u::a#5 +(byte) mul8u::a#6 +(byte) mul8u::a#7 +(byte) mul8u::b +(byte) mul8u::b#0 +(byte) mul8u::b#1 +(byte) mul8u::b#2 +(word) mul8u::mb +(word) mul8u::mb#0 +(word) mul8u::mb#1 +(word) mul8u::mb#2 +(word) mul8u::mb#3 +(word) mul8u::mb#4 +(word) mul8u::mb#5 +(word) mul8u::res +(word) mul8u::res#0 +(word) mul8u::res#1 +(word) mul8u::res#2 +(word) mul8u::res#3 +(word) mul8u::res#4 +(word) mul8u::res#5 +(word) mul8u::res#6 +(word) mul8u::return +(word) mul8u::return#0 +(word) mul8u::return#1 +(word) mul8u::return#2 +(word) mul8u::return#3 +(word) mul8u::return#4 +(word) mul8u::return#5 +(word) mul8u::return#6 +(void()) printEntry((byte*) printEntry::entry) +(byte**~) printEntry::$1 +(word*~) printEntry::$11 +(word**~) printEntry::$15 +(word~) printEntry::$16 +(word~) printEntry::$2 +(byte*~) printEntry::$20 +(byte*~) printEntry::$24 +(byte*~) printEntry::$28 +(byte*~) printEntry::$32 +(word*~) printEntry::$36 +(byte*~) printEntry::$40 +(byte*~) printEntry::$44 +(byte*~) printEntry::$48 +(byte*~) printEntry::$52 +(byte**~) printEntry::$6 +(word~) printEntry::$7 +(label) printEntry::@1 +(label) printEntry::@10 +(label) printEntry::@11 +(label) printEntry::@12 +(label) printEntry::@13 +(label) printEntry::@14 +(label) printEntry::@15 +(label) printEntry::@16 +(label) printEntry::@17 +(label) printEntry::@18 +(label) printEntry::@19 +(label) printEntry::@2 +(label) printEntry::@20 +(label) printEntry::@21 +(label) printEntry::@22 +(label) printEntry::@23 +(label) printEntry::@24 +(label) printEntry::@25 +(label) printEntry::@26 +(label) printEntry::@27 +(label) printEntry::@28 +(label) printEntry::@29 +(label) printEntry::@3 +(label) printEntry::@30 +(label) printEntry::@31 +(label) printEntry::@32 +(label) printEntry::@33 +(label) printEntry::@34 +(label) printEntry::@35 +(label) printEntry::@36 +(label) printEntry::@37 +(label) printEntry::@38 +(label) printEntry::@39 +(label) printEntry::@4 +(label) printEntry::@40 +(label) printEntry::@41 +(label) printEntry::@42 +(label) printEntry::@43 +(label) printEntry::@44 +(label) printEntry::@45 +(label) printEntry::@46 +(label) printEntry::@47 +(label) printEntry::@48 +(label) printEntry::@49 +(label) printEntry::@5 +(label) printEntry::@50 +(label) printEntry::@51 +(label) printEntry::@52 +(label) printEntry::@6 +(label) printEntry::@7 +(label) printEntry::@8 +(label) printEntry::@9 +(label) printEntry::@return +(byte*) printEntry::entry +(byte*) printEntry::entry#0 +(byte*) printEntry::entry#1 +(byte*) printEntry::entry#10 +(byte*) printEntry::entry#11 +(byte*) printEntry::entry#12 +(byte*) printEntry::entry#13 +(byte*) printEntry::entry#14 +(byte*) printEntry::entry#15 +(byte*) printEntry::entry#16 +(byte*) printEntry::entry#17 +(byte*) printEntry::entry#18 +(byte*) printEntry::entry#19 +(byte*) printEntry::entry#2 +(byte*) printEntry::entry#20 +(byte*) printEntry::entry#21 +(byte*) printEntry::entry#22 +(byte*) printEntry::entry#23 +(byte*) printEntry::entry#24 +(byte*) printEntry::entry#25 +(byte*) printEntry::entry#26 +(byte*) printEntry::entry#27 +(byte*) printEntry::entry#28 +(byte*) printEntry::entry#29 +(byte*) printEntry::entry#3 +(byte*) printEntry::entry#30 +(byte*) printEntry::entry#31 +(byte*) printEntry::entry#32 +(byte*) printEntry::entry#33 +(byte*) printEntry::entry#34 +(byte*) printEntry::entry#35 +(byte*) printEntry::entry#36 +(byte*) printEntry::entry#37 +(byte*) printEntry::entry#38 +(byte*) printEntry::entry#39 +(byte*) printEntry::entry#4 +(byte*) printEntry::entry#40 +(byte*) printEntry::entry#41 +(byte*) printEntry::entry#42 +(byte*) printEntry::entry#43 +(byte*) printEntry::entry#44 +(byte*) printEntry::entry#45 +(byte*) printEntry::entry#46 +(byte*) printEntry::entry#47 +(byte*) printEntry::entry#48 +(byte*) printEntry::entry#49 +(byte*) printEntry::entry#5 +(byte*) printEntry::entry#50 +(byte*) printEntry::entry#51 +(byte*) printEntry::entry#52 +(byte*) printEntry::entry#53 +(byte*) printEntry::entry#54 +(byte*) printEntry::entry#55 +(byte*) printEntry::entry#56 +(byte*) printEntry::entry#57 +(byte*) printEntry::entry#58 +(byte*) printEntry::entry#59 +(byte*) printEntry::entry#6 +(byte*) printEntry::entry#60 +(byte*) printEntry::entry#61 +(byte*) printEntry::entry#62 +(byte*) printEntry::entry#63 +(byte*) printEntry::entry#64 +(byte*) printEntry::entry#65 +(byte*) printEntry::entry#66 +(byte*) printEntry::entry#67 +(byte*) printEntry::entry#68 +(byte*) printEntry::entry#69 +(byte*) printEntry::entry#7 +(byte*) printEntry::entry#70 +(byte*) printEntry::entry#71 +(byte*) printEntry::entry#72 +(byte*) printEntry::entry#73 +(byte*) printEntry::entry#74 +(byte*) printEntry::entry#75 +(byte*) printEntry::entry#8 +(byte*) printEntry::entry#9 +(label) printEntry::entryBAddrHi1 +(byte*~) printEntry::entryBAddrHi1_$0 +(byte*) printEntry::entryBAddrHi1_$0#0 +(label) printEntry::entryBAddrHi1_@return +(byte*) printEntry::entryBAddrHi1_entry +(byte*) printEntry::entryBAddrHi1_entry#0 +(byte*) printEntry::entryBAddrHi1_entry#1 +(byte*) printEntry::entryBAddrHi1_return +(byte*) printEntry::entryBAddrHi1_return#0 +(byte*) printEntry::entryBAddrHi1_return#1 +(byte*) printEntry::entryBAddrHi1_return#2 +(byte*) printEntry::entryBAddrHi1_return#3 +(label) printEntry::entryBAddrLo1 +(byte*~) printEntry::entryBAddrLo1_$0 +(byte*) printEntry::entryBAddrLo1_$0#0 +(label) printEntry::entryBAddrLo1_@return +(byte*) printEntry::entryBAddrLo1_entry +(byte*) printEntry::entryBAddrLo1_entry#0 +(byte*) printEntry::entryBAddrLo1_entry#1 +(byte*) printEntry::entryBAddrLo1_return +(byte*) printEntry::entryBAddrLo1_return#0 +(byte*) printEntry::entryBAddrLo1_return#1 +(byte*) printEntry::entryBAddrLo1_return#2 +(byte*) printEntry::entryBAddrLo1_return#3 +(label) printEntry::entryBError1 +(byte*~) printEntry::entryBError1_$0 +(byte*) printEntry::entryBError1_$0#0 +(label) printEntry::entryBError1_@return +(byte*) printEntry::entryBError1_entry +(byte*) printEntry::entryBError1_entry#0 +(byte*) printEntry::entryBError1_entry#1 +(byte*) printEntry::entryBError1_return +(byte*) printEntry::entryBError1_return#0 +(byte*) printEntry::entryBError1_return#1 +(byte*) printEntry::entryBError1_return#2 +(byte*) printEntry::entryBError1_return#3 +(label) printEntry::entryBFlag1 +(byte*~) printEntry::entryBFlag1_$0 +(byte*) printEntry::entryBFlag1_$0#0 +(label) printEntry::entryBFlag1_@return +(byte*) printEntry::entryBFlag1_entry +(byte*) printEntry::entryBFlag1_entry#0 +(byte*) printEntry::entryBFlag1_entry#1 +(byte*) printEntry::entryBFlag1_return +(byte*) printEntry::entryBFlag1_return#0 +(byte*) printEntry::entryBFlag1_return#1 +(byte*) printEntry::entryBFlag1_return#2 +(byte*) printEntry::entryBFlag1_return#3 +(label) printEntry::entryBufDisk1 +(byte*~) printEntry::entryBufDisk1_$0 +(byte*) printEntry::entryBufDisk1_$0#0 +(byte**~) printEntry::entryBufDisk1_$1 +(byte**) printEntry::entryBufDisk1_$1#0 +(label) printEntry::entryBufDisk1_@return +(byte*) printEntry::entryBufDisk1_entry +(byte*) printEntry::entryBufDisk1_entry#0 +(byte*) printEntry::entryBufDisk1_entry#1 +(byte**) printEntry::entryBufDisk1_return +(byte**) printEntry::entryBufDisk1_return#0 +(byte**) printEntry::entryBufDisk1_return#1 +(byte**) printEntry::entryBufDisk1_return#2 +(byte**) printEntry::entryBufDisk1_return#3 +(label) printEntry::entryBufEdit1 +(byte*~) printEntry::entryBufEdit1_$0 +(byte*) printEntry::entryBufEdit1_$0#0 +(byte**~) printEntry::entryBufEdit1_$1 +(byte**) printEntry::entryBufEdit1_$1#0 +(label) printEntry::entryBufEdit1_@return +(byte*) printEntry::entryBufEdit1_entry +(byte*) printEntry::entryBufEdit1_entry#0 +(byte*) printEntry::entryBufEdit1_entry#1 +(byte**) printEntry::entryBufEdit1_return +(byte**) printEntry::entryBufEdit1_return#0 +(byte**) printEntry::entryBufEdit1_return#1 +(byte**) printEntry::entryBufEdit1_return#2 +(byte**) printEntry::entryBufEdit1_return#3 +(label) printEntry::entrySLastLink1 +(byte*~) printEntry::entrySLastLink1_$0 +(byte*) printEntry::entrySLastLink1_$0#0 +(label) printEntry::entrySLastLink1_@return +(byte*) printEntry::entrySLastLink1_entry +(byte*) printEntry::entrySLastLink1_entry#0 +(byte*) printEntry::entrySLastLink1_entry#1 +(byte*) printEntry::entrySLastLink1_return +(byte*) printEntry::entrySLastLink1_return#0 +(byte*) printEntry::entrySLastLink1_return#1 +(byte*) printEntry::entrySLastLink1_return#2 +(byte*) printEntry::entrySLastLink1_return#3 +(label) printEntry::entryTHi1 +(byte*~) printEntry::entryTHi1_$0 +(byte*) printEntry::entryTHi1_$0#0 +(label) printEntry::entryTHi1_@return +(byte*) printEntry::entryTHi1_entry +(byte*) printEntry::entryTHi1_entry#0 +(byte*) printEntry::entryTHi1_entry#1 +(byte*) printEntry::entryTHi1_return +(byte*) printEntry::entryTHi1_return#0 +(byte*) printEntry::entryTHi1_return#1 +(byte*) printEntry::entryTHi1_return#2 +(byte*) printEntry::entryTHi1_return#3 +(label) printEntry::entryTLastLink1 +(byte*~) printEntry::entryTLastLink1_$0 +(byte*) printEntry::entryTLastLink1_$0#0 +(label) printEntry::entryTLastLink1_@return +(byte*) printEntry::entryTLastLink1_entry +(byte*) printEntry::entryTLastLink1_entry#0 +(byte*) printEntry::entryTLastLink1_entry#1 +(byte*) printEntry::entryTLastLink1_return +(byte*) printEntry::entryTLastLink1_return#0 +(byte*) printEntry::entryTLastLink1_return#1 +(byte*) printEntry::entryTLastLink1_return#2 +(byte*) printEntry::entryTLastLink1_return#3 +(label) printEntry::entryTLo1 +(byte*~) printEntry::entryTLo1_$0 +(byte*) printEntry::entryTLo1_$0#0 +(label) printEntry::entryTLo1_@return +(byte*) printEntry::entryTLo1_entry +(byte*) printEntry::entryTLo1_entry#0 +(byte*) printEntry::entryTLo1_entry#1 +(byte*) printEntry::entryTLo1_return +(byte*) printEntry::entryTLo1_return#0 +(byte*) printEntry::entryTLo1_return#1 +(byte*) printEntry::entryTLo1_return#2 +(byte*) printEntry::entryTLo1_return#3 +(label) printEntry::entryTsLen1 +(byte*~) printEntry::entryTsLen1_$0 +(byte*) printEntry::entryTsLen1_$0#0 +(word*~) printEntry::entryTsLen1_$1 +(word*) printEntry::entryTsLen1_$1#0 +(label) printEntry::entryTsLen1_@return +(byte*) printEntry::entryTsLen1_entry +(byte*) printEntry::entryTsLen1_entry#0 +(byte*) printEntry::entryTsLen1_entry#1 +(word*) printEntry::entryTsLen1_return +(word*) printEntry::entryTsLen1_return#0 +(word*) printEntry::entryTsLen1_return#1 +(word*) printEntry::entryTsLen1_return#2 +(word*) printEntry::entryTsLen1_return#3 +(label) printEntry::entryTsOrder1 +(byte*~) printEntry::entryTsOrder1_$0 +(byte*) printEntry::entryTsOrder1_$0#0 +(word**~) printEntry::entryTsOrder1_$1 +(word**) printEntry::entryTsOrder1_$1#0 +(label) printEntry::entryTsOrder1_@return +(byte*) printEntry::entryTsOrder1_entry +(byte*) printEntry::entryTsOrder1_entry#0 +(byte*) printEntry::entryTsOrder1_entry#1 +(word**) printEntry::entryTsOrder1_return +(word**) printEntry::entryTsOrder1_return#0 +(word**) printEntry::entryTsOrder1_return#1 +(word**) printEntry::entryTsOrder1_return#2 +(word**) printEntry::entryTsOrder1_return#3 +(label) printEntry::entryUCross1 +(byte*~) printEntry::entryUCross1_$0 +(byte*) printEntry::entryUCross1_$0#0 +(word*~) printEntry::entryUCross1_$1 +(word*) printEntry::entryUCross1_$1#0 +(label) printEntry::entryUCross1_@return +(byte*) printEntry::entryUCross1_entry +(byte*) printEntry::entryUCross1_entry#0 +(byte*) printEntry::entryUCross1_entry#1 +(word*) printEntry::entryUCross1_return +(word*) printEntry::entryUCross1_return#0 +(word*) printEntry::entryUCross1_return#1 +(word*) printEntry::entryUCross1_return#2 +(word*) printEntry::entryUCross1_return#3 +(const string) printEntry::str = (string) "bufdisk @" +(const string) printEntry::str1 = (string) "bufedit @" +(const string) printEntry::str10 = (string) "baddrhi @" +(const string) printEntry::str11 = (string) "thi @" +(const string) printEntry::str12 = (string) "tlo @" +(const string) printEntry::str2 = (string) "tslen @" +(const string) printEntry::str3 = (string) "tsorder @" +(const string) printEntry::str4 = (string) "tlastlink @" +(const string) printEntry::str5 = (string) "slastlink @" +(const string) printEntry::str6 = (string) "bflag @" +(const string) printEntry::str7 = (string) "berror @" +(const string) printEntry::str8 = (string) "ucross @" +(const string) printEntry::str9 = (string) "baddrlo @" +(void()) print_byte((byte) print_byte::b) +(byte~) print_byte::$0 +(byte~) print_byte::$2 +(label) print_byte::@1 +(label) print_byte::@2 +(label) print_byte::@return +(byte) print_byte::b +(byte) print_byte::b#0 +(byte) print_byte::b#1 +(byte) print_byte::b#10 +(byte) print_byte::b#11 +(byte) print_byte::b#2 +(byte) print_byte::b#3 +(byte) print_byte::b#4 +(byte) print_byte::b#5 +(byte) print_byte::b#6 +(byte) print_byte::b#7 +(byte) print_byte::b#8 +(byte) print_byte::b#9 +(void()) print_char((byte) print_char::ch) +(label) print_char::@return +(byte) print_char::ch +(byte) print_char::ch#0 +(byte) print_char::ch#1 +(byte) print_char::ch#2 +(byte*) print_char_cursor +(byte*) print_char_cursor#0 +(byte*) print_char_cursor#1 +(byte*) print_char_cursor#10 +(byte*) print_char_cursor#100 +(byte*) print_char_cursor#101 +(byte*) print_char_cursor#102 +(byte*) print_char_cursor#103 +(byte*) print_char_cursor#104 +(byte*) print_char_cursor#105 +(byte*) print_char_cursor#106 +(byte*) print_char_cursor#107 +(byte*) print_char_cursor#108 +(byte*) print_char_cursor#109 +(byte*) print_char_cursor#11 +(byte*) print_char_cursor#110 +(byte*) print_char_cursor#111 +(byte*) print_char_cursor#112 +(byte*) print_char_cursor#113 +(byte*) print_char_cursor#114 +(byte*) print_char_cursor#115 +(byte*) print_char_cursor#116 +(byte*) print_char_cursor#117 +(byte*) print_char_cursor#118 +(byte*) print_char_cursor#119 +(byte*) print_char_cursor#12 +(byte*) print_char_cursor#120 +(byte*) print_char_cursor#121 +(byte*) print_char_cursor#122 +(byte*) print_char_cursor#123 +(byte*) print_char_cursor#124 +(byte*) print_char_cursor#125 +(byte*) print_char_cursor#126 +(byte*) print_char_cursor#127 +(byte*) print_char_cursor#128 +(byte*) print_char_cursor#129 +(byte*) print_char_cursor#13 +(byte*) print_char_cursor#130 +(byte*) print_char_cursor#131 +(byte*) print_char_cursor#132 +(byte*) print_char_cursor#133 +(byte*) print_char_cursor#134 +(byte*) print_char_cursor#135 +(byte*) print_char_cursor#136 +(byte*) print_char_cursor#137 +(byte*) print_char_cursor#138 +(byte*) print_char_cursor#139 +(byte*) print_char_cursor#14 +(byte*) print_char_cursor#140 +(byte*) print_char_cursor#141 +(byte*) print_char_cursor#142 +(byte*) print_char_cursor#143 +(byte*) print_char_cursor#144 +(byte*) print_char_cursor#145 +(byte*) print_char_cursor#146 +(byte*) print_char_cursor#147 +(byte*) print_char_cursor#148 +(byte*) print_char_cursor#149 +(byte*) print_char_cursor#15 +(byte*) print_char_cursor#150 +(byte*) print_char_cursor#151 +(byte*) print_char_cursor#152 +(byte*) print_char_cursor#153 +(byte*) print_char_cursor#154 +(byte*) print_char_cursor#155 +(byte*) print_char_cursor#156 +(byte*) print_char_cursor#157 +(byte*) print_char_cursor#158 +(byte*) print_char_cursor#159 +(byte*) print_char_cursor#16 +(byte*) print_char_cursor#160 +(byte*) print_char_cursor#161 +(byte*) print_char_cursor#162 +(byte*) print_char_cursor#163 +(byte*) print_char_cursor#164 +(byte*) print_char_cursor#165 +(byte*) print_char_cursor#166 +(byte*) print_char_cursor#167 +(byte*) print_char_cursor#168 +(byte*) print_char_cursor#169 +(byte*) print_char_cursor#17 +(byte*) print_char_cursor#170 +(byte*) print_char_cursor#171 +(byte*) print_char_cursor#172 +(byte*) print_char_cursor#173 +(byte*) print_char_cursor#174 +(byte*) print_char_cursor#175 +(byte*) print_char_cursor#176 +(byte*) print_char_cursor#177 +(byte*) print_char_cursor#178 +(byte*) print_char_cursor#179 +(byte*) print_char_cursor#18 +(byte*) print_char_cursor#180 +(byte*) print_char_cursor#181 +(byte*) print_char_cursor#182 +(byte*) print_char_cursor#183 +(byte*) print_char_cursor#184 +(byte*) print_char_cursor#185 +(byte*) print_char_cursor#186 +(byte*) print_char_cursor#187 +(byte*) print_char_cursor#188 +(byte*) print_char_cursor#189 +(byte*) print_char_cursor#19 +(byte*) print_char_cursor#190 +(byte*) print_char_cursor#191 +(byte*) print_char_cursor#192 +(byte*) print_char_cursor#193 +(byte*) print_char_cursor#194 +(byte*) print_char_cursor#195 +(byte*) print_char_cursor#196 +(byte*) print_char_cursor#197 +(byte*) print_char_cursor#198 +(byte*) print_char_cursor#199 +(byte*) print_char_cursor#2 +(byte*) print_char_cursor#20 +(byte*) print_char_cursor#200 +(byte*) print_char_cursor#201 +(byte*) print_char_cursor#202 +(byte*) print_char_cursor#203 +(byte*) print_char_cursor#204 +(byte*) print_char_cursor#205 +(byte*) print_char_cursor#206 +(byte*) print_char_cursor#207 +(byte*) print_char_cursor#208 +(byte*) print_char_cursor#209 +(byte*) print_char_cursor#21 +(byte*) print_char_cursor#210 +(byte*) print_char_cursor#211 +(byte*) print_char_cursor#22 +(byte*) print_char_cursor#23 +(byte*) print_char_cursor#24 +(byte*) print_char_cursor#25 +(byte*) print_char_cursor#26 +(byte*) print_char_cursor#27 +(byte*) print_char_cursor#28 +(byte*) print_char_cursor#29 +(byte*) print_char_cursor#3 +(byte*) print_char_cursor#30 +(byte*) print_char_cursor#31 +(byte*) print_char_cursor#32 +(byte*) print_char_cursor#33 +(byte*) print_char_cursor#34 +(byte*) print_char_cursor#35 +(byte*) print_char_cursor#36 +(byte*) print_char_cursor#37 +(byte*) print_char_cursor#38 +(byte*) print_char_cursor#39 +(byte*) print_char_cursor#4 +(byte*) print_char_cursor#40 +(byte*) print_char_cursor#41 +(byte*) print_char_cursor#42 +(byte*) print_char_cursor#43 +(byte*) print_char_cursor#44 +(byte*) print_char_cursor#45 +(byte*) print_char_cursor#46 +(byte*) print_char_cursor#47 +(byte*) print_char_cursor#48 +(byte*) print_char_cursor#49 +(byte*) print_char_cursor#5 +(byte*) print_char_cursor#50 +(byte*) print_char_cursor#51 +(byte*) print_char_cursor#52 +(byte*) print_char_cursor#53 +(byte*) print_char_cursor#54 +(byte*) print_char_cursor#55 +(byte*) print_char_cursor#56 +(byte*) print_char_cursor#57 +(byte*) print_char_cursor#58 +(byte*) print_char_cursor#59 +(byte*) print_char_cursor#6 +(byte*) print_char_cursor#60 +(byte*) print_char_cursor#61 +(byte*) print_char_cursor#62 +(byte*) print_char_cursor#63 +(byte*) print_char_cursor#64 +(byte*) print_char_cursor#65 +(byte*) print_char_cursor#66 +(byte*) print_char_cursor#67 +(byte*) print_char_cursor#68 +(byte*) print_char_cursor#69 +(byte*) print_char_cursor#7 +(byte*) print_char_cursor#70 +(byte*) print_char_cursor#71 +(byte*) print_char_cursor#72 +(byte*) print_char_cursor#73 +(byte*) print_char_cursor#74 +(byte*) print_char_cursor#75 +(byte*) print_char_cursor#76 +(byte*) print_char_cursor#77 +(byte*) print_char_cursor#78 +(byte*) print_char_cursor#79 +(byte*) print_char_cursor#8 +(byte*) print_char_cursor#80 +(byte*) print_char_cursor#81 +(byte*) print_char_cursor#82 +(byte*) print_char_cursor#83 +(byte*) print_char_cursor#84 +(byte*) print_char_cursor#85 +(byte*) print_char_cursor#86 +(byte*) print_char_cursor#87 +(byte*) print_char_cursor#88 +(byte*) print_char_cursor#89 +(byte*) print_char_cursor#9 +(byte*) print_char_cursor#90 +(byte*) print_char_cursor#91 +(byte*) print_char_cursor#92 +(byte*) print_char_cursor#93 +(byte*) print_char_cursor#94 +(byte*) print_char_cursor#95 +(byte*) print_char_cursor#96 +(byte*) print_char_cursor#97 +(byte*) print_char_cursor#98 +(byte*) print_char_cursor#99 +(void()) print_cls() +(byte*~) print_cls::$0 +(bool~) print_cls::$1 +(label) print_cls::@1 +(label) print_cls::@2 +(label) print_cls::@return +(byte*) print_cls::sc +(byte*) print_cls::sc#0 +(byte*) print_cls::sc#1 +(byte*) print_cls::sc#2 +(byte[]) print_hextab +(byte[]) print_hextab#0 +(byte*) print_line_cursor +(byte*) print_line_cursor#0 +(byte*) print_line_cursor#1 +(byte*) print_line_cursor#10 +(byte*) print_line_cursor#100 +(byte*) print_line_cursor#101 +(byte*) print_line_cursor#102 +(byte*) print_line_cursor#103 +(byte*) print_line_cursor#104 +(byte*) print_line_cursor#105 +(byte*) print_line_cursor#106 +(byte*) print_line_cursor#107 +(byte*) print_line_cursor#108 +(byte*) print_line_cursor#109 +(byte*) print_line_cursor#11 +(byte*) print_line_cursor#110 +(byte*) print_line_cursor#111 +(byte*) print_line_cursor#112 +(byte*) print_line_cursor#113 +(byte*) print_line_cursor#114 +(byte*) print_line_cursor#115 +(byte*) print_line_cursor#116 +(byte*) print_line_cursor#117 +(byte*) print_line_cursor#118 +(byte*) print_line_cursor#119 +(byte*) print_line_cursor#12 +(byte*) print_line_cursor#120 +(byte*) print_line_cursor#121 +(byte*) print_line_cursor#122 +(byte*) print_line_cursor#123 +(byte*) print_line_cursor#124 +(byte*) print_line_cursor#125 +(byte*) print_line_cursor#126 +(byte*) print_line_cursor#127 +(byte*) print_line_cursor#128 +(byte*) print_line_cursor#129 +(byte*) print_line_cursor#13 +(byte*) print_line_cursor#130 +(byte*) print_line_cursor#131 +(byte*) print_line_cursor#132 +(byte*) print_line_cursor#133 +(byte*) print_line_cursor#134 +(byte*) print_line_cursor#135 +(byte*) print_line_cursor#136 +(byte*) print_line_cursor#137 +(byte*) print_line_cursor#138 +(byte*) print_line_cursor#139 +(byte*) print_line_cursor#14 +(byte*) print_line_cursor#140 +(byte*) print_line_cursor#141 +(byte*) print_line_cursor#142 +(byte*) print_line_cursor#143 +(byte*) print_line_cursor#144 +(byte*) print_line_cursor#145 +(byte*) print_line_cursor#146 +(byte*) print_line_cursor#147 +(byte*) print_line_cursor#148 +(byte*) print_line_cursor#149 +(byte*) print_line_cursor#15 +(byte*) print_line_cursor#150 +(byte*) print_line_cursor#151 +(byte*) print_line_cursor#152 +(byte*) print_line_cursor#153 +(byte*) print_line_cursor#154 +(byte*) print_line_cursor#155 +(byte*) print_line_cursor#156 +(byte*) print_line_cursor#157 +(byte*) print_line_cursor#158 +(byte*) print_line_cursor#16 +(byte*) print_line_cursor#17 +(byte*) print_line_cursor#18 +(byte*) print_line_cursor#19 +(byte*) print_line_cursor#2 +(byte*) print_line_cursor#20 +(byte*) print_line_cursor#21 +(byte*) print_line_cursor#22 +(byte*) print_line_cursor#23 +(byte*) print_line_cursor#24 +(byte*) print_line_cursor#25 +(byte*) print_line_cursor#26 +(byte*) print_line_cursor#27 +(byte*) print_line_cursor#28 +(byte*) print_line_cursor#29 +(byte*) print_line_cursor#3 +(byte*) print_line_cursor#30 +(byte*) print_line_cursor#31 +(byte*) print_line_cursor#32 +(byte*) print_line_cursor#33 +(byte*) print_line_cursor#34 +(byte*) print_line_cursor#35 +(byte*) print_line_cursor#36 +(byte*) print_line_cursor#37 +(byte*) print_line_cursor#38 +(byte*) print_line_cursor#39 +(byte*) print_line_cursor#4 +(byte*) print_line_cursor#40 +(byte*) print_line_cursor#41 +(byte*) print_line_cursor#42 +(byte*) print_line_cursor#43 +(byte*) print_line_cursor#44 +(byte*) print_line_cursor#45 +(byte*) print_line_cursor#46 +(byte*) print_line_cursor#47 +(byte*) print_line_cursor#48 +(byte*) print_line_cursor#49 +(byte*) print_line_cursor#5 +(byte*) print_line_cursor#50 +(byte*) print_line_cursor#51 +(byte*) print_line_cursor#52 +(byte*) print_line_cursor#53 +(byte*) print_line_cursor#54 +(byte*) print_line_cursor#55 +(byte*) print_line_cursor#56 +(byte*) print_line_cursor#57 +(byte*) print_line_cursor#58 +(byte*) print_line_cursor#59 +(byte*) print_line_cursor#6 +(byte*) print_line_cursor#60 +(byte*) print_line_cursor#61 +(byte*) print_line_cursor#62 +(byte*) print_line_cursor#63 +(byte*) print_line_cursor#64 +(byte*) print_line_cursor#65 +(byte*) print_line_cursor#66 +(byte*) print_line_cursor#67 +(byte*) print_line_cursor#68 +(byte*) print_line_cursor#69 +(byte*) print_line_cursor#7 +(byte*) print_line_cursor#70 +(byte*) print_line_cursor#71 +(byte*) print_line_cursor#72 +(byte*) print_line_cursor#73 +(byte*) print_line_cursor#74 +(byte*) print_line_cursor#75 +(byte*) print_line_cursor#76 +(byte*) print_line_cursor#77 +(byte*) print_line_cursor#78 +(byte*) print_line_cursor#79 +(byte*) print_line_cursor#8 +(byte*) print_line_cursor#80 +(byte*) print_line_cursor#81 +(byte*) print_line_cursor#82 +(byte*) print_line_cursor#83 +(byte*) print_line_cursor#84 +(byte*) print_line_cursor#85 +(byte*) print_line_cursor#86 +(byte*) print_line_cursor#87 +(byte*) print_line_cursor#88 +(byte*) print_line_cursor#89 +(byte*) print_line_cursor#9 +(byte*) print_line_cursor#90 +(byte*) print_line_cursor#91 +(byte*) print_line_cursor#92 +(byte*) print_line_cursor#93 +(byte*) print_line_cursor#94 +(byte*) print_line_cursor#95 +(byte*) print_line_cursor#96 +(byte*) print_line_cursor#97 +(byte*) print_line_cursor#98 +(byte*) print_line_cursor#99 +(void()) print_ln() +(byte*~) print_ln::$0 +(bool~) print_ln::$1 +(label) print_ln::@1 +(label) print_ln::@2 +(label) print_ln::@return +(byte*) print_screen +(byte*) print_screen#0 +(byte*) print_screen#1 +(byte*) print_screen#10 +(byte*) print_screen#11 +(byte*) print_screen#12 +(byte*) print_screen#13 +(byte*) print_screen#14 +(byte*) print_screen#15 +(byte*) print_screen#16 +(byte*) print_screen#17 +(byte*) print_screen#18 +(byte*) print_screen#19 +(byte*) print_screen#2 +(byte*) print_screen#20 +(byte*) print_screen#21 +(byte*) print_screen#22 +(byte*) print_screen#23 +(byte*) print_screen#24 +(byte*) print_screen#25 +(byte*) print_screen#26 +(byte*) print_screen#27 +(byte*) print_screen#28 +(byte*) print_screen#29 +(byte*) print_screen#3 +(byte*) print_screen#30 +(byte*) print_screen#31 +(byte*) print_screen#32 +(byte*) print_screen#33 +(byte*) print_screen#34 +(byte*) print_screen#35 +(byte*) print_screen#36 +(byte*) print_screen#37 +(byte*) print_screen#38 +(byte*) print_screen#39 +(byte*) print_screen#4 +(byte*) print_screen#40 +(byte*) print_screen#41 +(byte*) print_screen#42 +(byte*) print_screen#5 +(byte*) print_screen#6 +(byte*) print_screen#7 +(byte*) print_screen#8 +(byte*) print_screen#9 +(void()) print_str((byte*) print_str::str) +(bool~) print_str::$0 +(label) print_str::@1 +(label) print_str::@2 +(label) print_str::@return +(byte*) print_str::str +(byte*) print_str::str#0 +(byte*) print_str::str#1 +(byte*) print_str::str#10 +(byte*) print_str::str#11 +(byte*) print_str::str#12 +(byte*) print_str::str#13 +(byte*) print_str::str#14 +(byte*) print_str::str#15 +(byte*) print_str::str#16 +(byte*) print_str::str#17 +(byte*) print_str::str#18 +(byte*) print_str::str#19 +(byte*) print_str::str#2 +(byte*) print_str::str#20 +(byte*) print_str::str#3 +(byte*) print_str::str#4 +(byte*) print_str::str#5 +(byte*) print_str::str#6 +(byte*) print_str::str#7 +(byte*) print_str::str#8 +(byte*) print_str::str#9 +(void()) print_word((word) print_word::w) +(byte~) print_word::$0 +(byte~) print_word::$2 +(label) print_word::@1 +(label) print_word::@2 +(label) print_word::@return +(word) print_word::w +(word) print_word::w#0 +(word) print_word::w#1 +(word) print_word::w#2 +(word) print_word::w#3 +(word) print_word::w#4 +(word) print_word::w#5 +(word) print_word::w#6 + +Inversing boolean not [9] (bool~) mul8u::$3 ← (byte~) mul8u::$1 == (byte/signed byte/word/signed word/dword/signed dword) 0 from [8] (bool~) mul8u::$2 ← (byte~) mul8u::$1 != (byte/signed byte/word/signed word/dword/signed dword) 0 +Successful SSA optimization Pass2UnaryNotSimplification +Alias (byte) mul8u::a#3 = (byte) mul8u::a#4 (byte) mul8u::a#7 +Alias (word) mul8u::mb#3 = (word) mul8u::mb#4 (word) mul8u::mb#5 +Alias (word) mul8u::res#2 = (word) mul8u::res#5 (word) mul8u::res#4 (word) mul8u::return#0 (word) mul8u::res#3 (word) mul8u::return#4 (word) mul8u::return#1 +Alias (byte) mul8u::a#0 = (byte~) mul8u::$5 +Alias (word) mul8u::mb#1 = (word~) mul8u::$6 +Alias (word) mul8u::res#1 = (word~) mul8u::$4 +Alias (byte*) print_line_cursor#0 = (byte*) print_screen#0 (byte*) print_char_cursor#0 (byte*) print_line_cursor#136 (byte*) print_char_cursor#203 (byte*) print_screen#42 (byte*) print_line_cursor#117 (byte*) print_char_cursor#199 (byte*) print_screen#41 (byte*) print_line_cursor#100 (byte*) print_char_cursor#182 (byte*) print_screen#40 (byte*) print_line_cursor#99 (byte*) print_char_cursor#181 (byte*) print_screen#39 (byte*) print_line_cursor#82 (byte*) print_char_cursor#163 (byte*) print_screen#38 +Alias (byte*) print_str::str#18 = (byte*) print_str::str#19 +Alias (byte*) print_char_cursor#142 = (byte*) print_char_cursor#72 (byte*) print_char_cursor#73 (byte*) print_char_cursor#2 +Alias (byte*) print_line_cursor#1 = (byte*~) print_ln::$0 (byte*) print_line_cursor#33 (byte*) print_char_cursor#3 (byte*) print_line_cursor#34 (byte*) print_char_cursor#75 (byte*) print_line_cursor#2 (byte*) print_char_cursor#4 +Alias (byte) print_byte::b#0 = (byte~) print_word::$0 +Alias (word) print_word::w#5 = (word) print_word::w#6 +Alias (byte*) print_char_cursor#5 = (byte*) print_char_cursor#76 +Alias (byte) print_byte::b#1 = (byte~) print_word::$2 +Alias (byte*) print_char_cursor#6 = (byte*) print_char_cursor#77 (byte*) print_char_cursor#78 (byte*) print_char_cursor#7 +Alias (byte) print_byte::b#10 = (byte) print_byte::b#11 +Alias (byte*) print_char_cursor#79 = (byte*) print_char_cursor#8 +Alias (byte*) print_char_cursor#10 = (byte*) print_char_cursor#9 (byte*) print_char_cursor#80 (byte*) print_char_cursor#81 +Alias (byte*) print_char_cursor#11 = (byte*) print_char_cursor#83 (byte*) print_char_cursor#12 +Alias (byte*) print_line_cursor#3 = (byte*) print_screen#3 (byte*) print_screen#2 (byte*) print_char_cursor#13 (byte*) print_line_cursor#35 (byte*) print_char_cursor#84 (byte*) print_line_cursor#4 (byte*) print_char_cursor#14 +Alias (byte) keyboard_matrix_read::return#0 = (byte) keyboard_matrix_read::row_pressed_bits#0 (byte~) keyboard_matrix_read::$0 (byte) keyboard_matrix_read::return#3 (byte) keyboard_matrix_read::return#1 +Alias (byte) keyboard_key_pressed::colidx#0 = (byte~) keyboard_key_pressed::$0 (byte) keyboard_key_pressed::colidx#1 +Alias (byte) keyboard_key_pressed::rowidx#0 = (byte~) keyboard_key_pressed::$1 +Alias (byte) keyboard_matrix_read::return#2 = (byte) keyboard_matrix_read::return#4 +Alias (byte) keyboard_key_pressed::return#0 = (byte~) keyboard_key_pressed::$3 (byte) keyboard_key_pressed::return#4 (byte) keyboard_key_pressed::return#1 +Alias (byte*) print_screen#10 = (byte*) print_screen#36 (byte*) print_screen#37 (byte*) print_screen#33 (byte*) print_screen#30 (byte*) print_screen#27 (byte*) print_screen#24 (byte*) print_screen#21 (byte*) print_screen#18 (byte*) print_screen#13 (byte*) print_screen#7 (byte*) print_screen#4 (byte*) print_screen#34 (byte*) print_screen#31 (byte*) print_screen#28 (byte*) print_screen#25 (byte*) print_screen#22 (byte*) print_screen#19 (byte*) print_screen#15 +Alias (byte*) print_line_cursor#101 = (byte*) print_line_cursor#157 (byte*) print_line_cursor#158 (byte*) print_line_cursor#156 (byte*) print_line_cursor#155 (byte*) print_line_cursor#154 (byte*) print_line_cursor#153 (byte*) print_line_cursor#151 (byte*) print_line_cursor#137 (byte*) print_line_cursor#118 (byte*) print_line_cursor#83 (byte*) print_line_cursor#64 +Alias (byte*) print_char_cursor#146 = (byte*) print_char_cursor#210 (byte*) print_char_cursor#211 (byte*) print_char_cursor#209 (byte*) print_char_cursor#208 (byte*) print_char_cursor#207 (byte*) print_char_cursor#206 (byte*) print_char_cursor#205 (byte*) print_char_cursor#204 (byte*) print_char_cursor#200 (byte*) print_char_cursor#183 (byte*) print_char_cursor#165 +Alias (byte) main::fileEntry1_idx#0 = (byte) main::fileEntry1_idx#1 +Alias (word) mul8u::return#2 = (word) mul8u::return#5 +Alias (byte*) main::entry1#0 = (byte*) main::fileEntry1_return#0 (byte*) main::fileEntry1_$1#0 (byte*) main::fileEntry1_return#2 (byte*) main::fileEntry1_return#1 (byte*) main::fileEntry1_return#3 (byte*~) main::$1 (byte*) main::entry1#7 (byte*) main::entry1#5 (byte*) main::entry1#3 (byte*) main::entry1#1 (byte*) main::entry1#10 (byte*) main::entry1#9 (byte*) main::entry1#8 (byte*) main::entry1#6 (byte*) main::entry1#4 (byte*) main::entry1#2 +Alias (byte) main::fileEntry2_idx#0 = (byte) main::fileEntry2_idx#1 +Alias (word) mul8u::return#3 = (word) mul8u::return#6 +Alias (byte*) main::entry2#0 = (byte*) main::fileEntry2_return#0 (byte*) main::fileEntry2_$1#0 (byte*) main::fileEntry2_return#2 (byte*) main::fileEntry2_return#1 (byte*) main::fileEntry2_return#3 (byte*~) main::$2 (byte*) main::entry2#1 (byte*) main::entry2#17 (byte*) main::entry2#16 (byte*) main::entry2#15 (byte*) main::entry2#14 (byte*) main::entry2#13 (byte*) main::entry2#12 (byte*) main::entry2#11 (byte*) main::entry2#10 +Alias (byte*) print_line_cursor#36 = (byte*) print_line_cursor#5 (byte*) print_line_cursor#65 +Alias (byte*) print_char_cursor#15 = (byte*) print_char_cursor#85 +Alias (byte*) print_char_cursor#16 = (byte*) print_char_cursor#86 +Alias (byte*) print_line_cursor#37 = (byte*) print_line_cursor#6 +Alias (byte*) print_char_cursor#17 = (byte*) print_char_cursor#87 +Alias (byte*) print_line_cursor#38 = (byte*) print_line_cursor#7 +Alias (byte*) print_char_cursor#18 = (byte*) print_char_cursor#88 +Alias (byte*) print_char_cursor#19 = (byte*) print_char_cursor#89 +Alias (byte*) print_line_cursor#39 = (byte*) print_line_cursor#8 +Alias (byte*) print_line_cursor#120 = (byte*) print_line_cursor#9 (byte*) print_line_cursor#40 +Alias (byte*) print_char_cursor#20 = (byte*) print_char_cursor#90 +Alias (byte*) print_char_cursor#21 = (byte*) print_char_cursor#91 +Alias (byte) keyboard_key_pressed::return#2 = (byte) keyboard_key_pressed::return#5 +Alias (byte*) print_screen#11 = (byte*) print_screen#8 (byte*) print_screen#14 (byte*) print_screen#5 (byte*) print_screen#35 (byte*) print_screen#32 (byte*) print_screen#29 (byte*) print_screen#26 (byte*) print_screen#23 (byte*) print_screen#20 (byte*) print_screen#16 +Alias (byte*) print_line_cursor#102 = (byte*) print_line_cursor#84 (byte*) print_line_cursor#119 (byte*) print_line_cursor#66 +Alias (byte*) print_char_cursor#147 = (byte*) print_char_cursor#166 (byte*) print_char_cursor#184 (byte*) print_char_cursor#201 +Alias (byte*) main::entry2#2 = (byte*) main::entry2#7 (byte*) main::entry2#8 (byte*) main::entry2#9 (byte*) main::entry2#6 (byte*) main::entry2#5 (byte*) main::entry2#4 (byte*) main::entry2#3 +Alias (byte*) print_line_cursor#10 = (byte*) print_line_cursor#41 (byte*) print_line_cursor#67 +Alias (byte*) print_char_cursor#22 = (byte*) print_char_cursor#92 +Alias (byte*) print_char_cursor#23 = (byte*) print_char_cursor#93 +Alias (byte*) print_line_cursor#11 = (byte*) print_line_cursor#42 +Alias (byte*) print_char_cursor#24 = (byte*) print_char_cursor#94 +Alias (byte*) print_line_cursor#12 = (byte*) print_line_cursor#43 +Alias (byte*) print_char_cursor#25 = (byte*) print_char_cursor#95 +Alias (byte*) print_char_cursor#26 = (byte*) print_char_cursor#96 +Alias (byte*) print_line_cursor#13 = (byte*) print_line_cursor#44 +Alias (byte*) print_line_cursor#121 = (byte*) print_line_cursor#14 (byte*) print_line_cursor#45 +Alias (byte*) print_char_cursor#27 = (byte*) print_char_cursor#97 +Alias (byte*) print_char_cursor#28 = (byte*) print_char_cursor#98 +Alias (byte) keyboard_key_pressed::return#3 = (byte) keyboard_key_pressed::return#6 +Alias (byte*) print_screen#12 = (byte*) print_screen#9 (byte*) print_screen#17 (byte*) print_screen#6 +Alias (byte*) print_line_cursor#103 = (byte*) print_line_cursor#85 (byte*) print_line_cursor#122 (byte*) print_line_cursor#68 +Alias (byte*) print_char_cursor#148 = (byte*) print_char_cursor#167 (byte*) print_char_cursor#185 (byte*) print_char_cursor#202 +Alias (byte*) print_line_cursor#15 = (byte*) print_line_cursor#46 (byte*) print_line_cursor#47 (byte*) print_line_cursor#16 +Alias (byte*) print_char_cursor#100 = (byte*) print_char_cursor#29 (byte*) print_char_cursor#99 (byte*) print_char_cursor#30 +Alias (byte*) initEntry::entry#10 = (byte*) initEntry::entryBufDisk1_entry#0 (byte*) initEntry::entry#2 (byte*) initEntry::entryBufDisk1_entry#1 (byte*) initEntry::entry#27 (byte*) initEntry::entry#15 (byte*) initEntry::entry#3 (byte*) initEntry::entryBufEdit1_entry#0 (byte*) initEntry::entryBufEdit1_entry#1 (byte*) initEntry::entry#28 (byte*) initEntry::entry#16 (byte*) initEntry::entry#4 (byte*) initEntry::entryTsLen1_entry#0 (byte*) initEntry::entryTsLen1_entry#1 (byte*) initEntry::entry#29 (byte*) initEntry::entry#17 (byte*) initEntry::entry#5 (byte*) initEntry::entryTsOrder1_entry#0 (byte*) initEntry::entryTsOrder1_entry#1 (byte*) initEntry::entry#30 (byte*) initEntry::entry#18 (byte*) initEntry::entry#6 (byte*) initEntry::entryTLastLink1_entry#0 (byte*) initEntry::entryTLastLink1_entry#1 (byte*) initEntry::entry#31 (byte*) initEntry::entry#19 (byte*) initEntry::entry#7 (byte*) initEntry::entrySLastLink1_entry#0 (byte*) initEntry::entrySLastLink1_entry#1 (byte*) initEntry::entry#32 (byte*) initEntry::entry#20 (byte*) initEntry::entry#8 (byte*) initEntry::entryBFlag1_entry#0 (byte*) initEntry::entryBFlag1_entry#1 (byte*) initEntry::entry#33 (byte*) initEntry::entry#21 (byte*) initEntry::entry#9 (byte*) initEntry::entryBError1_entry#0 (byte*) initEntry::entryBError1_entry#1 (byte*) initEntry::entry#34 (byte*) initEntry::entry#22 (byte*) initEntry::entryUCross1_entry#0 (byte*) initEntry::entryUCross1_entry#1 (byte*) initEntry::entry#35 (byte*) initEntry::entry#23 (byte*) initEntry::entry#11 (byte*) initEntry::entryBAddrLo1_entry#0 (byte*) initEntry::entryBAddrLo1_entry#1 (byte*) initEntry::entry#36 (byte*) initEntry::entry#24 (byte*) initEntry::entry#12 (byte*) initEntry::entryBAddrHi1_entry#0 (byte*) initEntry::entryBAddrHi1_entry#1 (byte*) initEntry::entry#37 (byte*) initEntry::entry#25 (byte*) initEntry::entry#13 (byte*) initEntry::entryTHi1_entry#0 (byte*) initEntry::entryTHi1_entry#1 (byte*) initEntry::entry#38 (byte*) initEntry::entry#26 (byte*) initEntry::entry#14 (byte*) initEntry::entryTLo1_entry#0 (byte*) initEntry::entryTLo1_entry#1 +Alias (byte) initEntry::n#10 = (byte) initEntry::n#28 (byte) initEntry::n#41 (byte) initEntry::n#15 (byte) initEntry::n#2 (byte) initEntry::n#29 (byte) initEntry::n#16 (byte) initEntry::n#3 (byte) initEntry::n#30 (byte) initEntry::n#17 (byte) initEntry::n#4 (byte) initEntry::n#31 (byte) initEntry::n#18 (byte) initEntry::n#5 (byte) initEntry::n#32 (byte) initEntry::n#19 (byte) initEntry::n#6 (byte) initEntry::n#33 (byte) initEntry::n#20 (byte) initEntry::n#7 (byte) initEntry::n#34 (byte) initEntry::n#21 (byte) initEntry::n#8 (byte) initEntry::n#35 (byte) initEntry::n#22 (byte) initEntry::n#9 (byte) initEntry::n#36 (byte) initEntry::n#23 (byte) initEntry::n#37 (byte) initEntry::n#24 (byte) initEntry::n#11 (byte) initEntry::n#38 (byte) initEntry::n#25 (byte) initEntry::n#12 (byte) initEntry::n#39 (byte) initEntry::n#26 (byte) initEntry::n#13 (byte) initEntry::n#40 (byte) initEntry::n#27 (byte) initEntry::n#14 +Alias (byte**) initEntry::entryBufDisk1_return#0 = (byte**) initEntry::entryBufDisk1_$1#0 (byte**) initEntry::entryBufDisk1_return#2 (byte**) initEntry::entryBufDisk1_return#1 (byte**) initEntry::entryBufDisk1_return#3 (byte**~) initEntry::$0 +Alias (byte**) initEntry::entryBufEdit1_return#0 = (byte**) initEntry::entryBufEdit1_$1#0 (byte**) initEntry::entryBufEdit1_return#2 (byte**) initEntry::entryBufEdit1_return#1 (byte**) initEntry::entryBufEdit1_return#3 (byte**~) initEntry::$2 +Alias (word*) initEntry::entryTsLen1_return#0 = (word*) initEntry::entryTsLen1_$1#0 (word*) initEntry::entryTsLen1_return#2 (word*) initEntry::entryTsLen1_return#1 (word*) initEntry::entryTsLen1_return#3 (word*~) initEntry::$4 +Alias (word**) initEntry::entryTsOrder1_return#0 = (word**) initEntry::entryTsOrder1_$1#0 (word**) initEntry::entryTsOrder1_return#2 (word**) initEntry::entryTsOrder1_return#1 (word**) initEntry::entryTsOrder1_return#3 (word**~) initEntry::$6 +Alias (byte*) initEntry::entryTLastLink1_return#0 = (byte*) initEntry::entryTLastLink1_$0#0 (byte*) initEntry::entryTLastLink1_return#2 (byte*) initEntry::entryTLastLink1_return#1 (byte*) initEntry::entryTLastLink1_return#3 (byte*~) initEntry::$8 +Alias (byte*) initEntry::entrySLastLink1_return#0 = (byte*) initEntry::entrySLastLink1_$0#0 (byte*) initEntry::entrySLastLink1_return#2 (byte*) initEntry::entrySLastLink1_return#1 (byte*) initEntry::entrySLastLink1_return#3 (byte*~) initEntry::$10 +Alias (byte*) initEntry::entryBFlag1_return#0 = (byte*) initEntry::entryBFlag1_$0#0 (byte*) initEntry::entryBFlag1_return#2 (byte*) initEntry::entryBFlag1_return#1 (byte*) initEntry::entryBFlag1_return#3 (byte*~) initEntry::$12 +Alias (byte*) initEntry::entryBError1_return#0 = (byte*) initEntry::entryBError1_$0#0 (byte*) initEntry::entryBError1_return#2 (byte*) initEntry::entryBError1_return#1 (byte*) initEntry::entryBError1_return#3 (byte*~) initEntry::$14 +Alias (word*) initEntry::entryUCross1_return#0 = (word*) initEntry::entryUCross1_$1#0 (word*) initEntry::entryUCross1_return#2 (word*) initEntry::entryUCross1_return#1 (word*) initEntry::entryUCross1_return#3 (word*~) initEntry::$16 +Alias (byte*) initEntry::entryBAddrLo1_return#0 = (byte*) initEntry::entryBAddrLo1_$0#0 (byte*) initEntry::entryBAddrLo1_return#2 (byte*) initEntry::entryBAddrLo1_return#1 (byte*) initEntry::entryBAddrLo1_return#3 (byte*~) initEntry::$18 +Alias (byte*) initEntry::entryBAddrHi1_return#0 = (byte*) initEntry::entryBAddrHi1_$0#0 (byte*) initEntry::entryBAddrHi1_return#2 (byte*) initEntry::entryBAddrHi1_return#1 (byte*) initEntry::entryBAddrHi1_return#3 (byte*~) initEntry::$20 +Alias (byte*) initEntry::entryTHi1_return#0 = (byte*) initEntry::entryTHi1_$0#0 (byte*) initEntry::entryTHi1_return#2 (byte*) initEntry::entryTHi1_return#1 (byte*) initEntry::entryTHi1_return#3 (byte*~) initEntry::$22 +Alias (byte*) initEntry::entryTLo1_return#0 = (byte*) initEntry::entryTLo1_$0#0 (byte*) initEntry::entryTLo1_return#2 (byte*) initEntry::entryTLo1_return#1 (byte*) initEntry::entryTLo1_return#3 (byte*~) initEntry::$24 +Alias (byte*) printEntry::entry#10 = (byte*) printEntry::entry#2 (byte*) printEntry::entry#15 (byte*) printEntry::entryBufDisk1_entry#0 (byte*) printEntry::entryBufDisk1_entry#1 (byte*) printEntry::entry#64 (byte*) printEntry::entry#52 (byte*) printEntry::entry#40 (byte*) printEntry::entry#28 (byte*) printEntry::entry#16 (byte*) printEntry::entry#3 (byte*) printEntry::entryBufEdit1_entry#0 (byte*) printEntry::entryBufEdit1_entry#1 (byte*) printEntry::entry#65 (byte*) printEntry::entry#53 (byte*) printEntry::entry#41 (byte*) printEntry::entry#29 (byte*) printEntry::entry#17 (byte*) printEntry::entry#4 (byte*) printEntry::entryTsLen1_entry#0 (byte*) printEntry::entryTsLen1_entry#1 (byte*) printEntry::entry#66 (byte*) printEntry::entry#54 (byte*) printEntry::entry#42 (byte*) printEntry::entry#30 (byte*) printEntry::entry#18 (byte*) printEntry::entry#5 (byte*) printEntry::entryTsOrder1_entry#0 (byte*) printEntry::entryTsOrder1_entry#1 (byte*) printEntry::entry#67 (byte*) printEntry::entry#55 (byte*) printEntry::entry#43 (byte*) printEntry::entry#31 (byte*) printEntry::entry#19 (byte*) printEntry::entry#6 (byte*) printEntry::entryTLastLink1_entry#0 (byte*) printEntry::entryTLastLink1_entry#1 (byte*) printEntry::entry#68 (byte*) printEntry::entry#56 (byte*) printEntry::entry#44 (byte*) printEntry::entry#32 (byte*) printEntry::entry#20 (byte*) printEntry::entry#7 (byte*) printEntry::entrySLastLink1_entry#0 (byte*) printEntry::entrySLastLink1_entry#1 (byte*) printEntry::entry#69 (byte*) printEntry::entry#57 (byte*) printEntry::entry#45 (byte*) printEntry::entry#33 (byte*) printEntry::entry#21 (byte*) printEntry::entry#8 (byte*) printEntry::entryBFlag1_entry#0 (byte*) printEntry::entryBFlag1_entry#1 (byte*) printEntry::entry#70 (byte*) printEntry::entry#58 (byte*) printEntry::entry#46 (byte*) printEntry::entry#34 (byte*) printEntry::entry#22 (byte*) printEntry::entry#9 (byte*) printEntry::entryBError1_entry#0 (byte*) printEntry::entryBError1_entry#1 (byte*) printEntry::entry#71 (byte*) printEntry::entry#59 (byte*) printEntry::entry#47 (byte*) printEntry::entry#35 (byte*) printEntry::entry#23 (byte*) printEntry::entryUCross1_entry#0 (byte*) printEntry::entryUCross1_entry#1 (byte*) printEntry::entry#72 (byte*) printEntry::entry#60 (byte*) printEntry::entry#48 (byte*) printEntry::entry#36 (byte*) printEntry::entry#24 (byte*) printEntry::entry#11 (byte*) printEntry::entryBAddrLo1_entry#0 (byte*) printEntry::entryBAddrLo1_entry#1 (byte*) printEntry::entry#73 (byte*) printEntry::entry#61 (byte*) printEntry::entry#49 (byte*) printEntry::entry#37 (byte*) printEntry::entry#25 (byte*) printEntry::entry#12 (byte*) printEntry::entryBAddrHi1_entry#0 (byte*) printEntry::entryBAddrHi1_entry#1 (byte*) printEntry::entry#74 (byte*) printEntry::entry#62 (byte*) printEntry::entry#50 (byte*) printEntry::entry#38 (byte*) printEntry::entry#26 (byte*) printEntry::entry#13 (byte*) printEntry::entryTHi1_entry#0 (byte*) printEntry::entryTHi1_entry#1 (byte*) printEntry::entry#75 (byte*) printEntry::entry#63 (byte*) printEntry::entry#51 (byte*) printEntry::entry#39 (byte*) printEntry::entry#27 (byte*) printEntry::entry#14 (byte*) printEntry::entryTLo1_entry#0 (byte*) printEntry::entryTLo1_entry#1 +Alias (byte*) print_line_cursor#104 = (byte*) print_line_cursor#138 (byte*) print_line_cursor#152 (byte*) print_line_cursor#123 (byte*) print_line_cursor#86 (byte*) print_line_cursor#69 +Alias (byte*) print_char_cursor#101 = (byte*) print_char_cursor#31 (byte*) print_char_cursor#186 (byte*) print_char_cursor#168 (byte*) print_char_cursor#150 +Alias (byte**) printEntry::entryBufDisk1_return#0 = (byte**) printEntry::entryBufDisk1_$1#0 (byte**) printEntry::entryBufDisk1_return#2 (byte**) printEntry::entryBufDisk1_return#1 (byte**) printEntry::entryBufDisk1_return#3 (byte**~) printEntry::$1 +Alias (word) print_word::w#0 = (word~) printEntry::$2 +Alias (byte*) print_char_cursor#102 = (byte*) print_char_cursor#32 +Alias (byte*) print_line_cursor#105 = (byte*) print_line_cursor#17 (byte*) print_line_cursor#48 (byte*) print_line_cursor#139 (byte*) print_line_cursor#124 (byte*) print_line_cursor#87 (byte*) print_line_cursor#70 +Alias (byte*) print_char_cursor#103 = (byte*) print_char_cursor#33 +Alias (byte*) print_char_cursor#104 = (byte*) print_char_cursor#34 (byte*) print_char_cursor#187 (byte*) print_char_cursor#169 (byte*) print_char_cursor#151 +Alias (byte**) printEntry::entryBufEdit1_return#0 = (byte**) printEntry::entryBufEdit1_$1#0 (byte**) printEntry::entryBufEdit1_return#2 (byte**) printEntry::entryBufEdit1_return#1 (byte**) printEntry::entryBufEdit1_return#3 (byte**~) printEntry::$6 +Alias (word) print_word::w#1 = (word~) printEntry::$7 +Alias (byte*) print_char_cursor#105 = (byte*) print_char_cursor#35 +Alias (byte*) print_line_cursor#106 = (byte*) print_line_cursor#18 (byte*) print_line_cursor#49 (byte*) print_line_cursor#140 (byte*) print_line_cursor#125 (byte*) print_line_cursor#88 (byte*) print_line_cursor#71 +Alias (byte*) print_char_cursor#106 = (byte*) print_char_cursor#36 +Alias (byte*) print_char_cursor#107 = (byte*) print_char_cursor#37 (byte*) print_char_cursor#188 (byte*) print_char_cursor#170 (byte*) print_char_cursor#152 +Alias (word*) printEntry::entryTsLen1_return#0 = (word*) printEntry::entryTsLen1_$1#0 (word*) printEntry::entryTsLen1_return#2 (word*) printEntry::entryTsLen1_return#1 (word*) printEntry::entryTsLen1_return#3 (word*~) printEntry::$11 +Alias (byte*) print_char_cursor#108 = (byte*) print_char_cursor#38 +Alias (byte*) print_line_cursor#107 = (byte*) print_line_cursor#19 (byte*) print_line_cursor#50 (byte*) print_line_cursor#141 (byte*) print_line_cursor#126 (byte*) print_line_cursor#89 (byte*) print_line_cursor#72 +Alias (byte*) print_char_cursor#109 = (byte*) print_char_cursor#39 +Alias (byte*) print_char_cursor#110 = (byte*) print_char_cursor#40 (byte*) print_char_cursor#189 (byte*) print_char_cursor#171 (byte*) print_char_cursor#153 +Alias (word**) printEntry::entryTsOrder1_return#0 = (word**) printEntry::entryTsOrder1_$1#0 (word**) printEntry::entryTsOrder1_return#2 (word**) printEntry::entryTsOrder1_return#1 (word**) printEntry::entryTsOrder1_return#3 (word**~) printEntry::$15 +Alias (word) print_word::w#3 = (word~) printEntry::$16 +Alias (byte*) print_char_cursor#111 = (byte*) print_char_cursor#41 +Alias (byte*) print_line_cursor#108 = (byte*) print_line_cursor#20 (byte*) print_line_cursor#51 (byte*) print_line_cursor#142 (byte*) print_line_cursor#127 (byte*) print_line_cursor#90 (byte*) print_line_cursor#73 +Alias (byte*) print_char_cursor#112 = (byte*) print_char_cursor#42 +Alias (byte*) print_char_cursor#113 = (byte*) print_char_cursor#43 (byte*) print_char_cursor#190 (byte*) print_char_cursor#172 (byte*) print_char_cursor#154 +Alias (byte*) printEntry::entryTLastLink1_return#0 = (byte*) printEntry::entryTLastLink1_$0#0 (byte*) printEntry::entryTLastLink1_return#2 (byte*) printEntry::entryTLastLink1_return#1 (byte*) printEntry::entryTLastLink1_return#3 (byte*~) printEntry::$20 +Alias (byte*) print_char_cursor#114 = (byte*) print_char_cursor#44 +Alias (byte*) print_line_cursor#109 = (byte*) print_line_cursor#21 (byte*) print_line_cursor#52 (byte*) print_line_cursor#143 (byte*) print_line_cursor#128 (byte*) print_line_cursor#91 (byte*) print_line_cursor#74 +Alias (byte*) print_char_cursor#115 = (byte*) print_char_cursor#45 +Alias (byte*) print_char_cursor#116 = (byte*) print_char_cursor#46 (byte*) print_char_cursor#191 (byte*) print_char_cursor#173 (byte*) print_char_cursor#155 +Alias (byte*) printEntry::entrySLastLink1_return#0 = (byte*) printEntry::entrySLastLink1_$0#0 (byte*) printEntry::entrySLastLink1_return#2 (byte*) printEntry::entrySLastLink1_return#1 (byte*) printEntry::entrySLastLink1_return#3 (byte*~) printEntry::$24 +Alias (byte*) print_char_cursor#117 = (byte*) print_char_cursor#47 +Alias (byte*) print_line_cursor#110 = (byte*) print_line_cursor#22 (byte*) print_line_cursor#53 (byte*) print_line_cursor#144 (byte*) print_line_cursor#129 (byte*) print_line_cursor#92 (byte*) print_line_cursor#75 +Alias (byte*) print_char_cursor#118 = (byte*) print_char_cursor#48 +Alias (byte*) print_char_cursor#119 = (byte*) print_char_cursor#49 (byte*) print_char_cursor#192 (byte*) print_char_cursor#174 (byte*) print_char_cursor#156 +Alias (byte*) printEntry::entryBFlag1_return#0 = (byte*) printEntry::entryBFlag1_$0#0 (byte*) printEntry::entryBFlag1_return#2 (byte*) printEntry::entryBFlag1_return#1 (byte*) printEntry::entryBFlag1_return#3 (byte*~) printEntry::$28 +Alias (byte*) print_char_cursor#120 = (byte*) print_char_cursor#50 +Alias (byte*) print_line_cursor#111 = (byte*) print_line_cursor#23 (byte*) print_line_cursor#54 (byte*) print_line_cursor#145 (byte*) print_line_cursor#130 (byte*) print_line_cursor#93 (byte*) print_line_cursor#76 +Alias (byte*) print_char_cursor#121 = (byte*) print_char_cursor#51 +Alias (byte*) print_char_cursor#122 = (byte*) print_char_cursor#52 (byte*) print_char_cursor#193 (byte*) print_char_cursor#175 (byte*) print_char_cursor#157 +Alias (byte*) printEntry::entryBError1_return#0 = (byte*) printEntry::entryBError1_$0#0 (byte*) printEntry::entryBError1_return#2 (byte*) printEntry::entryBError1_return#1 (byte*) printEntry::entryBError1_return#3 (byte*~) printEntry::$32 +Alias (byte*) print_char_cursor#123 = (byte*) print_char_cursor#53 +Alias (byte*) print_line_cursor#112 = (byte*) print_line_cursor#24 (byte*) print_line_cursor#55 (byte*) print_line_cursor#146 (byte*) print_line_cursor#131 (byte*) print_line_cursor#94 (byte*) print_line_cursor#77 +Alias (byte*) print_char_cursor#124 = (byte*) print_char_cursor#54 +Alias (byte*) print_char_cursor#125 = (byte*) print_char_cursor#55 (byte*) print_char_cursor#194 (byte*) print_char_cursor#176 (byte*) print_char_cursor#158 +Alias (word*) printEntry::entryUCross1_return#0 = (word*) printEntry::entryUCross1_$1#0 (word*) printEntry::entryUCross1_return#2 (word*) printEntry::entryUCross1_return#1 (word*) printEntry::entryUCross1_return#3 (word*~) printEntry::$36 +Alias (byte*) print_char_cursor#126 = (byte*) print_char_cursor#56 +Alias (byte*) print_line_cursor#113 = (byte*) print_line_cursor#25 (byte*) print_line_cursor#56 (byte*) print_line_cursor#147 (byte*) print_line_cursor#132 (byte*) print_line_cursor#95 (byte*) print_line_cursor#78 +Alias (byte*) print_char_cursor#127 = (byte*) print_char_cursor#57 +Alias (byte*) print_char_cursor#128 = (byte*) print_char_cursor#58 (byte*) print_char_cursor#195 (byte*) print_char_cursor#177 (byte*) print_char_cursor#159 +Alias (byte*) printEntry::entryBAddrLo1_return#0 = (byte*) printEntry::entryBAddrLo1_$0#0 (byte*) printEntry::entryBAddrLo1_return#2 (byte*) printEntry::entryBAddrLo1_return#1 (byte*) printEntry::entryBAddrLo1_return#3 (byte*~) printEntry::$40 +Alias (byte*) print_char_cursor#129 = (byte*) print_char_cursor#59 +Alias (byte*) print_line_cursor#114 = (byte*) print_line_cursor#26 (byte*) print_line_cursor#57 (byte*) print_line_cursor#148 (byte*) print_line_cursor#133 (byte*) print_line_cursor#96 (byte*) print_line_cursor#79 +Alias (byte*) print_char_cursor#130 = (byte*) print_char_cursor#60 +Alias (byte*) print_char_cursor#131 = (byte*) print_char_cursor#61 (byte*) print_char_cursor#196 (byte*) print_char_cursor#178 (byte*) print_char_cursor#160 +Alias (byte*) printEntry::entryBAddrHi1_return#0 = (byte*) printEntry::entryBAddrHi1_$0#0 (byte*) printEntry::entryBAddrHi1_return#2 (byte*) printEntry::entryBAddrHi1_return#1 (byte*) printEntry::entryBAddrHi1_return#3 (byte*~) printEntry::$44 +Alias (byte*) print_char_cursor#132 = (byte*) print_char_cursor#62 +Alias (byte*) print_line_cursor#115 = (byte*) print_line_cursor#27 (byte*) print_line_cursor#58 (byte*) print_line_cursor#149 (byte*) print_line_cursor#134 (byte*) print_line_cursor#97 (byte*) print_line_cursor#80 +Alias (byte*) print_char_cursor#133 = (byte*) print_char_cursor#63 +Alias (byte*) print_char_cursor#134 = (byte*) print_char_cursor#64 (byte*) print_char_cursor#197 (byte*) print_char_cursor#179 (byte*) print_char_cursor#161 +Alias (byte*) printEntry::entryTHi1_return#0 = (byte*) printEntry::entryTHi1_$0#0 (byte*) printEntry::entryTHi1_return#2 (byte*) printEntry::entryTHi1_return#1 (byte*) printEntry::entryTHi1_return#3 (byte*~) printEntry::$48 +Alias (byte*) print_char_cursor#135 = (byte*) print_char_cursor#65 +Alias (byte*) print_line_cursor#116 = (byte*) print_line_cursor#28 (byte*) print_line_cursor#59 (byte*) print_line_cursor#150 (byte*) print_line_cursor#135 (byte*) print_line_cursor#98 (byte*) print_line_cursor#81 +Alias (byte*) print_char_cursor#136 = (byte*) print_char_cursor#66 +Alias (byte*) print_char_cursor#137 = (byte*) print_char_cursor#67 (byte*) print_char_cursor#198 (byte*) print_char_cursor#180 (byte*) print_char_cursor#162 +Alias (byte*) printEntry::entryTLo1_return#0 = (byte*) printEntry::entryTLo1_$0#0 (byte*) printEntry::entryTLo1_return#2 (byte*) printEntry::entryTLo1_return#1 (byte*) printEntry::entryTLo1_return#3 (byte*~) printEntry::$52 +Alias (byte*) print_char_cursor#138 = (byte*) print_char_cursor#68 +Alias (byte*) print_line_cursor#29 = (byte*) print_line_cursor#60 (byte*) print_line_cursor#61 (byte*) print_line_cursor#30 +Alias (byte*) print_char_cursor#139 = (byte*) print_char_cursor#69 (byte*) print_char_cursor#140 (byte*) print_char_cursor#70 +Alias (byte*) print_line_cursor#31 = (byte*) print_line_cursor#62 +Alias (byte*) print_char_cursor#141 = (byte*) print_char_cursor#71 +Successful SSA optimization Pass2AliasElimination +Alias (byte) mul8u::a#3 = (byte) mul8u::a#5 +Alias (word) mul8u::mb#2 = (word) mul8u::mb#3 +Successful SSA optimization Pass2AliasElimination +Self Phi Eliminated (byte*) print_char_cursor#74 +Self Phi Eliminated (byte*) print_line_cursor#3 +Self Phi Eliminated (byte*) print_screen#11 +Self Phi Eliminated (byte*) print_line_cursor#102 +Self Phi Eliminated (byte*) print_char_cursor#147 +Self Phi Eliminated (byte*) main::entry2#2 +Self Phi Eliminated (byte*) print_screen#12 +Self Phi Eliminated (byte*) print_line_cursor#103 +Self Phi Eliminated (byte*) print_char_cursor#148 +Successful SSA optimization Pass2SelfPhiElimination +Redundant Phi (byte*) print_char_cursor#74 (byte*) print_char_cursor#143 +Redundant Phi (byte*) print_char_cursor#5 (byte*) print_char_cursor#10 +Redundant Phi (byte*) print_char_cursor#6 (byte*) print_char_cursor#10 +Redundant Phi (byte*) print_char_cursor#79 (byte*) print_char_cursor#11 +Redundant Phi (byte*) print_char_cursor#10 (byte*) print_char_cursor#11 +Redundant Phi (byte*) print_line_cursor#3 (byte*) print_screen#1 +Redundant Phi (byte) keyboard_matrix_read::rowid#1 (byte) keyboard_matrix_read::rowid#0 +Redundant Phi (byte*) print_screen#10 (byte*) print_line_cursor#0 +Redundant Phi (byte*) print_line_cursor#101 (byte*) print_line_cursor#0 +Redundant Phi (byte*) print_char_cursor#146 (byte*) print_line_cursor#0 +Redundant Phi (byte*) print_line_cursor#36 (byte*) print_line_cursor#3 +Redundant Phi (byte*) print_char_cursor#15 (byte*) print_line_cursor#3 +Redundant Phi (byte*) print_char_cursor#16 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_line_cursor#37 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#17 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_line_cursor#38 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#18 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#19 (byte*) print_char_cursor#139 +Redundant Phi (byte*) print_line_cursor#39 (byte*) print_line_cursor#29 +Redundant Phi (byte*) print_line_cursor#120 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#20 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#21 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_screen#11 (byte*) print_screen#10 +Redundant Phi (byte*) print_line_cursor#102 (byte*) print_line_cursor#120 +Redundant Phi (byte*) print_char_cursor#147 (byte*) print_char_cursor#21 +Redundant Phi (byte*) main::entry2#2 (byte*) main::entry2#0 +Redundant Phi (byte*) print_line_cursor#10 (byte*) print_line_cursor#3 +Redundant Phi (byte*) print_char_cursor#22 (byte*) print_line_cursor#3 +Redundant Phi (byte*) print_char_cursor#23 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_line_cursor#11 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#24 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_line_cursor#12 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#25 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#26 (byte*) print_char_cursor#139 +Redundant Phi (byte*) print_line_cursor#13 (byte*) print_line_cursor#29 +Redundant Phi (byte*) print_line_cursor#121 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#27 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#28 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_screen#12 (byte*) print_screen#11 +Redundant Phi (byte*) print_line_cursor#103 (byte*) print_line_cursor#121 +Redundant Phi (byte*) print_char_cursor#148 (byte*) print_char_cursor#28 +Redundant Phi (byte*) print_line_cursor#15 (byte*) print_line_cursor#3 +Redundant Phi (byte*) print_char_cursor#100 (byte*) print_line_cursor#3 +Redundant Phi (byte*) print_char_cursor#101 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_char_cursor#102 (byte*) print_char_cursor#6 +Redundant Phi (byte*) print_line_cursor#105 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#103 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#104 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_char_cursor#105 (byte*) print_char_cursor#6 +Redundant Phi (byte*) print_line_cursor#106 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#106 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#107 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_char_cursor#108 (byte*) print_char_cursor#6 +Redundant Phi (byte*) print_line_cursor#107 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#109 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#110 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_char_cursor#111 (byte*) print_char_cursor#6 +Redundant Phi (byte*) print_line_cursor#108 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#112 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#113 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_char_cursor#114 (byte*) print_char_cursor#10 +Redundant Phi (byte*) print_line_cursor#109 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#115 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#116 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_char_cursor#117 (byte*) print_char_cursor#10 +Redundant Phi (byte*) print_line_cursor#110 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#118 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#119 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_char_cursor#120 (byte*) print_char_cursor#10 +Redundant Phi (byte*) print_line_cursor#111 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#121 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#122 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_char_cursor#123 (byte*) print_char_cursor#10 +Redundant Phi (byte*) print_line_cursor#112 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#124 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#125 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_char_cursor#126 (byte*) print_char_cursor#6 +Redundant Phi (byte*) print_line_cursor#113 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#127 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#128 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_char_cursor#129 (byte*) print_char_cursor#10 +Redundant Phi (byte*) print_line_cursor#114 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#130 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#131 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_char_cursor#132 (byte*) print_char_cursor#10 +Redundant Phi (byte*) print_line_cursor#115 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#133 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#134 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_char_cursor#135 (byte*) print_char_cursor#10 +Redundant Phi (byte*) print_line_cursor#116 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#136 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#137 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_char_cursor#138 (byte*) print_char_cursor#10 +Redundant Phi (byte*) print_line_cursor#29 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_char_cursor#139 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_line_cursor#31 (byte*) print_line_cursor#15 +Redundant Phi (byte*) print_char_cursor#141 (byte*) print_char_cursor#100 +Successful SSA optimization Pass2RedundantPhiElimination +Redundant Phi (byte*) print_char_cursor#144 (byte*) print_char_cursor#142 +Redundant Phi (byte*) print_screen#1 (byte*) print_line_cursor#0 +Redundant Phi (byte*) print_char_cursor#149 (byte*) print_line_cursor#1 +Redundant Phi (byte*) print_line_cursor#104 (byte*) print_line_cursor#1 +Successful SSA optimization Pass2RedundantPhiElimination +Simple Condition (bool~) mul8u::$0 [5] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 +Simple Condition (bool~) mul8u::$3 [10] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 +Simple Condition (bool~) print_str::$0 [30] if(*((byte*) print_str::str#18)!=(byte) '@') goto print_str::@2 +Simple Condition (bool~) print_ln::$1 [43] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#143) goto print_ln::@1 +Simple Condition (bool~) print_cls::$1 [93] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 +Simple Condition (bool~) main::$21 [219] if((byte~) main::$20==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@2 +Simple Condition (bool~) main::$23 [258] if((byte~) main::$22==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@8 +Successful SSA optimization Pass2ConditionalJumpSimplification +Constant (const word) mul8u::res#0 = 0 +Constant (const byte*) print_line_cursor#0 = ((byte*))$400 +Constant (const byte[]) print_hextab#0 = $3 +Constant (const byte*) CIA1_PORT_A#0 = ((byte*))$dc00 +Constant (const byte*) CIA1_PORT_B#0 = ((byte*))$dc01 +Constant (const byte*) CIA1_PORT_A_DDR#0 = ((byte*))$dc02 +Constant (const byte*) CIA1_PORT_B_DDR#0 = ((byte*))$dc03 +Constant (const byte) KEY_SPACE#0 = $3c +Constant (const byte[8]) keyboard_matrix_row_bitmask#0 = { $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f } +Constant (const byte[8]) keyboard_matrix_col_bitmask#0 = { 1, 2, 4, 8, $10, $20, $40, $80 } +Constant (const byte) ENTRY_SIZE#0 = $12 +Constant (const byte) MAX_FILES#0 = $90 +Constant (const byte) main::fileEntry1_idx#0 = 1 +Constant (const byte) main::fileEntry2_idx#0 = 2 +Constant (const byte) initEntry::n#0 = 0 +Constant (const byte) initEntry::n#1 = $80 +Constant (const byte*) print_str::str#1 = main::str +Constant (const byte*) print_str::str#2 = main::str1 +Constant (const byte*) print_str::str#3 = main::str2 +Constant (const byte*) print_str::str#4 = main::str3 +Constant (const byte*) print_str::str#5 = printEntry::str +Constant (const byte*) print_str::str#6 = printEntry::str1 +Constant (const byte*) print_str::str#7 = printEntry::str2 +Constant (const byte*) print_str::str#8 = printEntry::str3 +Constant (const byte*) print_str::str#9 = printEntry::str4 +Constant (const byte*) print_str::str#10 = printEntry::str5 +Constant (const byte*) print_str::str#11 = printEntry::str6 +Constant (const byte*) print_str::str#12 = printEntry::str7 +Constant (const byte*) print_str::str#13 = printEntry::str8 +Constant (const byte*) print_str::str#14 = printEntry::str9 +Constant (const byte*) print_str::str#15 = printEntry::str10 +Constant (const byte*) print_str::str#16 = printEntry::str11 +Constant (const byte*) print_str::str#17 = printEntry::str12 +Successful SSA optimization Pass2ConstantIdentification +Constant (const byte*) print_cls::sc#0 = print_line_cursor#0 +Constant (const byte*) print_cls::$0 = print_line_cursor#0+$3e8 +Constant (const word) $1 = ((word))MAX_FILES#0 +Constant (const byte) mul8u::a#1 = main::fileEntry1_idx#0 +Constant (const byte) mul8u::b#0 = ENTRY_SIZE#0 +Constant (const byte) mul8u::a#2 = main::fileEntry2_idx#0 +Constant (const byte) mul8u::b#1 = ENTRY_SIZE#0 +Constant (const byte) keyboard_key_pressed::key#0 = KEY_SPACE#0 +Constant (const byte) keyboard_key_pressed::key#1 = KEY_SPACE#0 +Successful SSA optimization Pass2ConstantIdentification +Constant (const word) $2 = $1*ENTRY_SIZE#0 +Successful SSA optimization Pass2ConstantIdentification +Constant (const byte[$2]) files#0 = { fill( $2, 0) } +Successful SSA optimization Pass2ConstantIdentification +Removed zero-constant in assignment initEntry::entryBufDisk1_$0#0 +Removed zero-constant in assignment printEntry::entryBufDisk1_$0#0 +Successful SSA optimization Pass2ConstantStringConsolidation +Eliminating Noop Cast (word) print_word::w#0 ← ((word)) *((byte**) printEntry::entryBufDisk1_return#0) +Eliminating Noop Cast (word) print_word::w#1 ← ((word)) *((byte**) printEntry::entryBufEdit1_return#0) +Eliminating Noop Cast (word) print_word::w#3 ← ((word)) *((word**) printEntry::entryTsOrder1_return#0) +Successful SSA optimization Pass2NopCastElimination +Culled Empty Block (label) mul8u::@3 +Culled Empty Block (label) @5 +Culled Empty Block (label) print_ln::@2 +Culled Empty Block (label) print_word::@2 +Culled Empty Block (label) @17 +Culled Empty Block (label) print_byte::@2 +Culled Empty Block (label) print_cls::@2 +Culled Empty Block (label) @24 +Culled Empty Block (label) @28 +Culled Empty Block (label) @35 +Culled Empty Block (label) main::@15 +Culled Empty Block (label) main::fileEntry1_@return +Culled Empty Block (label) main::@13 +Culled Empty Block (label) main::fileEntry2_@return +Culled Empty Block (label) main::@26 +Culled Empty Block (label) main::@2 +Culled Empty Block (label) main::@34 +Culled Empty Block (label) main::@8 +Culled Empty Block (label) main::@36 +Culled Empty Block (label) initEntry::entryBufDisk1_@return +Culled Empty Block (label) initEntry::entryBufEdit1_@return +Culled Empty Block (label) initEntry::entryTsLen1_@return +Culled Empty Block (label) initEntry::entryTsOrder1_@return +Culled Empty Block (label) initEntry::entryTLastLink1_@return +Culled Empty Block (label) initEntry::entrySLastLink1_@return +Culled Empty Block (label) initEntry::entryBFlag1_@return +Culled Empty Block (label) initEntry::entryBError1_@return +Culled Empty Block (label) initEntry::entryUCross1_@return +Culled Empty Block (label) initEntry::entryBAddrLo1_@return +Culled Empty Block (label) initEntry::entryBAddrHi1_@return +Culled Empty Block (label) initEntry::entryTHi1_@return +Culled Empty Block (label) initEntry::entryTLo1_@return +Culled Empty Block (label) printEntry::@14 +Culled Empty Block (label) printEntry::entryBufDisk1_@return +Culled Empty Block (label) printEntry::@17 +Culled Empty Block (label) printEntry::entryBufEdit1_@return +Culled Empty Block (label) printEntry::@20 +Culled Empty Block (label) printEntry::entryTsLen1_@return +Culled Empty Block (label) printEntry::@23 +Culled Empty Block (label) printEntry::entryTsOrder1_@return +Culled Empty Block (label) printEntry::@26 +Culled Empty Block (label) printEntry::entryTLastLink1_@return +Culled Empty Block (label) printEntry::@29 +Culled Empty Block (label) printEntry::entrySLastLink1_@return +Culled Empty Block (label) printEntry::@32 +Culled Empty Block (label) printEntry::entryBFlag1_@return +Culled Empty Block (label) printEntry::@35 +Culled Empty Block (label) printEntry::entryBError1_@return +Culled Empty Block (label) printEntry::@38 +Culled Empty Block (label) printEntry::entryUCross1_@return +Culled Empty Block (label) printEntry::@41 +Culled Empty Block (label) printEntry::entryBAddrLo1_@return +Culled Empty Block (label) printEntry::@44 +Culled Empty Block (label) printEntry::entryBAddrHi1_@return +Culled Empty Block (label) printEntry::@47 +Culled Empty Block (label) printEntry::entryTHi1_@return +Culled Empty Block (label) printEntry::@50 +Culled Empty Block (label) printEntry::entryTLo1_@return +Culled Empty Block (label) printEntry::@52 +Culled Empty Block (label) @53 +Successful SSA optimization Pass2CullEmptyBlocks +Alias (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#10 +Alias (byte*) printEntry::entryBufDisk1_$0#0 = (byte*) printEntry::entry#10 +Successful SSA optimization Pass2AliasElimination +Inlining constant with var siblings (const word) mul8u::res#0 +Inlining constant with var siblings (const byte) mul8u::a#1 +Inlining constant with var siblings (const byte) mul8u::b#0 +Inlining constant with var siblings (const byte) mul8u::a#2 +Inlining constant with var siblings (const byte) mul8u::b#1 +Inlining constant with var siblings (const byte*) print_str::str#1 +Inlining constant with var siblings (const byte*) print_str::str#2 +Inlining constant with var siblings (const byte*) print_str::str#3 +Inlining constant with var siblings (const byte*) print_str::str#4 +Inlining constant with var siblings (const byte*) print_str::str#5 +Inlining constant with var siblings (const byte*) print_str::str#6 +Inlining constant with var siblings (const byte*) print_str::str#7 +Inlining constant with var siblings (const byte*) print_str::str#8 +Inlining constant with var siblings (const byte*) print_str::str#9 +Inlining constant with var siblings (const byte*) print_str::str#10 +Inlining constant with var siblings (const byte*) print_str::str#11 +Inlining constant with var siblings (const byte*) print_str::str#12 +Inlining constant with var siblings (const byte*) print_str::str#13 +Inlining constant with var siblings (const byte*) print_str::str#14 +Inlining constant with var siblings (const byte*) print_str::str#15 +Inlining constant with var siblings (const byte*) print_str::str#16 +Inlining constant with var siblings (const byte*) print_str::str#17 +Inlining constant with var siblings (const byte*) print_cls::sc#0 +Inlining constant with var siblings (const byte) keyboard_key_pressed::key#0 +Inlining constant with var siblings (const byte) keyboard_key_pressed::key#1 +Inlining constant with var siblings (const byte) initEntry::n#0 +Inlining constant with var siblings (const byte) initEntry::n#1 +Inlining constant with var siblings (const byte*) print_line_cursor#0 +Constant inlined print_cls::$0 = ((byte*))(word/signed word/dword/signed dword) $400+(word/signed word/dword/signed dword) $3e8 +Constant inlined main::str3 = (const string) main::str1 +Constant inlined print_str::str#13 = (const string) printEntry::str8 +Constant inlined print_str::str#12 = (const string) printEntry::str7 +Constant inlined print_str::str#11 = (const string) printEntry::str6 +Constant inlined print_str::str#10 = (const string) printEntry::str5 +Constant inlined print_str::str#17 = (const string) printEntry::str12 +Constant inlined $1 = ((word))(const byte) MAX_FILES#0 +Constant inlined print_str::str#16 = (const string) printEntry::str11 +Constant inlined $2 = ((word))(const byte) MAX_FILES#0*(const byte) ENTRY_SIZE#0 +Constant inlined print_str::str#15 = (const string) printEntry::str10 +Constant inlined print_str::str#14 = (const string) printEntry::str9 +Constant inlined $3 = (const byte[]) print_hextab#0 +Constant inlined initEntry::n#1 = (byte/word/signed word/dword/signed dword) $80 +Constant inlined initEntry::n#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined keyboard_key_pressed::key#0 = (const byte) KEY_SPACE#0 +Constant inlined keyboard_key_pressed::key#1 = (const byte) KEY_SPACE#0 +Constant inlined print_line_cursor#0 = ((byte*))(word/signed word/dword/signed dword) $400 +Constant inlined print_cls::sc#0 = ((byte*))(word/signed word/dword/signed dword) $400 +Constant inlined print_str::str#9 = (const string) printEntry::str4 +Constant inlined mul8u::res#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined mul8u::a#2 = (const byte) main::fileEntry2_idx#0 +Constant inlined mul8u::b#1 = (const byte) ENTRY_SIZE#0 +Constant inlined mul8u::a#1 = (const byte) main::fileEntry1_idx#0 +Constant inlined mul8u::b#0 = (const byte) ENTRY_SIZE#0 +Constant inlined print_str::str#4 = (const string) main::str1 +Constant inlined print_str::str#3 = (const string) main::str2 +Constant inlined print_str::str#2 = (const string) main::str1 +Constant inlined print_str::str#1 = (const string) main::str +Constant inlined print_str::str#8 = (const string) printEntry::str3 +Constant inlined print_str::str#7 = (const string) printEntry::str2 +Constant inlined print_str::str#6 = (const string) printEntry::str1 +Constant inlined print_str::str#5 = (const string) printEntry::str +Successful SSA optimization Pass2ConstantInlining +Identical Phi Values (byte) mul8u::b#2 (const byte) ENTRY_SIZE#0 +Identical Phi Values (byte) keyboard_key_pressed::key#2 (const byte) KEY_SPACE#0 +Successful SSA optimization Pass2IdenticalPhiElimination +Constant (const word) mul8u::mb#0 = ((word))ENTRY_SIZE#0 +Constant (const byte) keyboard_key_pressed::colidx#0 = KEY_SPACE#0&7 +Constant (const byte) keyboard_key_pressed::rowidx#0 = KEY_SPACE#0>>3 +Successful SSA optimization Pass2ConstantIdentification +Constant (const byte) keyboard_matrix_read::rowid#0 = keyboard_key_pressed::rowidx#0 +Successful SSA optimization Pass2ConstantIdentification +Consolidated array index constant in *(keyboard_matrix_row_bitmask#0+keyboard_matrix_read::rowid#0) +Consolidated array index constant in *(keyboard_matrix_col_bitmask#0+keyboard_key_pressed::colidx#0) +Successful SSA optimization Pass2ConstantAdditionElimination +Inlining constant with var siblings (const word) mul8u::mb#0 +Constant inlined mul8u::mb#0 = ((word))(const byte) ENTRY_SIZE#0 +Constant inlined keyboard_matrix_read::rowid#0 = (const byte) keyboard_key_pressed::rowidx#0 +Successful SSA optimization Pass2ConstantInlining +Added new block during phi lifting print_cls::@3(between print_cls::@1 and print_cls::@1) +Added new block during phi lifting print_ln::@3(between print_ln::@1 and print_ln::@1) +Added new block during phi lifting mul8u::@10(between mul8u::@2 and mul8u::@4) +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @52 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +Adding NOP phi() at start of main::fileEntry1 +Adding NOP phi() at start of main::fileEntry2 +Adding NOP phi() at start of main::@19 +Adding NOP phi() at start of main::@20 +Adding NOP phi() at start of main::@1 +Adding NOP phi() at start of main::@3 +Adding NOP phi() at start of main::@28 +Adding NOP phi() at start of main::@7 +Adding NOP phi() at start of main::@9 +Adding NOP phi() at start of print_cls +Adding NOP phi() at start of keyboard_key_pressed +CALL GRAPH +Calls in [] to main:2 +Calls in [main] to keyboard_init:5 mul8u:7 mul8u:12 initEntry:18 initEntry:21 print_cls:23 print_str:25 print_ln:27 print_ln:30 printEntry:33 print_ln:36 print_str:38 keyboard_key_pressed:40 print_cls:45 print_str:47 print_ln:49 print_ln:52 printEntry:55 print_ln:58 print_str:60 keyboard_key_pressed:62 print_cls:67 +Calls in [keyboard_key_pressed] to keyboard_matrix_read:77 +Calls in [printEntry] to print_str:105 print_word:108 print_ln:111 print_str:113 print_word:117 print_ln:120 print_str:122 print_word:127 print_ln:130 print_str:132 print_word:136 print_ln:139 print_str:141 print_byte:146 print_ln:149 print_str:151 print_byte:156 print_ln:159 print_str:161 print_byte:166 print_ln:169 print_str:171 print_byte:176 print_ln:179 print_str:181 print_word:186 print_ln:189 print_str:191 print_byte:196 print_ln:199 print_str:201 print_byte:206 print_ln:209 print_str:211 print_byte:216 print_ln:219 print_str:221 print_byte:226 print_ln:229 +Calls in [print_byte] to print_char:236 print_char:241 +Calls in [print_word] to print_byte:251 print_byte:255 + +Created 21 initial phi equivalence classes +Coalesced [17] initEntry::entryBufDisk1_$0#1 ← initEntry::entry#0 +Coalesced [20] initEntry::entryBufDisk1_$0#2 ← initEntry::entry#1 +Coalesced [26] print_char_cursor#229 ← print_char_cursor#142 +Not coalescing [28] print_line_cursor#159 ← print_line_cursor#1 +Not coalescing [29] print_char_cursor#230 ← print_line_cursor#1 +Coalesced [32] printEntry::entryBufDisk1_$0#1 ← printEntry::entry#0 +Not coalescing [34] print_line_cursor#160 ← print_line_cursor#1 +Not coalescing [35] print_char_cursor#231 ← print_line_cursor#1 +Not coalescing [37] print_char_cursor#212 ← print_line_cursor#1 +Coalesced (already) [48] print_char_cursor#232 ← print_char_cursor#142 +Not coalescing [50] print_line_cursor#161 ← print_line_cursor#1 +Not coalescing [51] print_char_cursor#233 ← print_line_cursor#1 +Coalesced [54] printEntry::entryBufDisk1_$0#2 ← printEntry::entry#1 +Not coalescing [56] print_line_cursor#162 ← print_line_cursor#1 +Not coalescing [57] print_char_cursor#234 ← print_line_cursor#1 +Not coalescing [59] print_char_cursor#213 ← print_line_cursor#1 +Coalesced [75] print_cls::sc#3 ← print_cls::sc#1 +Coalesced [86] print_str::str#21 ← print_str::str#20 +Coalesced [87] print_char_cursor#227 ← print_char_cursor#164 +Coalesced [94] print_str::str#22 ← print_str::str#0 +Coalesced [95] print_char_cursor#228 ← print_char_cursor#1 +Coalesced [97] print_line_cursor#176 ← print_line_cursor#63 +Not coalescing [102] print_line_cursor#177 ← print_line_cursor#1 +Not coalescing [104] print_char_cursor#214 ← print_line_cursor#1 +Not coalescing [109] print_line_cursor#163 ← print_line_cursor#1 +Coalesced [110] print_char_cursor#235 ← print_char_cursor#11 +Not coalescing [112] print_char_cursor#215 ← print_line_cursor#1 +Not coalescing [118] print_line_cursor#164 ← print_line_cursor#1 +Coalesced (already) [119] print_char_cursor#236 ← print_char_cursor#11 +Not coalescing [121] print_char_cursor#216 ← print_line_cursor#1 +Coalesced [126] print_word::w#9 ← print_word::w#2 +Not coalescing [128] print_line_cursor#165 ← print_line_cursor#1 +Coalesced (already) [129] print_char_cursor#237 ← print_char_cursor#11 +Not coalescing [131] print_char_cursor#217 ← print_line_cursor#1 +Not coalescing [137] print_line_cursor#166 ← print_line_cursor#1 +Coalesced (already) [138] print_char_cursor#238 ← print_char_cursor#11 +Not coalescing [140] print_char_cursor#218 ← print_line_cursor#1 +Coalesced [144] print_byte::b#16 ← print_byte::b#2 +Coalesced [145] print_char_cursor#252 ← print_char_cursor#142 +Not coalescing [147] print_line_cursor#167 ← print_line_cursor#1 +Coalesced (already) [148] print_char_cursor#239 ← print_char_cursor#11 +Not coalescing [150] print_char_cursor#219 ← print_line_cursor#1 +Coalesced [154] print_byte::b#17 ← print_byte::b#3 +Coalesced (already) [155] print_char_cursor#253 ← print_char_cursor#142 +Not coalescing [157] print_line_cursor#168 ← print_line_cursor#1 +Coalesced (already) [158] print_char_cursor#240 ← print_char_cursor#11 +Not coalescing [160] print_char_cursor#220 ← print_line_cursor#1 +Coalesced [164] print_byte::b#18 ← print_byte::b#4 +Coalesced (already) [165] print_char_cursor#254 ← print_char_cursor#142 +Not coalescing [167] print_line_cursor#169 ← print_line_cursor#1 +Coalesced (already) [168] print_char_cursor#241 ← print_char_cursor#11 +Not coalescing [170] print_char_cursor#221 ← print_line_cursor#1 +Coalesced [174] print_byte::b#19 ← print_byte::b#5 +Coalesced (already) [175] print_char_cursor#255 ← print_char_cursor#142 +Not coalescing [177] print_line_cursor#170 ← print_line_cursor#1 +Coalesced (already) [178] print_char_cursor#242 ← print_char_cursor#11 +Not coalescing [180] print_char_cursor#222 ← print_line_cursor#1 +Coalesced [185] print_word::w#11 ← print_word::w#4 +Not coalescing [187] print_line_cursor#171 ← print_line_cursor#1 +Coalesced (already) [188] print_char_cursor#243 ← print_char_cursor#11 +Not coalescing [190] print_char_cursor#223 ← print_line_cursor#1 +Coalesced [194] print_byte::b#12 ← print_byte::b#6 +Coalesced (already) [195] print_char_cursor#248 ← print_char_cursor#142 +Not coalescing [197] print_line_cursor#172 ← print_line_cursor#1 +Coalesced (already) [198] print_char_cursor#244 ← print_char_cursor#11 +Not coalescing [200] print_char_cursor#224 ← print_line_cursor#1 +Coalesced [204] print_byte::b#13 ← print_byte::b#7 +Coalesced (already) [205] print_char_cursor#249 ← print_char_cursor#142 +Not coalescing [207] print_line_cursor#173 ← print_line_cursor#1 +Coalesced (already) [208] print_char_cursor#245 ← print_char_cursor#11 +Not coalescing [210] print_char_cursor#225 ← print_line_cursor#1 +Coalesced [214] print_byte::b#14 ← print_byte::b#8 +Coalesced (already) [215] print_char_cursor#250 ← print_char_cursor#142 +Not coalescing [217] print_line_cursor#174 ← print_line_cursor#1 +Coalesced (already) [218] print_char_cursor#246 ← print_char_cursor#11 +Not coalescing [220] print_char_cursor#226 ← print_line_cursor#1 +Coalesced [224] print_byte::b#15 ← print_byte::b#9 +Coalesced (already) [225] print_char_cursor#251 ← print_char_cursor#142 +Not coalescing [227] print_line_cursor#175 ← print_line_cursor#1 +Coalesced (already) [228] print_char_cursor#247 ← print_char_cursor#11 +Coalesced [234] print_char::ch#3 ← print_char::ch#0 +Coalesced [235] print_char_cursor#258 ← print_char_cursor#145 +Coalesced [239] print_char::ch#4 ← print_char::ch#1 +Coalesced (already) [240] print_char_cursor#259 ← print_char_cursor#11 +Coalesced [249] print_byte::b#20 ← print_byte::b#0 +Coalesced (already) [250] print_char_cursor#256 ← print_char_cursor#142 +Coalesced [253] print_byte::b#21 ← print_byte::b#1 +Coalesced (already) [254] print_char_cursor#257 ← print_char_cursor#11 +Coalesced [303] mul8u::a#8 ← mul8u::a#6 +Coalesced [310] mul8u::res#9 ← mul8u::res#1 +Coalesced [314] mul8u::a#9 ← mul8u::a#0 +Coalesced [315] mul8u::res#7 ← mul8u::res#6 +Coalesced [316] mul8u::mb#6 ← mul8u::mb#1 +Coalesced (already) [317] mul8u::res#8 ← mul8u::res#2 +Coalesced down to 14 phi equivalence classes +Culled Empty Block (label) print_cls::@3 +Culled Empty Block (label) mul8u::@10 +Renumbering block @52 to @1 +Renumbering block mul8u::@4 to mul8u::@3 +Renumbering block mul8u::@7 to mul8u::@4 +Renumbering block print_ln::@3 to print_ln::@2 +Renumbering block keyboard_key_pressed::@2 to keyboard_key_pressed::@1 +Renumbering block main::@3 to main::@2 +Renumbering block main::@7 to main::@3 +Renumbering block main::@9 to main::@4 +Renumbering block main::@14 to main::@5 +Renumbering block main::@16 to main::@6 +Renumbering block main::@17 to main::@7 +Renumbering block main::@18 to main::@8 +Renumbering block main::@19 to main::@9 +Renumbering block main::@20 to main::@10 +Renumbering block main::@21 to main::@11 +Renumbering block main::@22 to main::@12 +Renumbering block main::@23 to main::@13 +Renumbering block main::@24 to main::@14 +Renumbering block main::@25 to main::@15 +Renumbering block main::@27 to main::@16 +Renumbering block main::@28 to main::@17 +Renumbering block main::@29 to main::@18 +Renumbering block main::@30 to main::@19 +Renumbering block main::@31 to main::@20 +Renumbering block main::@32 to main::@21 +Renumbering block main::@33 to main::@22 +Renumbering block main::@35 to main::@23 +Renumbering block printEntry::@15 to printEntry::@14 +Renumbering block printEntry::@16 to printEntry::@15 +Renumbering block printEntry::@18 to printEntry::@16 +Renumbering block printEntry::@19 to printEntry::@17 +Renumbering block printEntry::@21 to printEntry::@18 +Renumbering block printEntry::@22 to printEntry::@19 +Renumbering block printEntry::@24 to printEntry::@20 +Renumbering block printEntry::@25 to printEntry::@21 +Renumbering block printEntry::@27 to printEntry::@22 +Renumbering block printEntry::@28 to printEntry::@23 +Renumbering block printEntry::@30 to printEntry::@24 +Renumbering block printEntry::@31 to printEntry::@25 +Renumbering block printEntry::@33 to printEntry::@26 +Renumbering block printEntry::@34 to printEntry::@27 +Renumbering block printEntry::@36 to printEntry::@28 +Renumbering block printEntry::@37 to printEntry::@29 +Renumbering block printEntry::@39 to printEntry::@30 +Renumbering block printEntry::@40 to printEntry::@31 +Renumbering block printEntry::@42 to printEntry::@32 +Renumbering block printEntry::@43 to printEntry::@33 +Renumbering block printEntry::@45 to printEntry::@34 +Renumbering block printEntry::@46 to printEntry::@35 +Renumbering block printEntry::@48 to printEntry::@36 +Renumbering block printEntry::@49 to printEntry::@37 +Renumbering block printEntry::@51 to printEntry::@38 +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @1 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +Adding NOP phi() at start of main::fileEntry1 +Adding NOP phi() at start of main::fileEntry2 +Adding NOP phi() at start of main::@9 +Adding NOP phi() at start of main::@10 +Adding NOP phi() at start of main::@11 +Adding NOP phi() at start of main::@1 +Adding NOP phi() at start of main::@2 +Adding NOP phi() at start of main::@17 +Adding NOP phi() at start of main::@18 +Adding NOP phi() at start of main::@3 +Adding NOP phi() at start of main::@4 +Adding NOP phi() at start of print_cls +Adding NOP phi() at start of keyboard_key_pressed + +FINAL CONTROL FLOW GRAPH +@begin: scope:[] from + [0] phi() + to:@1 +@1: scope:[] from @begin + [1] phi() + [2] call main + to:@end +@end: scope:[] from @1 + [3] phi() +main: scope:[main] from @1 + [4] phi() + [5] call keyboard_init + to:main::fileEntry1 +main::fileEntry1: scope:[main] from main + [6] phi() + [7] call mul8u + [8] (word) mul8u::return#2 ← (word) mul8u::res#2 + to:main::@6 +main::@6: scope:[main] from main::fileEntry1 + [9] (word) main::fileEntry1_$0#0 ← (word) mul8u::return#2 + [10] (byte*) main::entry1#0 ← (const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 + (word) main::fileEntry1_$0#0 + to:main::fileEntry2 +main::fileEntry2: scope:[main] from main::@6 + [11] phi() + [12] call mul8u + [13] (word) mul8u::return#3 ← (word) mul8u::res#2 + to:main::@7 +main::@7: scope:[main] from main::fileEntry2 + [14] (word) main::fileEntry2_$0#0 ← (word) mul8u::return#3 + [15] (byte*) main::entry2#0 ← (const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 + (word) main::fileEntry2_$0#0 + to:main::@5 +main::@5: scope:[main] from main::@7 + [16] (byte*) initEntry::entry#0 ← (byte*) main::entry1#0 + [17] call initEntry + to:main::@8 +main::@8: scope:[main] from main::@5 + [18] (byte*) initEntry::entry#1 ← (byte*) main::entry2#0 + [19] call initEntry + to:main::@9 +main::@9: scope:[main] from main::@8 + [20] phi() + [21] call print_cls + to:main::@10 +main::@10: scope:[main] from main::@9 + [22] phi() + [23] call print_str + to:main::@11 +main::@11: scope:[main] from main::@10 + [24] phi() + [25] call print_ln + to:main::@12 +main::@12: scope:[main] from main::@11 + [26] (byte*~) print_line_cursor#159 ← (byte*) print_line_cursor#1 + [27] (byte*~) print_char_cursor#230 ← (byte*) print_line_cursor#1 + [28] call print_ln + to:main::@13 +main::@13: scope:[main] from main::@12 + [29] (byte*) printEntry::entry#0 ← (byte*) main::entry1#0 + [30] call printEntry + to:main::@14 +main::@14: scope:[main] from main::@13 + [31] (byte*~) print_line_cursor#160 ← (byte*) print_line_cursor#1 + [32] (byte*~) print_char_cursor#231 ← (byte*) print_line_cursor#1 + [33] call print_ln + to:main::@15 +main::@15: scope:[main] from main::@14 + [34] (byte*~) print_char_cursor#212 ← (byte*) print_line_cursor#1 + [35] call print_str + to:main::@1 +main::@1: scope:[main] from main::@15 main::@16 + [36] phi() + [37] call keyboard_key_pressed + [38] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 + to:main::@16 +main::@16: scope:[main] from main::@1 + [39] (byte~) main::$20 ← (byte) keyboard_key_pressed::return#2 + [40] if((byte~) main::$20==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@1 + to:main::@2 +main::@2: scope:[main] from main::@16 + [41] phi() + [42] call print_cls + to:main::@17 +main::@17: scope:[main] from main::@2 + [43] phi() + [44] call print_str + to:main::@18 +main::@18: scope:[main] from main::@17 + [45] phi() + [46] call print_ln + to:main::@19 +main::@19: scope:[main] from main::@18 + [47] (byte*~) print_line_cursor#161 ← (byte*) print_line_cursor#1 + [48] (byte*~) print_char_cursor#233 ← (byte*) print_line_cursor#1 + [49] call print_ln + to:main::@20 +main::@20: scope:[main] from main::@19 + [50] (byte*) printEntry::entry#1 ← (byte*) main::entry2#0 + [51] call printEntry + to:main::@21 +main::@21: scope:[main] from main::@20 + [52] (byte*~) print_line_cursor#162 ← (byte*) print_line_cursor#1 + [53] (byte*~) print_char_cursor#234 ← (byte*) print_line_cursor#1 + [54] call print_ln + to:main::@22 +main::@22: scope:[main] from main::@21 + [55] (byte*~) print_char_cursor#213 ← (byte*) print_line_cursor#1 + [56] call print_str + to:main::@3 +main::@3: scope:[main] from main::@22 main::@23 + [57] phi() + [58] call keyboard_key_pressed + [59] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 + to:main::@23 +main::@23: scope:[main] from main::@3 + [60] (byte~) main::$22 ← (byte) keyboard_key_pressed::return#3 + [61] if((byte~) main::$22==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@3 + to:main::@4 +main::@4: scope:[main] from main::@23 + [62] phi() + [63] call print_cls + to:main::@return +main::@return: scope:[main] from main::@4 + [64] return + to:@return +print_cls: scope:[print_cls] from main::@2 main::@4 main::@9 + [65] phi() + to:print_cls::@1 +print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 + [66] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word/dword/signed dword) $400 print_cls::@1/(byte*) print_cls::sc#1 ) + [67] *((byte*) print_cls::sc#2) ← (byte) ' ' + [68] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 + [69] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) $400+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 + to:print_cls::@return +print_cls::@return: scope:[print_cls] from print_cls::@1 + [70] return + to:@return +keyboard_key_pressed: scope:[keyboard_key_pressed] from main::@1 main::@3 + [71] phi() + [72] call keyboard_matrix_read + [73] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 + to:keyboard_key_pressed::@1 +keyboard_key_pressed::@1: scope:[keyboard_key_pressed] from keyboard_key_pressed + [74] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 + [75] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[8]) keyboard_matrix_col_bitmask#0+(const byte) keyboard_key_pressed::colidx#0) + to:keyboard_key_pressed::@return +keyboard_key_pressed::@return: scope:[keyboard_key_pressed] from keyboard_key_pressed::@1 + [76] return + to:@return +keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_key_pressed + [77] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0+(const byte) keyboard_key_pressed::rowidx#0) + [78] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) + to:keyboard_matrix_read::@return +keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matrix_read + [79] return + to:@return +print_str: scope:[print_str] from main::@10 main::@15 main::@17 main::@22 printEntry printEntry::@15 printEntry::@17 printEntry::@19 printEntry::@21 printEntry::@23 printEntry::@25 printEntry::@27 printEntry::@29 printEntry::@31 printEntry::@33 printEntry::@35 printEntry::@37 + [80] (byte*) print_char_cursor#164 ← phi( main::@10/((byte*))(word/signed word/dword/signed dword) $400 main::@15/(byte*~) print_char_cursor#212 main::@17/((byte*))(word/signed word/dword/signed dword) $400 main::@22/(byte*~) print_char_cursor#213 printEntry/(byte*~) print_char_cursor#214 printEntry::@15/(byte*~) print_char_cursor#215 printEntry::@17/(byte*~) print_char_cursor#216 printEntry::@19/(byte*~) print_char_cursor#217 printEntry::@21/(byte*~) print_char_cursor#218 printEntry::@23/(byte*~) print_char_cursor#219 printEntry::@25/(byte*~) print_char_cursor#220 printEntry::@27/(byte*~) print_char_cursor#221 printEntry::@29/(byte*~) print_char_cursor#222 printEntry::@31/(byte*~) print_char_cursor#223 printEntry::@33/(byte*~) print_char_cursor#224 printEntry::@35/(byte*~) print_char_cursor#225 printEntry::@37/(byte*~) print_char_cursor#226 ) + [80] (byte*) print_str::str#20 ← phi( main::@10/(const string) main::str main::@15/(const string) main::str1 main::@17/(const string) main::str2 main::@22/(const string) main::str1 printEntry/(const string) printEntry::str printEntry::@15/(const string) printEntry::str1 printEntry::@17/(const string) printEntry::str2 printEntry::@19/(const string) printEntry::str3 printEntry::@21/(const string) printEntry::str4 printEntry::@23/(const string) printEntry::str5 printEntry::@25/(const string) printEntry::str6 printEntry::@27/(const string) printEntry::str7 printEntry::@29/(const string) printEntry::str8 printEntry::@31/(const string) printEntry::str9 printEntry::@33/(const string) printEntry::str10 printEntry::@35/(const string) printEntry::str11 printEntry::@37/(const string) printEntry::str12 ) + to:print_str::@1 +print_str::@1: scope:[print_str] from print_str print_str::@2 + [81] (byte*) print_char_cursor#142 ← phi( print_str/(byte*) print_char_cursor#164 print_str::@2/(byte*) print_char_cursor#1 ) + [81] (byte*) print_str::str#18 ← phi( print_str/(byte*) print_str::str#20 print_str::@2/(byte*) print_str::str#0 ) + [82] if(*((byte*) print_str::str#18)!=(byte) '@') goto print_str::@2 + to:print_str::@return +print_str::@return: scope:[print_str] from print_str::@1 + [83] return + to:@return +print_str::@2: scope:[print_str] from print_str::@1 + [84] *((byte*) print_char_cursor#142) ← *((byte*) print_str::str#18) + [85] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#142 + [86] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#18 + to:print_str::@1 +print_ln: scope:[print_ln] from main::@11 main::@12 main::@14 main::@18 main::@19 main::@21 printEntry::@14 printEntry::@16 printEntry::@18 printEntry::@20 printEntry::@22 printEntry::@24 printEntry::@26 printEntry::@28 printEntry::@30 printEntry::@32 printEntry::@34 printEntry::@36 printEntry::@38 + [87] (byte*) print_char_cursor#143 ← phi( main::@11/(byte*) print_char_cursor#142 main::@12/(byte*~) print_char_cursor#230 main::@14/(byte*~) print_char_cursor#231 main::@18/(byte*) print_char_cursor#142 main::@19/(byte*~) print_char_cursor#233 main::@21/(byte*~) print_char_cursor#234 printEntry::@14/(byte*) print_char_cursor#11 printEntry::@16/(byte*) print_char_cursor#11 printEntry::@18/(byte*) print_char_cursor#11 printEntry::@20/(byte*) print_char_cursor#11 printEntry::@22/(byte*) print_char_cursor#11 printEntry::@24/(byte*) print_char_cursor#11 printEntry::@26/(byte*) print_char_cursor#11 printEntry::@28/(byte*) print_char_cursor#11 printEntry::@30/(byte*) print_char_cursor#11 printEntry::@32/(byte*) print_char_cursor#11 printEntry::@34/(byte*) print_char_cursor#11 printEntry::@36/(byte*) print_char_cursor#11 printEntry::@38/(byte*) print_char_cursor#11 ) + [87] (byte*) print_line_cursor#63 ← phi( main::@11/((byte*))(word/signed word/dword/signed dword) $400 main::@12/(byte*~) print_line_cursor#159 main::@14/(byte*~) print_line_cursor#160 main::@18/((byte*))(word/signed word/dword/signed dword) $400 main::@19/(byte*~) print_line_cursor#161 main::@21/(byte*~) print_line_cursor#162 printEntry::@14/(byte*~) print_line_cursor#163 printEntry::@16/(byte*~) print_line_cursor#164 printEntry::@18/(byte*~) print_line_cursor#165 printEntry::@20/(byte*~) print_line_cursor#166 printEntry::@22/(byte*~) print_line_cursor#167 printEntry::@24/(byte*~) print_line_cursor#168 printEntry::@26/(byte*~) print_line_cursor#169 printEntry::@28/(byte*~) print_line_cursor#170 printEntry::@30/(byte*~) print_line_cursor#171 printEntry::@32/(byte*~) print_line_cursor#172 printEntry::@34/(byte*~) print_line_cursor#173 printEntry::@36/(byte*~) print_line_cursor#174 printEntry::@38/(byte*~) print_line_cursor#175 ) + to:print_ln::@1 +print_ln::@1: scope:[print_ln] from print_ln print_ln::@2 + [88] (byte*) print_line_cursor#32 ← phi( print_ln/(byte*) print_line_cursor#63 print_ln::@2/(byte*~) print_line_cursor#177 ) + [89] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#32 + (byte/signed byte/word/signed word/dword/signed dword) $28 + [90] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#143) goto print_ln::@2 + to:print_ln::@return +print_ln::@return: scope:[print_ln] from print_ln::@1 + [91] return + to:@return +print_ln::@2: scope:[print_ln] from print_ln::@1 + [92] (byte*~) print_line_cursor#177 ← (byte*) print_line_cursor#1 + to:print_ln::@1 +printEntry: scope:[printEntry] from main::@13 main::@20 + [93] (byte*) printEntry::entryBufDisk1_$0#0 ← phi( main::@13/(byte*) printEntry::entry#0 main::@20/(byte*) printEntry::entry#1 ) + [94] (byte*~) print_char_cursor#214 ← (byte*) print_line_cursor#1 + [95] call print_str + to:printEntry::entryBufDisk1 +printEntry::entryBufDisk1: scope:[printEntry] from printEntry + [96] (byte**) printEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 + to:printEntry::@1 +printEntry::@1: scope:[printEntry] from printEntry::entryBufDisk1 + [97] (word~) print_word::w#7 ← (word)*((byte**) printEntry::entryBufDisk1_return#0) + [98] call print_word + to:printEntry::@14 +printEntry::@14: scope:[printEntry] from printEntry::@1 + [99] (byte*~) print_line_cursor#163 ← (byte*) print_line_cursor#1 + [100] call print_ln + to:printEntry::@15 +printEntry::@15: scope:[printEntry] from printEntry::@14 + [101] (byte*~) print_char_cursor#215 ← (byte*) print_line_cursor#1 + [102] call print_str + to:printEntry::entryBufEdit1 +printEntry::entryBufEdit1: scope:[printEntry] from printEntry::@15 + [103] (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 + [104] (byte**) printEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 + to:printEntry::@2 +printEntry::@2: scope:[printEntry] from printEntry::entryBufEdit1 + [105] (word~) print_word::w#8 ← (word)*((byte**) printEntry::entryBufEdit1_return#0) + [106] call print_word + to:printEntry::@16 +printEntry::@16: scope:[printEntry] from printEntry::@2 + [107] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 + [108] call print_ln + to:printEntry::@17 +printEntry::@17: scope:[printEntry] from printEntry::@16 + [109] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 + [110] call print_str + to:printEntry::entryTsLen1 +printEntry::entryTsLen1: scope:[printEntry] from printEntry::@17 + [111] (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 + [112] (word*) printEntry::entryTsLen1_return#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 + to:printEntry::@3 +printEntry::@3: scope:[printEntry] from printEntry::entryTsLen1 + [113] (word) print_word::w#2 ← *((word*) printEntry::entryTsLen1_return#0) + [114] call print_word + to:printEntry::@18 +printEntry::@18: scope:[printEntry] from printEntry::@3 + [115] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 + [116] call print_ln + to:printEntry::@19 +printEntry::@19: scope:[printEntry] from printEntry::@18 + [117] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 + [118] call print_str + to:printEntry::entryTsOrder1 +printEntry::entryTsOrder1: scope:[printEntry] from printEntry::@19 + [119] (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 + [120] (word**) printEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 + to:printEntry::@4 +printEntry::@4: scope:[printEntry] from printEntry::entryTsOrder1 + [121] (word~) print_word::w#10 ← (word)*((word**) printEntry::entryTsOrder1_return#0) + [122] call print_word + to:printEntry::@20 +printEntry::@20: scope:[printEntry] from printEntry::@4 + [123] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 + [124] call print_ln + to:printEntry::@21 +printEntry::@21: scope:[printEntry] from printEntry::@20 + [125] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 + [126] call print_str + to:printEntry::entryTLastLink1 +printEntry::entryTLastLink1: scope:[printEntry] from printEntry::@21 + [127] (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 + to:printEntry::@5 +printEntry::@5: scope:[printEntry] from printEntry::entryTLastLink1 + [128] (byte) print_byte::b#2 ← *((byte*) printEntry::entryTLastLink1_return#0) + [129] call print_byte + to:printEntry::@22 +printEntry::@22: scope:[printEntry] from printEntry::@5 + [130] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 + [131] call print_ln + to:printEntry::@23 +printEntry::@23: scope:[printEntry] from printEntry::@22 + [132] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 + [133] call print_str + to:printEntry::entrySLastLink1 +printEntry::entrySLastLink1: scope:[printEntry] from printEntry::@23 + [134] (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 + to:printEntry::@6 +printEntry::@6: scope:[printEntry] from printEntry::entrySLastLink1 + [135] (byte) print_byte::b#3 ← *((byte*) printEntry::entrySLastLink1_return#0) + [136] call print_byte + to:printEntry::@24 +printEntry::@24: scope:[printEntry] from printEntry::@6 + [137] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 + [138] call print_ln + to:printEntry::@25 +printEntry::@25: scope:[printEntry] from printEntry::@24 + [139] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 + [140] call print_str + to:printEntry::entryBFlag1 +printEntry::entryBFlag1: scope:[printEntry] from printEntry::@25 + [141] (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a + to:printEntry::@7 +printEntry::@7: scope:[printEntry] from printEntry::entryBFlag1 + [142] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBFlag1_return#0) + [143] call print_byte + to:printEntry::@26 +printEntry::@26: scope:[printEntry] from printEntry::@7 + [144] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 + [145] call print_ln + to:printEntry::@27 +printEntry::@27: scope:[printEntry] from printEntry::@26 + [146] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 + [147] call print_str + to:printEntry::entryBError1 +printEntry::entryBError1: scope:[printEntry] from printEntry::@27 + [148] (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b + to:printEntry::@8 +printEntry::@8: scope:[printEntry] from printEntry::entryBError1 + [149] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBError1_return#0) + [150] call print_byte + to:printEntry::@28 +printEntry::@28: scope:[printEntry] from printEntry::@8 + [151] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 + [152] call print_ln + to:printEntry::@29 +printEntry::@29: scope:[printEntry] from printEntry::@28 + [153] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 + [154] call print_str + to:printEntry::entryUCross1 +printEntry::entryUCross1: scope:[printEntry] from printEntry::@29 + [155] (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c + [156] (word*) printEntry::entryUCross1_return#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 + to:printEntry::@9 +printEntry::@9: scope:[printEntry] from printEntry::entryUCross1 + [157] (word) print_word::w#4 ← *((word*) printEntry::entryUCross1_return#0) + [158] call print_word + to:printEntry::@30 +printEntry::@30: scope:[printEntry] from printEntry::@9 + [159] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 + [160] call print_ln + to:printEntry::@31 +printEntry::@31: scope:[printEntry] from printEntry::@30 + [161] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 + [162] call print_str + to:printEntry::entryBAddrLo1 +printEntry::entryBAddrLo1: scope:[printEntry] from printEntry::@31 + [163] (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e + to:printEntry::@10 +printEntry::@10: scope:[printEntry] from printEntry::entryBAddrLo1 + [164] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBAddrLo1_return#0) + [165] call print_byte + to:printEntry::@32 +printEntry::@32: scope:[printEntry] from printEntry::@10 + [166] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 + [167] call print_ln + to:printEntry::@33 +printEntry::@33: scope:[printEntry] from printEntry::@32 + [168] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 + [169] call print_str + to:printEntry::entryBAddrHi1 +printEntry::entryBAddrHi1: scope:[printEntry] from printEntry::@33 + [170] (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f + to:printEntry::@11 +printEntry::@11: scope:[printEntry] from printEntry::entryBAddrHi1 + [171] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBAddrHi1_return#0) + [172] call print_byte + to:printEntry::@34 +printEntry::@34: scope:[printEntry] from printEntry::@11 + [173] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 + [174] call print_ln + to:printEntry::@35 +printEntry::@35: scope:[printEntry] from printEntry::@34 + [175] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 + [176] call print_str + to:printEntry::entryTHi1 +printEntry::entryTHi1: scope:[printEntry] from printEntry::@35 + [177] (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 + to:printEntry::@12 +printEntry::@12: scope:[printEntry] from printEntry::entryTHi1 + [178] (byte) print_byte::b#8 ← *((byte*) printEntry::entryTHi1_return#0) + [179] call print_byte + to:printEntry::@36 +printEntry::@36: scope:[printEntry] from printEntry::@12 + [180] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 + [181] call print_ln + to:printEntry::@37 +printEntry::@37: scope:[printEntry] from printEntry::@36 + [182] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 + [183] call print_str + to:printEntry::entryTLo1 +printEntry::entryTLo1: scope:[printEntry] from printEntry::@37 + [184] (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 + to:printEntry::@13 +printEntry::@13: scope:[printEntry] from printEntry::entryTLo1 + [185] (byte) print_byte::b#9 ← *((byte*) printEntry::entryTLo1_return#0) + [186] call print_byte + to:printEntry::@38 +printEntry::@38: scope:[printEntry] from printEntry::@13 + [187] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 + [188] call print_ln + to:printEntry::@return +printEntry::@return: scope:[printEntry] from printEntry::@38 + [189] return + to:@return +print_byte: scope:[print_byte] from printEntry::@10 printEntry::@11 printEntry::@12 printEntry::@13 printEntry::@5 printEntry::@6 printEntry::@7 printEntry::@8 print_word print_word::@1 + [190] (byte*) print_char_cursor#145 ← phi( printEntry::@10/(byte*) print_char_cursor#142 printEntry::@11/(byte*) print_char_cursor#142 printEntry::@12/(byte*) print_char_cursor#142 printEntry::@13/(byte*) print_char_cursor#142 printEntry::@5/(byte*) print_char_cursor#142 printEntry::@6/(byte*) print_char_cursor#142 printEntry::@7/(byte*) print_char_cursor#142 printEntry::@8/(byte*) print_char_cursor#142 print_word/(byte*) print_char_cursor#142 print_word::@1/(byte*) print_char_cursor#11 ) + [190] (byte) print_byte::b#10 ← phi( printEntry::@10/(byte) print_byte::b#6 printEntry::@11/(byte) print_byte::b#7 printEntry::@12/(byte) print_byte::b#8 printEntry::@13/(byte) print_byte::b#9 printEntry::@5/(byte) print_byte::b#2 printEntry::@6/(byte) print_byte::b#3 printEntry::@7/(byte) print_byte::b#4 printEntry::@8/(byte) print_byte::b#5 print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 ) + [191] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 + [192] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) + [193] call print_char + to:print_byte::@1 +print_byte::@1: scope:[print_byte] from print_byte + [194] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f + [195] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) + [196] call print_char + to:print_byte::@return +print_byte::@return: scope:[print_byte] from print_byte::@1 + [197] return + to:@return +print_char: scope:[print_char] from print_byte print_byte::@1 + [198] (byte*) print_char_cursor#82 ← phi( print_byte/(byte*) print_char_cursor#145 print_byte::@1/(byte*) print_char_cursor#11 ) + [198] (byte) print_char::ch#2 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 ) + [199] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 + [200] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 + to:print_char::@return +print_char::@return: scope:[print_char] from print_char + [201] return + to:@return +print_word: scope:[print_word] from printEntry::@1 printEntry::@2 printEntry::@3 printEntry::@4 printEntry::@9 + [202] (word) print_word::w#5 ← phi( printEntry::@1/(word~) print_word::w#7 printEntry::@2/(word~) print_word::w#8 printEntry::@3/(word) print_word::w#2 printEntry::@4/(word~) print_word::w#10 printEntry::@9/(word) print_word::w#4 ) + [203] (byte) print_byte::b#0 ← > (word) print_word::w#5 + [204] call print_byte + to:print_word::@1 +print_word::@1: scope:[print_word] from print_word + [205] (byte) print_byte::b#1 ← < (word) print_word::w#5 + [206] call print_byte + to:print_word::@return +print_word::@return: scope:[print_word] from print_word::@1 + [207] return + to:@return +initEntry: scope:[initEntry] from main::@5 main::@8 + [208] (byte) initEntry::n#10 ← phi( main::@5/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@8/(byte/word/signed word/dword/signed dword) $80 ) + [208] (byte*) initEntry::entryBufDisk1_$0#0 ← phi( main::@5/(byte*) initEntry::entry#0 main::@8/(byte*) initEntry::entry#1 ) + to:initEntry::entryBufDisk1 +initEntry::entryBufDisk1: scope:[initEntry] from initEntry + [209] (byte**) initEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 + to:initEntry::@1 +initEntry::@1: scope:[initEntry] from initEntry::entryBufDisk1 + [210] (byte/signed word/word/dword/signed dword~) initEntry::$1 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 + [211] *((byte**) initEntry::entryBufDisk1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 + to:initEntry::entryBufEdit1 +initEntry::entryBufEdit1: scope:[initEntry] from initEntry::@1 + [212] (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 + [213] (byte**) initEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 + to:initEntry::@2 +initEntry::@2: scope:[initEntry] from initEntry::entryBufEdit1 + [214] (byte/signed word/word/dword/signed dword~) initEntry::$3 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 + [215] *((byte**) initEntry::entryBufEdit1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 + to:initEntry::entryTsLen1 +initEntry::entryTsLen1: scope:[initEntry] from initEntry::@2 + [216] (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 + [217] (word*) initEntry::entryTsLen1_return#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 + to:initEntry::@3 +initEntry::@3: scope:[initEntry] from initEntry::entryTsLen1 + [218] (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 3 + [219] *((word*) initEntry::entryTsLen1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 + to:initEntry::entryTsOrder1 +initEntry::entryTsOrder1: scope:[initEntry] from initEntry::@3 + [220] (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 + [221] (word**) initEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 + to:initEntry::@4 +initEntry::@4: scope:[initEntry] from initEntry::entryTsOrder1 + [222] (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 4 + [223] *((word**) initEntry::entryTsOrder1_return#0) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 + to:initEntry::entryTLastLink1 +initEntry::entryTLastLink1: scope:[initEntry] from initEntry::@4 + [224] (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 + to:initEntry::@5 +initEntry::@5: scope:[initEntry] from initEntry::entryTLastLink1 + [225] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 5 + [226] *((byte*) initEntry::entryTLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 + to:initEntry::entrySLastLink1 +initEntry::entrySLastLink1: scope:[initEntry] from initEntry::@5 + [227] (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 + to:initEntry::@6 +initEntry::@6: scope:[initEntry] from initEntry::entrySLastLink1 + [228] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 6 + [229] *((byte*) initEntry::entrySLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 + to:initEntry::entryBFlag1 +initEntry::entryBFlag1: scope:[initEntry] from initEntry::@6 + [230] (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a + to:initEntry::@7 +initEntry::@7: scope:[initEntry] from initEntry::entryBFlag1 + [231] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 7 + [232] *((byte*) initEntry::entryBFlag1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 + to:initEntry::entryBError1 +initEntry::entryBError1: scope:[initEntry] from initEntry::@7 + [233] (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b + to:initEntry::@8 +initEntry::@8: scope:[initEntry] from initEntry::entryBError1 + [234] (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 8 + [235] *((byte*) initEntry::entryBError1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 + to:initEntry::entryUCross1 +initEntry::entryUCross1: scope:[initEntry] from initEntry::@8 + [236] (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c + [237] (word*) initEntry::entryUCross1_return#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 + to:initEntry::@9 +initEntry::@9: scope:[initEntry] from initEntry::entryUCross1 + [238] (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 + [239] *((word*) initEntry::entryUCross1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 + to:initEntry::entryBAddrLo1 +initEntry::entryBAddrLo1: scope:[initEntry] from initEntry::@9 + [240] (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e + to:initEntry::@10 +initEntry::@10: scope:[initEntry] from initEntry::entryBAddrLo1 + [241] (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $a + [242] *((byte*) initEntry::entryBAddrLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 + to:initEntry::entryBAddrHi1 +initEntry::entryBAddrHi1: scope:[initEntry] from initEntry::@10 + [243] (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f + to:initEntry::@11 +initEntry::@11: scope:[initEntry] from initEntry::entryBAddrHi1 + [244] (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $b + [245] *((byte*) initEntry::entryBAddrHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 + to:initEntry::entryTHi1 +initEntry::entryTHi1: scope:[initEntry] from initEntry::@11 + [246] (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 + to:initEntry::@12 +initEntry::@12: scope:[initEntry] from initEntry::entryTHi1 + [247] (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $c + [248] *((byte*) initEntry::entryTHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 + to:initEntry::entryTLo1 +initEntry::entryTLo1: scope:[initEntry] from initEntry::@12 + [249] (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 + to:initEntry::@13 +initEntry::@13: scope:[initEntry] from initEntry::entryTLo1 + [250] (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $d + [251] *((byte*) initEntry::entryTLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 + to:initEntry::@return +initEntry::@return: scope:[initEntry] from initEntry::@13 + [252] return + to:@return +mul8u: scope:[mul8u] from main::fileEntry1 main::fileEntry2 + [253] (byte) mul8u::a#6 ← phi( main::fileEntry1/(const byte) main::fileEntry1_idx#0 main::fileEntry2/(const byte) main::fileEntry2_idx#0 ) + to:mul8u::@1 +mul8u::@1: scope:[mul8u] from mul8u mul8u::@3 + [254] (word) mul8u::mb#2 ← phi( mul8u/((word))(const byte) ENTRY_SIZE#0 mul8u::@3/(word) mul8u::mb#1 ) + [254] (word) mul8u::res#2 ← phi( mul8u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul8u::@3/(word) mul8u::res#6 ) + [254] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@3/(byte) mul8u::a#0 ) + [255] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 + to:mul8u::@return +mul8u::@return: scope:[mul8u] from mul8u::@1 + [256] return + to:@return +mul8u::@2: scope:[mul8u] from mul8u::@1 + [257] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 + [258] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@3 + to:mul8u::@4 +mul8u::@4: scope:[mul8u] from mul8u::@2 + [259] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 + to:mul8u::@3 +mul8u::@3: scope:[mul8u] from mul8u::@2 mul8u::@4 + [260] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@4/(word) mul8u::res#1 ) + [261] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + [262] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 + to:mul8u::@1 +keyboard_init: scope:[keyboard_init] from main + [263] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff + [264] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:keyboard_init::@return +keyboard_init::@return: scope:[keyboard_init] from keyboard_init + [265] return + to:@return + + +VARIABLE REGISTER WEIGHTS +(byte*) CIA1_PORT_A +(byte*) CIA1_PORT_A_DDR +(byte*) CIA1_PORT_B +(byte*) CIA1_PORT_B_DDR +(byte) ENTRY_SIZE +(byte) KEY_SPACE +(byte) MAX_FILES +(byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files +(void()) initEntry((byte*) initEntry::entry , (byte) initEntry::n) +(byte/signed word/word/dword/signed dword~) initEntry::$1 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$11 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$13 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$15 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$17 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$19 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$21 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$23 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$25 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$3 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$5 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$7 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$9 4.0 +(byte*) initEntry::entry +(byte*) initEntry::entry#0 4.0 +(byte*) initEntry::entry#1 4.0 +(byte*~) initEntry::entryBAddrHi1_$0 +(byte*) initEntry::entryBAddrHi1_entry +(byte*) initEntry::entryBAddrHi1_return +(byte*) initEntry::entryBAddrHi1_return#0 2.0 +(byte*~) initEntry::entryBAddrLo1_$0 +(byte*) initEntry::entryBAddrLo1_entry +(byte*) initEntry::entryBAddrLo1_return +(byte*) initEntry::entryBAddrLo1_return#0 2.0 +(byte*~) initEntry::entryBError1_$0 +(byte*) initEntry::entryBError1_entry +(byte*) initEntry::entryBError1_return +(byte*) initEntry::entryBError1_return#0 2.0 +(byte*~) initEntry::entryBFlag1_$0 +(byte*) initEntry::entryBFlag1_entry +(byte*) initEntry::entryBFlag1_return +(byte*) initEntry::entryBFlag1_return#0 2.0 +(byte*~) initEntry::entryBufDisk1_$0 +(byte*) initEntry::entryBufDisk1_$0#0 0.7317073170731708 +(byte**~) initEntry::entryBufDisk1_$1 +(byte*) initEntry::entryBufDisk1_entry +(byte**) initEntry::entryBufDisk1_return +(byte**) initEntry::entryBufDisk1_return#0 2.0 +(byte*~) initEntry::entryBufEdit1_$0 +(byte*) initEntry::entryBufEdit1_$0#0 4.0 +(byte**~) initEntry::entryBufEdit1_$1 +(byte*) initEntry::entryBufEdit1_entry +(byte**) initEntry::entryBufEdit1_return +(byte**) initEntry::entryBufEdit1_return#0 2.0 +(byte*~) initEntry::entrySLastLink1_$0 +(byte*) initEntry::entrySLastLink1_entry +(byte*) initEntry::entrySLastLink1_return +(byte*) initEntry::entrySLastLink1_return#0 2.0 +(byte*~) initEntry::entryTHi1_$0 +(byte*) initEntry::entryTHi1_entry +(byte*) initEntry::entryTHi1_return +(byte*) initEntry::entryTHi1_return#0 2.0 +(byte*~) initEntry::entryTLastLink1_$0 +(byte*) initEntry::entryTLastLink1_entry +(byte*) initEntry::entryTLastLink1_return +(byte*) initEntry::entryTLastLink1_return#0 2.0 +(byte*~) initEntry::entryTLo1_$0 +(byte*) initEntry::entryTLo1_entry +(byte*) initEntry::entryTLo1_return +(byte*) initEntry::entryTLo1_return#0 2.0 +(byte*~) initEntry::entryTsLen1_$0 +(byte*) initEntry::entryTsLen1_$0#0 4.0 +(word*~) initEntry::entryTsLen1_$1 +(byte*) initEntry::entryTsLen1_entry +(word*) initEntry::entryTsLen1_return +(word*) initEntry::entryTsLen1_return#0 2.0 +(byte*~) initEntry::entryTsOrder1_$0 +(byte*) initEntry::entryTsOrder1_$0#0 4.0 +(word**~) initEntry::entryTsOrder1_$1 +(byte*) initEntry::entryTsOrder1_entry +(word**) initEntry::entryTsOrder1_return +(word**) initEntry::entryTsOrder1_return#0 2.0 +(byte*~) initEntry::entryUCross1_$0 +(byte*) initEntry::entryUCross1_$0#0 4.0 +(word*~) initEntry::entryUCross1_$1 +(byte*) initEntry::entryUCross1_entry +(word*) initEntry::entryUCross1_return +(word*) initEntry::entryUCross1_return#0 2.0 +(byte) initEntry::n +(byte) initEntry::n#10 0.6190476190476191 +(void()) keyboard_init() +(byte()) keyboard_key_pressed((byte) keyboard_key_pressed::key) +(byte~) keyboard_key_pressed::$2 4.0 +(byte) keyboard_key_pressed::colidx +(byte) keyboard_key_pressed::key +(byte) keyboard_key_pressed::return +(byte) keyboard_key_pressed::return#0 6.0 +(byte) keyboard_key_pressed::return#2 22.0 +(byte) keyboard_key_pressed::return#3 22.0 +(byte) keyboard_key_pressed::rowidx +(byte[8]) keyboard_matrix_col_bitmask +(byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) +(byte) keyboard_matrix_read::return +(byte) keyboard_matrix_read::return#0 1.3333333333333333 +(byte) keyboard_matrix_read::return#2 4.0 +(byte) keyboard_matrix_read::row_pressed_bits +(byte) keyboard_matrix_read::rowid +(byte[8]) keyboard_matrix_row_bitmask +(void()) main() +(byte~) main::$20 22.0 +(byte~) main::$22 22.0 +(byte*) main::entry1 +(byte*) main::entry1#0 0.3157894736842105 +(byte*) main::entry2 +(byte*) main::entry2#0 0.17142857142857143 +(word~) main::fileEntry1_$0 +(word) main::fileEntry1_$0#0 4.0 +(byte*~) main::fileEntry1_$1 +(byte) main::fileEntry1_idx +(byte*) main::fileEntry1_return +(word~) main::fileEntry2_$0 +(word) main::fileEntry2_$0#0 4.0 +(byte*~) main::fileEntry2_$1 +(byte) main::fileEntry2_idx +(byte*) main::fileEntry2_return +(word()) mul8u((byte) mul8u::a , (byte) mul8u::b) +(byte~) mul8u::$1 22.0 +(byte) mul8u::a +(byte) mul8u::a#0 11.0 +(byte) mul8u::a#3 7.666666666666666 +(byte) mul8u::a#6 2.0 +(byte) mul8u::b +(word) mul8u::mb +(word) mul8u::mb#1 22.0 +(word) mul8u::mb#2 4.714285714285714 +(word) mul8u::res +(word) mul8u::res#1 22.0 +(word) mul8u::res#2 5.285714285714286 +(word) mul8u::res#6 11.0 +(word) mul8u::return +(word) mul8u::return#2 4.0 +(word) mul8u::return#3 4.0 +(void()) printEntry((byte*) printEntry::entry) +(byte*) printEntry::entry +(byte*) printEntry::entry#0 4.0 +(byte*) printEntry::entry#1 4.0 +(byte*~) printEntry::entryBAddrHi1_$0 +(byte*) printEntry::entryBAddrHi1_entry +(byte*) printEntry::entryBAddrHi1_return +(byte*) printEntry::entryBAddrHi1_return#0 4.0 +(byte*~) printEntry::entryBAddrLo1_$0 +(byte*) printEntry::entryBAddrLo1_entry +(byte*) printEntry::entryBAddrLo1_return +(byte*) printEntry::entryBAddrLo1_return#0 4.0 +(byte*~) printEntry::entryBError1_$0 +(byte*) printEntry::entryBError1_entry +(byte*) printEntry::entryBError1_return +(byte*) printEntry::entryBError1_return#0 4.0 +(byte*~) printEntry::entryBFlag1_$0 +(byte*) printEntry::entryBFlag1_entry +(byte*) printEntry::entryBFlag1_return +(byte*) printEntry::entryBFlag1_return#0 4.0 +(byte*~) printEntry::entryBufDisk1_$0 +(byte*) printEntry::entryBufDisk1_$0#0 0.3296703296703296 +(byte**~) printEntry::entryBufDisk1_$1 +(byte*) printEntry::entryBufDisk1_entry +(byte**) printEntry::entryBufDisk1_return +(byte**) printEntry::entryBufDisk1_return#0 2.0 +(byte*~) printEntry::entryBufEdit1_$0 +(byte*) printEntry::entryBufEdit1_$0#0 4.0 +(byte**~) printEntry::entryBufEdit1_$1 +(byte*) printEntry::entryBufEdit1_entry +(byte**) printEntry::entryBufEdit1_return +(byte**) printEntry::entryBufEdit1_return#0 2.0 +(byte*~) printEntry::entrySLastLink1_$0 +(byte*) printEntry::entrySLastLink1_entry +(byte*) printEntry::entrySLastLink1_return +(byte*) printEntry::entrySLastLink1_return#0 4.0 +(byte*~) printEntry::entryTHi1_$0 +(byte*) printEntry::entryTHi1_entry +(byte*) printEntry::entryTHi1_return +(byte*) printEntry::entryTHi1_return#0 4.0 +(byte*~) printEntry::entryTLastLink1_$0 +(byte*) printEntry::entryTLastLink1_entry +(byte*) printEntry::entryTLastLink1_return +(byte*) printEntry::entryTLastLink1_return#0 4.0 +(byte*~) printEntry::entryTLo1_$0 +(byte*) printEntry::entryTLo1_entry +(byte*) printEntry::entryTLo1_return +(byte*) printEntry::entryTLo1_return#0 4.0 +(byte*~) printEntry::entryTsLen1_$0 +(byte*) printEntry::entryTsLen1_$0#0 4.0 +(word*~) printEntry::entryTsLen1_$1 +(byte*) printEntry::entryTsLen1_entry +(word*) printEntry::entryTsLen1_return +(word*) printEntry::entryTsLen1_return#0 4.0 +(byte*~) printEntry::entryTsOrder1_$0 +(byte*) printEntry::entryTsOrder1_$0#0 4.0 +(word**~) printEntry::entryTsOrder1_$1 +(byte*) printEntry::entryTsOrder1_entry +(word**) printEntry::entryTsOrder1_return +(word**) printEntry::entryTsOrder1_return#0 2.0 +(byte*~) printEntry::entryUCross1_$0 +(byte*) printEntry::entryUCross1_$0#0 4.0 +(word*~) printEntry::entryUCross1_$1 +(byte*) printEntry::entryUCross1_entry +(word*) printEntry::entryUCross1_return +(word*) printEntry::entryUCross1_return#0 4.0 +(void()) print_byte((byte) print_byte::b) +(byte~) print_byte::$0 4.0 +(byte~) print_byte::$2 4.0 +(byte) print_byte::b +(byte) print_byte::b#0 4.0 +(byte) print_byte::b#1 4.0 +(byte) print_byte::b#10 6.0 +(byte) print_byte::b#2 4.0 +(byte) print_byte::b#3 4.0 +(byte) print_byte::b#4 4.0 +(byte) print_byte::b#5 4.0 +(byte) print_byte::b#6 4.0 +(byte) print_byte::b#7 4.0 +(byte) print_byte::b#8 4.0 +(byte) print_byte::b#9 4.0 +(void()) print_char((byte) print_char::ch) +(byte) print_char::ch +(byte) print_char::ch#0 4.0 +(byte) print_char::ch#1 4.0 +(byte) print_char::ch#2 6.0 +(byte*) print_char_cursor +(byte*) print_char_cursor#1 11.0 +(byte*) print_char_cursor#11 0.8648648648648649 +(byte*) print_char_cursor#142 1.0754716981132075 +(byte*) print_char_cursor#143 9.800000000000002 +(byte*) print_char_cursor#145 7.333333333333334 +(byte*) print_char_cursor#164 32.0 +(byte*~) print_char_cursor#212 4.0 +(byte*~) print_char_cursor#213 4.0 +(byte*~) print_char_cursor#214 4.0 +(byte*~) print_char_cursor#215 4.0 +(byte*~) print_char_cursor#216 4.0 +(byte*~) print_char_cursor#217 4.0 +(byte*~) print_char_cursor#218 4.0 +(byte*~) print_char_cursor#219 4.0 +(byte*~) print_char_cursor#220 4.0 +(byte*~) print_char_cursor#221 4.0 +(byte*~) print_char_cursor#222 4.0 +(byte*~) print_char_cursor#223 4.0 +(byte*~) print_char_cursor#224 4.0 +(byte*~) print_char_cursor#225 4.0 +(byte*~) print_char_cursor#226 4.0 +(byte*~) print_char_cursor#230 4.0 +(byte*~) print_char_cursor#231 4.0 +(byte*~) print_char_cursor#233 4.0 +(byte*~) print_char_cursor#234 4.0 +(byte*) print_char_cursor#82 4.0 +(void()) print_cls() +(byte*) print_cls::sc +(byte*) print_cls::sc#1 16.5 +(byte*) print_cls::sc#2 16.5 +(byte[]) print_hextab +(byte*) print_line_cursor +(byte*) print_line_cursor#1 1.03960396039604 +(byte*~) print_line_cursor#159 2.0 +(byte*~) print_line_cursor#160 2.0 +(byte*~) print_line_cursor#161 2.0 +(byte*~) print_line_cursor#162 2.0 +(byte*~) print_line_cursor#163 4.0 +(byte*~) print_line_cursor#164 4.0 +(byte*~) print_line_cursor#165 4.0 +(byte*~) print_line_cursor#166 4.0 +(byte*~) print_line_cursor#167 4.0 +(byte*~) print_line_cursor#168 4.0 +(byte*~) print_line_cursor#169 4.0 +(byte*~) print_line_cursor#170 4.0 +(byte*~) print_line_cursor#171 4.0 +(byte*~) print_line_cursor#172 4.0 +(byte*~) print_line_cursor#173 4.0 +(byte*~) print_line_cursor#174 4.0 +(byte*~) print_line_cursor#175 4.0 +(byte*~) print_line_cursor#177 22.0 +(byte*) print_line_cursor#32 24.0 +(byte*) print_line_cursor#63 36.0 +(void()) print_ln() +(byte*) print_screen +(void()) print_str((byte*) print_str::str) +(byte*) print_str::str +(byte*) print_str::str#0 22.0 +(byte*) print_str::str#18 11.5 +(byte*) print_str::str#20 2.0 +(void()) print_word((word) print_word::w) +(word) print_word::w +(word~) print_word::w#10 4.0 +(word) print_word::w#2 4.0 +(word) print_word::w#4 4.0 +(word) print_word::w#5 4.666666666666666 +(word~) print_word::w#7 4.0 +(word~) print_word::w#8 4.0 + +Initial phi equivalence classes +[ print_cls::sc#2 print_cls::sc#1 ] +[ print_str::str#18 print_str::str#20 print_str::str#0 ] +[ print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] +[ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 ] +[ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] +[ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] +[ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 ] +[ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 ] +[ initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 ] +[ initEntry::n#10 ] +[ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] +[ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] +[ mul8u::mb#2 mul8u::mb#1 ] +Added variable mul8u::return#2 to zero page equivalence class [ mul8u::return#2 ] +Added variable main::fileEntry1_$0#0 to zero page equivalence class [ main::fileEntry1_$0#0 ] +Added variable main::entry1#0 to zero page equivalence class [ main::entry1#0 ] +Added variable mul8u::return#3 to zero page equivalence class [ mul8u::return#3 ] +Added variable main::fileEntry2_$0#0 to zero page equivalence class [ main::fileEntry2_$0#0 ] +Added variable main::entry2#0 to zero page equivalence class [ main::entry2#0 ] +Added variable keyboard_key_pressed::return#2 to zero page equivalence class [ keyboard_key_pressed::return#2 ] +Added variable main::$20 to zero page equivalence class [ main::$20 ] +Added variable keyboard_key_pressed::return#3 to zero page equivalence class [ keyboard_key_pressed::return#3 ] +Added variable main::$22 to zero page equivalence class [ main::$22 ] +Added variable keyboard_matrix_read::return#2 to zero page equivalence class [ keyboard_matrix_read::return#2 ] +Added variable keyboard_key_pressed::$2 to zero page equivalence class [ keyboard_key_pressed::$2 ] +Added variable keyboard_key_pressed::return#0 to zero page equivalence class [ keyboard_key_pressed::return#0 ] +Added variable keyboard_matrix_read::return#0 to zero page equivalence class [ keyboard_matrix_read::return#0 ] +Added variable print_line_cursor#1 to zero page equivalence class [ print_line_cursor#1 ] +Added variable printEntry::entryBufDisk1_return#0 to zero page equivalence class [ printEntry::entryBufDisk1_return#0 ] +Added variable printEntry::entryBufEdit1_$0#0 to zero page equivalence class [ printEntry::entryBufEdit1_$0#0 ] +Added variable printEntry::entryBufEdit1_return#0 to zero page equivalence class [ printEntry::entryBufEdit1_return#0 ] +Added variable printEntry::entryTsLen1_$0#0 to zero page equivalence class [ printEntry::entryTsLen1_$0#0 ] +Added variable printEntry::entryTsLen1_return#0 to zero page equivalence class [ printEntry::entryTsLen1_return#0 ] +Added variable printEntry::entryTsOrder1_$0#0 to zero page equivalence class [ printEntry::entryTsOrder1_$0#0 ] +Added variable printEntry::entryTsOrder1_return#0 to zero page equivalence class [ printEntry::entryTsOrder1_return#0 ] +Added variable printEntry::entryTLastLink1_return#0 to zero page equivalence class [ printEntry::entryTLastLink1_return#0 ] +Added variable printEntry::entrySLastLink1_return#0 to zero page equivalence class [ printEntry::entrySLastLink1_return#0 ] +Added variable printEntry::entryBFlag1_return#0 to zero page equivalence class [ printEntry::entryBFlag1_return#0 ] +Added variable printEntry::entryBError1_return#0 to zero page equivalence class [ printEntry::entryBError1_return#0 ] +Added variable printEntry::entryUCross1_$0#0 to zero page equivalence class [ printEntry::entryUCross1_$0#0 ] +Added variable printEntry::entryUCross1_return#0 to zero page equivalence class [ printEntry::entryUCross1_return#0 ] +Added variable printEntry::entryBAddrLo1_return#0 to zero page equivalence class [ printEntry::entryBAddrLo1_return#0 ] +Added variable printEntry::entryBAddrHi1_return#0 to zero page equivalence class [ printEntry::entryBAddrHi1_return#0 ] +Added variable printEntry::entryTHi1_return#0 to zero page equivalence class [ printEntry::entryTHi1_return#0 ] +Added variable printEntry::entryTLo1_return#0 to zero page equivalence class [ printEntry::entryTLo1_return#0 ] +Added variable print_byte::$0 to zero page equivalence class [ print_byte::$0 ] +Added variable print_byte::$2 to zero page equivalence class [ print_byte::$2 ] +Added variable initEntry::entryBufDisk1_return#0 to zero page equivalence class [ initEntry::entryBufDisk1_return#0 ] +Added variable initEntry::$1 to zero page equivalence class [ initEntry::$1 ] +Added variable initEntry::entryBufEdit1_$0#0 to zero page equivalence class [ initEntry::entryBufEdit1_$0#0 ] +Added variable initEntry::entryBufEdit1_return#0 to zero page equivalence class [ initEntry::entryBufEdit1_return#0 ] +Added variable initEntry::$3 to zero page equivalence class [ initEntry::$3 ] +Added variable initEntry::entryTsLen1_$0#0 to zero page equivalence class [ initEntry::entryTsLen1_$0#0 ] +Added variable initEntry::entryTsLen1_return#0 to zero page equivalence class [ initEntry::entryTsLen1_return#0 ] +Added variable initEntry::$5 to zero page equivalence class [ initEntry::$5 ] +Added variable initEntry::entryTsOrder1_$0#0 to zero page equivalence class [ initEntry::entryTsOrder1_$0#0 ] +Added variable initEntry::entryTsOrder1_return#0 to zero page equivalence class [ initEntry::entryTsOrder1_return#0 ] +Added variable initEntry::$7 to zero page equivalence class [ initEntry::$7 ] +Added variable initEntry::entryTLastLink1_return#0 to zero page equivalence class [ initEntry::entryTLastLink1_return#0 ] +Added variable initEntry::$9 to zero page equivalence class [ initEntry::$9 ] +Added variable initEntry::entrySLastLink1_return#0 to zero page equivalence class [ initEntry::entrySLastLink1_return#0 ] +Added variable initEntry::$11 to zero page equivalence class [ initEntry::$11 ] +Added variable initEntry::entryBFlag1_return#0 to zero page equivalence class [ initEntry::entryBFlag1_return#0 ] +Added variable initEntry::$13 to zero page equivalence class [ initEntry::$13 ] +Added variable initEntry::entryBError1_return#0 to zero page equivalence class [ initEntry::entryBError1_return#0 ] +Added variable initEntry::$15 to zero page equivalence class [ initEntry::$15 ] +Added variable initEntry::entryUCross1_$0#0 to zero page equivalence class [ initEntry::entryUCross1_$0#0 ] +Added variable initEntry::entryUCross1_return#0 to zero page equivalence class [ initEntry::entryUCross1_return#0 ] +Added variable initEntry::$17 to zero page equivalence class [ initEntry::$17 ] +Added variable initEntry::entryBAddrLo1_return#0 to zero page equivalence class [ initEntry::entryBAddrLo1_return#0 ] +Added variable initEntry::$19 to zero page equivalence class [ initEntry::$19 ] +Added variable initEntry::entryBAddrHi1_return#0 to zero page equivalence class [ initEntry::entryBAddrHi1_return#0 ] +Added variable initEntry::$21 to zero page equivalence class [ initEntry::$21 ] +Added variable initEntry::entryTHi1_return#0 to zero page equivalence class [ initEntry::entryTHi1_return#0 ] +Added variable initEntry::$23 to zero page equivalence class [ initEntry::$23 ] +Added variable initEntry::entryTLo1_return#0 to zero page equivalence class [ initEntry::entryTLo1_return#0 ] +Added variable initEntry::$25 to zero page equivalence class [ initEntry::$25 ] +Added variable mul8u::$1 to zero page equivalence class [ mul8u::$1 ] +Complete equivalence classes +[ print_cls::sc#2 print_cls::sc#1 ] +[ print_str::str#18 print_str::str#20 print_str::str#0 ] +[ print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] +[ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 ] +[ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] +[ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] +[ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 ] +[ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 ] +[ initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 ] +[ initEntry::n#10 ] +[ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] +[ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] +[ mul8u::mb#2 mul8u::mb#1 ] +[ mul8u::return#2 ] +[ main::fileEntry1_$0#0 ] +[ main::entry1#0 ] +[ mul8u::return#3 ] +[ main::fileEntry2_$0#0 ] +[ main::entry2#0 ] +[ keyboard_key_pressed::return#2 ] +[ main::$20 ] +[ keyboard_key_pressed::return#3 ] +[ main::$22 ] +[ keyboard_matrix_read::return#2 ] +[ keyboard_key_pressed::$2 ] +[ keyboard_key_pressed::return#0 ] +[ keyboard_matrix_read::return#0 ] +[ print_line_cursor#1 ] +[ printEntry::entryBufDisk1_return#0 ] +[ printEntry::entryBufEdit1_$0#0 ] +[ printEntry::entryBufEdit1_return#0 ] +[ printEntry::entryTsLen1_$0#0 ] +[ printEntry::entryTsLen1_return#0 ] +[ printEntry::entryTsOrder1_$0#0 ] +[ printEntry::entryTsOrder1_return#0 ] +[ printEntry::entryTLastLink1_return#0 ] +[ printEntry::entrySLastLink1_return#0 ] +[ printEntry::entryBFlag1_return#0 ] +[ printEntry::entryBError1_return#0 ] +[ printEntry::entryUCross1_$0#0 ] +[ printEntry::entryUCross1_return#0 ] +[ printEntry::entryBAddrLo1_return#0 ] +[ printEntry::entryBAddrHi1_return#0 ] +[ printEntry::entryTHi1_return#0 ] +[ printEntry::entryTLo1_return#0 ] +[ print_byte::$0 ] +[ print_byte::$2 ] +[ initEntry::entryBufDisk1_return#0 ] +[ initEntry::$1 ] +[ initEntry::entryBufEdit1_$0#0 ] +[ initEntry::entryBufEdit1_return#0 ] +[ initEntry::$3 ] +[ initEntry::entryTsLen1_$0#0 ] +[ initEntry::entryTsLen1_return#0 ] +[ initEntry::$5 ] +[ initEntry::entryTsOrder1_$0#0 ] +[ initEntry::entryTsOrder1_return#0 ] +[ initEntry::$7 ] +[ initEntry::entryTLastLink1_return#0 ] +[ initEntry::$9 ] +[ initEntry::entrySLastLink1_return#0 ] +[ initEntry::$11 ] +[ initEntry::entryBFlag1_return#0 ] +[ initEntry::$13 ] +[ initEntry::entryBError1_return#0 ] +[ initEntry::$15 ] +[ initEntry::entryUCross1_$0#0 ] +[ initEntry::entryUCross1_return#0 ] +[ initEntry::$17 ] +[ initEntry::entryBAddrLo1_return#0 ] +[ initEntry::$19 ] +[ initEntry::entryBAddrHi1_return#0 ] +[ initEntry::$21 ] +[ initEntry::entryTHi1_return#0 ] +[ initEntry::$23 ] +[ initEntry::entryTLo1_return#0 ] +[ initEntry::$25 ] +[ mul8u::$1 ] +Allocated zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 ] +Allocated zp ZP_WORD:4 [ print_str::str#18 print_str::str#20 print_str::str#0 ] +Allocated zp ZP_WORD:6 [ print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] +Allocated zp ZP_WORD:8 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 ] +Allocated zp ZP_BYTE:10 [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] +Allocated zp ZP_BYTE:11 [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] +Allocated zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 ] +Allocated zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 ] +Allocated zp ZP_WORD:16 [ initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 ] +Allocated zp ZP_BYTE:18 [ initEntry::n#10 ] +Allocated zp ZP_BYTE:19 [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] +Allocated zp ZP_WORD:20 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] +Allocated zp ZP_WORD:22 [ mul8u::mb#2 mul8u::mb#1 ] +Allocated zp ZP_WORD:24 [ mul8u::return#2 ] +Allocated zp ZP_WORD:26 [ main::fileEntry1_$0#0 ] +Allocated zp ZP_WORD:28 [ main::entry1#0 ] +Allocated zp ZP_WORD:30 [ mul8u::return#3 ] +Allocated zp ZP_WORD:32 [ main::fileEntry2_$0#0 ] +Allocated zp ZP_WORD:34 [ main::entry2#0 ] +Allocated zp ZP_BYTE:36 [ keyboard_key_pressed::return#2 ] +Allocated zp ZP_BYTE:37 [ main::$20 ] +Allocated zp ZP_BYTE:38 [ keyboard_key_pressed::return#3 ] +Allocated zp ZP_BYTE:39 [ main::$22 ] +Allocated zp ZP_BYTE:40 [ keyboard_matrix_read::return#2 ] +Allocated zp ZP_BYTE:41 [ keyboard_key_pressed::$2 ] +Allocated zp ZP_BYTE:42 [ keyboard_key_pressed::return#0 ] +Allocated zp ZP_BYTE:43 [ keyboard_matrix_read::return#0 ] +Allocated zp ZP_WORD:44 [ print_line_cursor#1 ] +Allocated zp ZP_WORD:46 [ printEntry::entryBufDisk1_return#0 ] +Allocated zp ZP_WORD:48 [ printEntry::entryBufEdit1_$0#0 ] +Allocated zp ZP_WORD:50 [ printEntry::entryBufEdit1_return#0 ] +Allocated zp ZP_WORD:52 [ printEntry::entryTsLen1_$0#0 ] +Allocated zp ZP_WORD:54 [ printEntry::entryTsLen1_return#0 ] +Allocated zp ZP_WORD:56 [ printEntry::entryTsOrder1_$0#0 ] +Allocated zp ZP_WORD:58 [ printEntry::entryTsOrder1_return#0 ] +Allocated zp ZP_WORD:60 [ printEntry::entryTLastLink1_return#0 ] +Allocated zp ZP_WORD:62 [ printEntry::entrySLastLink1_return#0 ] +Allocated zp ZP_WORD:64 [ printEntry::entryBFlag1_return#0 ] +Allocated zp ZP_WORD:66 [ printEntry::entryBError1_return#0 ] +Allocated zp ZP_WORD:68 [ printEntry::entryUCross1_$0#0 ] +Allocated zp ZP_WORD:70 [ printEntry::entryUCross1_return#0 ] +Allocated zp ZP_WORD:72 [ printEntry::entryBAddrLo1_return#0 ] +Allocated zp ZP_WORD:74 [ printEntry::entryBAddrHi1_return#0 ] +Allocated zp ZP_WORD:76 [ printEntry::entryTHi1_return#0 ] +Allocated zp ZP_WORD:78 [ printEntry::entryTLo1_return#0 ] +Allocated zp ZP_BYTE:80 [ print_byte::$0 ] +Allocated zp ZP_BYTE:81 [ print_byte::$2 ] +Allocated zp ZP_WORD:82 [ initEntry::entryBufDisk1_return#0 ] +Allocated zp ZP_BYTE:84 [ initEntry::$1 ] +Allocated zp ZP_WORD:85 [ initEntry::entryBufEdit1_$0#0 ] +Allocated zp ZP_WORD:87 [ initEntry::entryBufEdit1_return#0 ] +Allocated zp ZP_BYTE:89 [ initEntry::$3 ] +Allocated zp ZP_WORD:90 [ initEntry::entryTsLen1_$0#0 ] +Allocated zp ZP_WORD:92 [ initEntry::entryTsLen1_return#0 ] +Allocated zp ZP_BYTE:94 [ initEntry::$5 ] +Allocated zp ZP_WORD:95 [ initEntry::entryTsOrder1_$0#0 ] +Allocated zp ZP_WORD:97 [ initEntry::entryTsOrder1_return#0 ] +Allocated zp ZP_BYTE:99 [ initEntry::$7 ] +Allocated zp ZP_WORD:100 [ initEntry::entryTLastLink1_return#0 ] +Allocated zp ZP_BYTE:102 [ initEntry::$9 ] +Allocated zp ZP_WORD:103 [ initEntry::entrySLastLink1_return#0 ] +Allocated zp ZP_BYTE:105 [ initEntry::$11 ] +Allocated zp ZP_WORD:106 [ initEntry::entryBFlag1_return#0 ] +Allocated zp ZP_BYTE:108 [ initEntry::$13 ] +Allocated zp ZP_WORD:109 [ initEntry::entryBError1_return#0 ] +Allocated zp ZP_BYTE:111 [ initEntry::$15 ] +Allocated zp ZP_WORD:112 [ initEntry::entryUCross1_$0#0 ] +Allocated zp ZP_WORD:114 [ initEntry::entryUCross1_return#0 ] +Allocated zp ZP_BYTE:116 [ initEntry::$17 ] +Allocated zp ZP_WORD:117 [ initEntry::entryBAddrLo1_return#0 ] +Allocated zp ZP_BYTE:119 [ initEntry::$19 ] +Allocated zp ZP_WORD:120 [ initEntry::entryBAddrHi1_return#0 ] +Allocated zp ZP_BYTE:122 [ initEntry::$21 ] +Allocated zp ZP_WORD:123 [ initEntry::entryTHi1_return#0 ] +Allocated zp ZP_BYTE:125 [ initEntry::$23 ] +Allocated zp ZP_WORD:126 [ initEntry::entryTLo1_return#0 ] +Allocated zp ZP_BYTE:128 [ initEntry::$25 ] +Allocated zp ZP_BYTE:129 [ mul8u::$1 ] + +INITIAL ASM +//SEG0 File Comments +// Implementing a semi-struct without the struct keyword by using pointer math and inline functions +// +// struct fileentry { +// BYTE *bufDisk; // file position in disk buffer. +// BYTE *bufEdit; // file edits +// WORD tsLen; // num of sectors +// TS *tsOrder; +// BYTE tLastLink; +// BYTE sLastLink; +// BYTE bFlag; +// BYTE bError; +// WORD uCross; // num of crosslinked sectors +// BYTE bAddrLo; // start address +// BYTE bAddrHi; +// BYTE tHi; // highest track +// BYTE tLo; // lowest track +// }; +// typedef struct fileentry ENTRY; +// ENTRY files[MAX_FILES]; +//SEG1 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(bbegin) +.pc = $80d "Program" +//SEG2 Global Constants & labels + // CIA#1 Port A: keyboard matrix columns and joystick #2 + .label CIA1_PORT_A = $dc00 + // CIA#1 Port B: keyboard matrix rows and joystick #1. + .label CIA1_PORT_B = $dc01 + // CIA #1 Port A data direction register. + .label CIA1_PORT_A_DDR = $dc02 + // CIA #1 Port B data direction register. + .label CIA1_PORT_B_DDR = $dc03 + .const KEY_SPACE = $3c + // The size of a file ENTRY + .const ENTRY_SIZE = $12 + // The maximal number of files + .const MAX_FILES = $90 + .label print_char_cursor = $c + .label print_line_cursor = $2c + .label print_line_cursor_32 = 6 + .label print_line_cursor_63 = 6 + .label print_line_cursor_159 = 6 + .label print_line_cursor_160 = 6 + .label print_line_cursor_161 = 6 + .label print_line_cursor_162 = 6 + .label print_line_cursor_163 = 6 + .label print_line_cursor_164 = 6 + .label print_line_cursor_165 = 6 + .label print_line_cursor_166 = 6 + .label print_line_cursor_167 = 6 + .label print_line_cursor_168 = 6 + .label print_line_cursor_169 = 6 + .label print_line_cursor_170 = 6 + .label print_line_cursor_171 = 6 + .label print_line_cursor_172 = 6 + .label print_line_cursor_173 = 6 + .label print_line_cursor_174 = 6 + .label print_line_cursor_175 = 6 + .label print_line_cursor_177 = 6 +//SEG3 @begin +bbegin: +//SEG4 [1] phi from @begin to @1 [phi:@begin->@1] +b1_from_bbegin: + jmp b1 +//SEG5 @1 +b1: +//SEG6 [2] call main +//SEG7 [4] phi from @1 to main [phi:@1->main] +main_from_b1: + jsr main +//SEG8 [3] phi from @1 to @end [phi:@1->@end] +bend_from_b1: + jmp bend +//SEG9 @end +bend: +//SEG10 main +// Initialize 2 file entries and print them +main: { + .const fileEntry1_idx = 1 + .const fileEntry2_idx = 2 + .label _20 = $25 + .label _22 = $27 + .label fileEntry1__0 = $1a + .label entry1 = $1c + .label fileEntry2__0 = $20 + .label entry2 = $22 + //SEG11 [5] call keyboard_init + jsr keyboard_init + //SEG12 [6] phi from main to main::fileEntry1 [phi:main->main::fileEntry1] + fileEntry1_from_main: + jmp fileEntry1 + //SEG13 main::fileEntry1 + fileEntry1: + //SEG14 [7] call mul8u + //SEG15 [253] phi from main::fileEntry1 to mul8u [phi:main::fileEntry1->mul8u] + mul8u_from_fileEntry1: + //SEG16 [253] phi (byte) mul8u::a#6 = (const byte) main::fileEntry1_idx#0 [phi:main::fileEntry1->mul8u#0] -- vbuz1=vbuc1 + lda #fileEntry1_idx + sta mul8u.a + jsr mul8u + //SEG17 [8] (word) mul8u::return#2 ← (word) mul8u::res#2 -- vwuz1=vwuz2 + lda mul8u.res + sta mul8u.return + lda mul8u.res+1 + sta mul8u.return+1 + jmp b6 + //SEG18 main::@6 + b6: + //SEG19 [9] (word) main::fileEntry1_$0#0 ← (word) mul8u::return#2 -- vwuz1=vwuz2 + lda mul8u.return + sta fileEntry1__0 + lda mul8u.return+1 + sta fileEntry1__0+1 + //SEG20 [10] (byte*) main::entry1#0 ← (const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 + (word) main::fileEntry1_$0#0 -- pbuz1=pbuc1_plus_vwuz2 + lda fileEntry1__0 + clc + adc #files + sta entry1+1 + //SEG21 [11] phi from main::@6 to main::fileEntry2 [phi:main::@6->main::fileEntry2] + fileEntry2_from_b6: + jmp fileEntry2 + //SEG22 main::fileEntry2 + fileEntry2: + //SEG23 [12] call mul8u + //SEG24 [253] phi from main::fileEntry2 to mul8u [phi:main::fileEntry2->mul8u] + mul8u_from_fileEntry2: + //SEG25 [253] phi (byte) mul8u::a#6 = (const byte) main::fileEntry2_idx#0 [phi:main::fileEntry2->mul8u#0] -- vbuz1=vbuc1 + lda #fileEntry2_idx + sta mul8u.a + jsr mul8u + //SEG26 [13] (word) mul8u::return#3 ← (word) mul8u::res#2 -- vwuz1=vwuz2 + lda mul8u.res + sta mul8u.return_3 + lda mul8u.res+1 + sta mul8u.return_3+1 + jmp b7 + //SEG27 main::@7 + b7: + //SEG28 [14] (word) main::fileEntry2_$0#0 ← (word) mul8u::return#3 -- vwuz1=vwuz2 + lda mul8u.return_3 + sta fileEntry2__0 + lda mul8u.return_3+1 + sta fileEntry2__0+1 + //SEG29 [15] (byte*) main::entry2#0 ← (const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 + (word) main::fileEntry2_$0#0 -- pbuz1=pbuc1_plus_vwuz2 + lda fileEntry2__0 + clc + adc #files + sta entry2+1 + jmp b5 + //SEG30 main::@5 + b5: + //SEG31 [16] (byte*) initEntry::entry#0 ← (byte*) main::entry1#0 -- pbuz1=pbuz2 + lda entry1 + sta initEntry.entry + lda entry1+1 + sta initEntry.entry+1 + //SEG32 [17] call initEntry + //SEG33 [208] phi from main::@5 to initEntry [phi:main::@5->initEntry] + initEntry_from_b5: + //SEG34 [208] phi (byte) initEntry::n#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@5->initEntry#0] -- vbuz1=vbuc1 + lda #0 + sta initEntry.n + //SEG35 [208] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#0 [phi:main::@5->initEntry#1] -- register_copy + jsr initEntry + jmp b8 + //SEG36 main::@8 + b8: + //SEG37 [18] (byte*) initEntry::entry#1 ← (byte*) main::entry2#0 -- pbuz1=pbuz2 + lda entry2 + sta initEntry.entry + lda entry2+1 + sta initEntry.entry+1 + //SEG38 [19] call initEntry + //SEG39 [208] phi from main::@8 to initEntry [phi:main::@8->initEntry] + initEntry_from_b8: + //SEG40 [208] phi (byte) initEntry::n#10 = (byte/word/signed word/dword/signed dword) $80 [phi:main::@8->initEntry#0] -- vbuz1=vbuc1 + lda #$80 + sta initEntry.n + //SEG41 [208] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#1 [phi:main::@8->initEntry#1] -- register_copy + jsr initEntry + //SEG42 [20] phi from main::@8 to main::@9 [phi:main::@8->main::@9] + b9_from_b8: + jmp b9 + //SEG43 main::@9 + b9: + //SEG44 [21] call print_cls + //SEG45 [65] phi from main::@9 to print_cls [phi:main::@9->print_cls] + print_cls_from_b9: + jsr print_cls + //SEG46 [22] phi from main::@9 to main::@10 [phi:main::@9->main::@10] + b10_from_b9: + jmp b10 + //SEG47 main::@10 + b10: + //SEG48 [23] call print_str + //SEG49 [80] phi from main::@10 to print_str [phi:main::@10->print_str] + print_str_from_b10: + //SEG50 [80] phi (byte*) print_char_cursor#164 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::@10->print_str#0] -- pbuz1=pbuc1 + lda #<$400 + sta print_char_cursor + lda #>$400 + sta print_char_cursor+1 + //SEG51 [80] phi (byte*) print_str::str#20 = (const string) main::str [phi:main::@10->print_str#1] -- pbuz1=pbuc1 + lda #str + sta print_str.str+1 + jsr print_str + //SEG52 [24] phi from main::@10 to main::@11 [phi:main::@10->main::@11] + b11_from_b10: + jmp b11 + //SEG53 main::@11 + b11: + //SEG54 [25] call print_ln + //SEG55 [87] phi from main::@11 to print_ln [phi:main::@11->print_ln] + print_ln_from_b11: + //SEG56 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#142 [phi:main::@11->print_ln#0] -- register_copy + //SEG57 [87] phi (byte*) print_line_cursor#63 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::@11->print_ln#1] -- pbuz1=pbuc1 + lda #<$400 + sta print_line_cursor_63 + lda #>$400 + sta print_line_cursor_63+1 + jsr print_ln + jmp b12 + //SEG58 main::@12 + b12: + //SEG59 [26] (byte*~) print_line_cursor#159 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_159 + lda print_line_cursor+1 + sta print_line_cursor_159+1 + //SEG60 [27] (byte*~) print_char_cursor#230 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG61 [28] call print_ln + //SEG62 [87] phi from main::@12 to print_ln [phi:main::@12->print_ln] + print_ln_from_b12: + //SEG63 [87] phi (byte*) print_char_cursor#143 = (byte*~) print_char_cursor#230 [phi:main::@12->print_ln#0] -- register_copy + //SEG64 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#159 [phi:main::@12->print_ln#1] -- register_copy + jsr print_ln + jmp b13 + //SEG65 main::@13 + b13: + //SEG66 [29] (byte*) printEntry::entry#0 ← (byte*) main::entry1#0 -- pbuz1=pbuz2 + lda entry1 + sta printEntry.entry + lda entry1+1 + sta printEntry.entry+1 + //SEG67 [30] call printEntry + //SEG68 [93] phi from main::@13 to printEntry [phi:main::@13->printEntry] + printEntry_from_b13: + //SEG69 [93] phi (byte*) printEntry::entryBufDisk1_$0#0 = (byte*) printEntry::entry#0 [phi:main::@13->printEntry#0] -- register_copy + jsr printEntry + jmp b14 + //SEG70 main::@14 + b14: + //SEG71 [31] (byte*~) print_line_cursor#160 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_160 + lda print_line_cursor+1 + sta print_line_cursor_160+1 + //SEG72 [32] (byte*~) print_char_cursor#231 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG73 [33] call print_ln + //SEG74 [87] phi from main::@14 to print_ln [phi:main::@14->print_ln] + print_ln_from_b14: + //SEG75 [87] phi (byte*) print_char_cursor#143 = (byte*~) print_char_cursor#231 [phi:main::@14->print_ln#0] -- register_copy + //SEG76 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#160 [phi:main::@14->print_ln#1] -- register_copy + jsr print_ln + jmp b15 + //SEG77 main::@15 + b15: + //SEG78 [34] (byte*~) print_char_cursor#212 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG79 [35] call print_str + //SEG80 [80] phi from main::@15 to print_str [phi:main::@15->print_str] + print_str_from_b15: + //SEG81 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#212 [phi:main::@15->print_str#0] -- register_copy + //SEG82 [80] phi (byte*) print_str::str#20 = (const string) main::str1 [phi:main::@15->print_str#1] -- pbuz1=pbuc1 + lda #str1 + sta print_str.str+1 + jsr print_str + //SEG83 [36] phi from main::@15 main::@16 to main::@1 [phi:main::@15/main::@16->main::@1] + b1_from_b15: + b1_from_b16: + jmp b1 + //SEG84 main::@1 + b1: + //SEG85 [37] call keyboard_key_pressed + //SEG86 [71] phi from main::@1 to keyboard_key_pressed [phi:main::@1->keyboard_key_pressed] + keyboard_key_pressed_from_b1: + jsr keyboard_key_pressed + //SEG87 [38] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 -- vbuz1=vbuz2 + lda keyboard_key_pressed.return + sta keyboard_key_pressed.return_2 + jmp b16 + //SEG88 main::@16 + b16: + //SEG89 [39] (byte~) main::$20 ← (byte) keyboard_key_pressed::return#2 -- vbuz1=vbuz2 + lda keyboard_key_pressed.return_2 + sta _20 + //SEG90 [40] if((byte~) main::$20==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@1 -- vbuz1_eq_0_then_la1 + lda _20 + cmp #0 + beq b1_from_b16 + //SEG91 [41] phi from main::@16 to main::@2 [phi:main::@16->main::@2] + b2_from_b16: + jmp b2 + //SEG92 main::@2 + b2: + //SEG93 [42] call print_cls + //SEG94 [65] phi from main::@2 to print_cls [phi:main::@2->print_cls] + print_cls_from_b2: + jsr print_cls + //SEG95 [43] phi from main::@2 to main::@17 [phi:main::@2->main::@17] + b17_from_b2: + jmp b17 + //SEG96 main::@17 + b17: + //SEG97 [44] call print_str + //SEG98 [80] phi from main::@17 to print_str [phi:main::@17->print_str] + print_str_from_b17: + //SEG99 [80] phi (byte*) print_char_cursor#164 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::@17->print_str#0] -- pbuz1=pbuc1 + lda #<$400 + sta print_char_cursor + lda #>$400 + sta print_char_cursor+1 + //SEG100 [80] phi (byte*) print_str::str#20 = (const string) main::str2 [phi:main::@17->print_str#1] -- pbuz1=pbuc1 + lda #str2 + sta print_str.str+1 + jsr print_str + //SEG101 [45] phi from main::@17 to main::@18 [phi:main::@17->main::@18] + b18_from_b17: + jmp b18 + //SEG102 main::@18 + b18: + //SEG103 [46] call print_ln + //SEG104 [87] phi from main::@18 to print_ln [phi:main::@18->print_ln] + print_ln_from_b18: + //SEG105 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#142 [phi:main::@18->print_ln#0] -- register_copy + //SEG106 [87] phi (byte*) print_line_cursor#63 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::@18->print_ln#1] -- pbuz1=pbuc1 + lda #<$400 + sta print_line_cursor_63 + lda #>$400 + sta print_line_cursor_63+1 + jsr print_ln + jmp b19 + //SEG107 main::@19 + b19: + //SEG108 [47] (byte*~) print_line_cursor#161 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_161 + lda print_line_cursor+1 + sta print_line_cursor_161+1 + //SEG109 [48] (byte*~) print_char_cursor#233 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG110 [49] call print_ln + //SEG111 [87] phi from main::@19 to print_ln [phi:main::@19->print_ln] + print_ln_from_b19: + //SEG112 [87] phi (byte*) print_char_cursor#143 = (byte*~) print_char_cursor#233 [phi:main::@19->print_ln#0] -- register_copy + //SEG113 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#161 [phi:main::@19->print_ln#1] -- register_copy + jsr print_ln + jmp b20 + //SEG114 main::@20 + b20: + //SEG115 [50] (byte*) printEntry::entry#1 ← (byte*) main::entry2#0 -- pbuz1=pbuz2 + lda entry2 + sta printEntry.entry + lda entry2+1 + sta printEntry.entry+1 + //SEG116 [51] call printEntry + //SEG117 [93] phi from main::@20 to printEntry [phi:main::@20->printEntry] + printEntry_from_b20: + //SEG118 [93] phi (byte*) printEntry::entryBufDisk1_$0#0 = (byte*) printEntry::entry#1 [phi:main::@20->printEntry#0] -- register_copy + jsr printEntry + jmp b21 + //SEG119 main::@21 + b21: + //SEG120 [52] (byte*~) print_line_cursor#162 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_162 + lda print_line_cursor+1 + sta print_line_cursor_162+1 + //SEG121 [53] (byte*~) print_char_cursor#234 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG122 [54] call print_ln + //SEG123 [87] phi from main::@21 to print_ln [phi:main::@21->print_ln] + print_ln_from_b21: + //SEG124 [87] phi (byte*) print_char_cursor#143 = (byte*~) print_char_cursor#234 [phi:main::@21->print_ln#0] -- register_copy + //SEG125 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#162 [phi:main::@21->print_ln#1] -- register_copy + jsr print_ln + jmp b22 + //SEG126 main::@22 + b22: + //SEG127 [55] (byte*~) print_char_cursor#213 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG128 [56] call print_str + //SEG129 [80] phi from main::@22 to print_str [phi:main::@22->print_str] + print_str_from_b22: + //SEG130 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#213 [phi:main::@22->print_str#0] -- register_copy + //SEG131 [80] phi (byte*) print_str::str#20 = (const string) main::str1 [phi:main::@22->print_str#1] -- pbuz1=pbuc1 + lda #str1 + sta print_str.str+1 + jsr print_str + //SEG132 [57] phi from main::@22 main::@23 to main::@3 [phi:main::@22/main::@23->main::@3] + b3_from_b22: + b3_from_b23: + jmp b3 + //SEG133 main::@3 + b3: + //SEG134 [58] call keyboard_key_pressed + //SEG135 [71] phi from main::@3 to keyboard_key_pressed [phi:main::@3->keyboard_key_pressed] + keyboard_key_pressed_from_b3: + jsr keyboard_key_pressed + //SEG136 [59] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 -- vbuz1=vbuz2 + lda keyboard_key_pressed.return + sta keyboard_key_pressed.return_3 + jmp b23 + //SEG137 main::@23 + b23: + //SEG138 [60] (byte~) main::$22 ← (byte) keyboard_key_pressed::return#3 -- vbuz1=vbuz2 + lda keyboard_key_pressed.return_3 + sta _22 + //SEG139 [61] if((byte~) main::$22==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@3 -- vbuz1_eq_0_then_la1 + lda _22 + cmp #0 + beq b3_from_b23 + //SEG140 [62] phi from main::@23 to main::@4 [phi:main::@23->main::@4] + b4_from_b23: + jmp b4 + //SEG141 main::@4 + b4: + //SEG142 [63] call print_cls + //SEG143 [65] phi from main::@4 to print_cls [phi:main::@4->print_cls] + print_cls_from_b4: + jsr print_cls + jmp breturn + //SEG144 main::@return + breturn: + //SEG145 [64] return + rts + str: .text "** entry 1 **@" + str1: .text "- press space -@" + str2: .text "** entry 2 **@" +} +//SEG146 print_cls +// Clear the screen. Also resets current line/char cursor. +print_cls: { + .label sc = 2 + //SEG147 [66] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + b1_from_print_cls: + //SEG148 [66] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + lda #<$400 + sta sc + lda #>$400 + sta sc+1 + jmp b1 + //SEG149 [66] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + b1_from_b1: + //SEG150 [66] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + jmp b1 + //SEG151 print_cls::@1 + b1: + //SEG152 [67] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 + lda #' ' + ldy #0 + sta (sc),y + //SEG153 [68] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 + inc sc + bne !+ + inc sc+1 + !: + //SEG154 [69] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) $400+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 -- pbuz1_neq_pbuc1_then_la1 + lda sc+1 + cmp #>$400+$3e8 + bne b1_from_b1 + lda sc + cmp #<$400+$3e8 + bne b1_from_b1 + jmp breturn + //SEG155 print_cls::@return + breturn: + //SEG156 [70] return + rts +} +//SEG157 keyboard_key_pressed +// Determines whether a specific key is currently pressed by accessing the matrix directly +// The key is a keyboard code defined from the keyboard matrix by %00rrrccc, where rrr is the row ID (0-7) and ccc is the column ID (0-7) +// All keys exist as as KEY_XXX constants. +// Returns zero if the key is not pressed and a non-zero value if the key is currently pressed +keyboard_key_pressed: { + .const colidx = KEY_SPACE&7 + .label rowidx = KEY_SPACE>>3 + .label _2 = $29 + .label return = $2a + .label return_2 = $24 + .label return_3 = $26 + //SEG158 [72] call keyboard_matrix_read + jsr keyboard_matrix_read + //SEG159 [73] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 -- vbuz1=vbuz2 + lda keyboard_matrix_read.return + sta keyboard_matrix_read.return_2 + jmp b1 + //SEG160 keyboard_key_pressed::@1 + b1: + //SEG161 [74] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 -- vbuz1=vbuz2 + lda keyboard_matrix_read.return_2 + sta _2 + //SEG162 [75] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[8]) keyboard_matrix_col_bitmask#0+(const byte) keyboard_key_pressed::colidx#0) -- vbuz1=vbuz2_band__deref_pbuc1 + lda keyboard_matrix_col_bitmask+colidx + and _2 + sta return + jmp breturn + //SEG163 keyboard_key_pressed::@return + breturn: + //SEG164 [76] return + rts +} +//SEG165 keyboard_matrix_read +// Read a single row of the keyboard matrix +// The row ID (0-7) of the keyboard matrix row to read. See the C64 key matrix for row IDs. +// Returns the keys pressed on the row as bits according to the C64 key matrix. +// Notice: If the C64 normal interrupt is still running it will occasionally interrupt right between the read & write +// leading to erroneous readings. You must disable kill the normal interrupt or sei/cli around calls to the keyboard matrix reader. +keyboard_matrix_read: { + .label return = $2b + .label return_2 = $28 + //SEG166 [77] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0+(const byte) keyboard_key_pressed::rowidx#0) -- _deref_pbuc1=_deref_pbuc2 + lda keyboard_matrix_row_bitmask+keyboard_key_pressed.rowidx + sta CIA1_PORT_A + //SEG167 [78] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) -- vbuz1=_bnot__deref_pbuc1 + lda CIA1_PORT_B + eor #$ff + sta return + jmp breturn + //SEG168 keyboard_matrix_read::@return + breturn: + //SEG169 [79] return + rts +} +//SEG170 print_str +// Print a zero-terminated string +// print_str(byte* zeropage(4) str) +print_str: { + .label str = 4 + //SEG171 [81] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] + b1_from_print_str: + b1_from_b2: + //SEG172 [81] phi (byte*) print_char_cursor#142 = (byte*) print_char_cursor#164 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy + //SEG173 [81] phi (byte*) print_str::str#18 = (byte*) print_str::str#20 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy + jmp b1 + //SEG174 print_str::@1 + b1: + //SEG175 [82] if(*((byte*) print_str::str#18)!=(byte) '@') goto print_str::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 + ldy #0 + lda (str),y + cmp #'@' + bne b2 + jmp breturn + //SEG176 print_str::@return + breturn: + //SEG177 [83] return + rts + //SEG178 print_str::@2 + b2: + //SEG179 [84] *((byte*) print_char_cursor#142) ← *((byte*) print_str::str#18) -- _deref_pbuz1=_deref_pbuz2 + ldy #0 + lda (str),y + ldy #0 + sta (print_char_cursor),y + //SEG180 [85] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#142 -- pbuz1=_inc_pbuz1 + inc print_char_cursor + bne !+ + inc print_char_cursor+1 + !: + //SEG181 [86] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#18 -- pbuz1=_inc_pbuz1 + inc str + bne !+ + inc str+1 + !: + jmp b1_from_b2 +} +//SEG182 print_ln +// Print a newline +print_ln: { + //SEG183 [88] phi from print_ln print_ln::@2 to print_ln::@1 [phi:print_ln/print_ln::@2->print_ln::@1] + b1_from_print_ln: + b1_from_b2: + //SEG184 [88] phi (byte*) print_line_cursor#32 = (byte*) print_line_cursor#63 [phi:print_ln/print_ln::@2->print_ln::@1#0] -- register_copy + jmp b1 + //SEG185 print_ln::@1 + b1: + //SEG186 [89] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#32 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz2_plus_vbuc1 + lda #$28 + clc + adc print_line_cursor_32 + sta print_line_cursor + lda #0 + adc print_line_cursor_32+1 + sta print_line_cursor+1 + //SEG187 [90] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#143) goto print_ln::@2 -- pbuz1_lt_pbuz2_then_la1 + lda print_line_cursor+1 + cmp print_char_cursor+1 + bcc b2 + bne !+ + lda print_line_cursor + cmp print_char_cursor + bcc b2 + !: + jmp breturn + //SEG188 print_ln::@return + breturn: + //SEG189 [91] return + rts + //SEG190 print_ln::@2 + b2: + //SEG191 [92] (byte*~) print_line_cursor#177 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_177 + lda print_line_cursor+1 + sta print_line_cursor_177+1 + jmp b1_from_b2 +} +//SEG192 printEntry +// Print the contents of a file entry +// printEntry(byte* zeropage(8) entry) +printEntry: { + .label entry = 8 + .label entryBufDisk1__0 = 8 + .label entryBufDisk1_return = $2e + .label entryBufEdit1__0 = $30 + .label entryBufEdit1_return = $32 + .label entryTsLen1__0 = $34 + .label entryTsLen1_return = $36 + .label entryTsOrder1__0 = $38 + .label entryTsOrder1_return = $3a + .label entryTLastLink1_return = $3c + .label entrySLastLink1_return = $3e + .label entryBFlag1_return = $40 + .label entryBError1_return = $42 + .label entryUCross1__0 = $44 + .label entryUCross1_return = $46 + .label entryBAddrLo1_return = $48 + .label entryBAddrHi1_return = $4a + .label entryTHi1_return = $4c + .label entryTLo1_return = $4e + //SEG193 [94] (byte*~) print_char_cursor#214 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG194 [95] call print_str + //SEG195 [80] phi from printEntry to print_str [phi:printEntry->print_str] + print_str_from_printEntry: + //SEG196 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#214 [phi:printEntry->print_str#0] -- register_copy + //SEG197 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str [phi:printEntry->print_str#1] -- pbuz1=pbuc1 + lda #str + sta print_str.str+1 + jsr print_str + jmp entryBufDisk1 + //SEG198 printEntry::entryBufDisk1 + entryBufDisk1: + //SEG199 [96] (byte**) printEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 -- pptz1=_ptr_pbuz2 + lda entryBufDisk1__0 + sta entryBufDisk1_return + lda entryBufDisk1__0+1 + sta entryBufDisk1_return+1 + jmp b1 + //SEG200 printEntry::@1 + b1: + //SEG201 [97] (word~) print_word::w#7 ← (word)*((byte**) printEntry::entryBufDisk1_return#0) -- vwuz1=_deref_pwuz2 + ldy #0 + lda (entryBufDisk1_return),y + sta print_word.w + iny + lda (entryBufDisk1_return),y + sta print_word.w+1 + //SEG202 [98] call print_word + //SEG203 [202] phi from printEntry::@1 to print_word [phi:printEntry::@1->print_word] + print_word_from_b1: + //SEG204 [202] phi (word) print_word::w#5 = (word~) print_word::w#7 [phi:printEntry::@1->print_word#0] -- register_copy + jsr print_word + jmp b14 + //SEG205 printEntry::@14 + b14: + //SEG206 [99] (byte*~) print_line_cursor#163 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_163 + lda print_line_cursor+1 + sta print_line_cursor_163+1 + //SEG207 [100] call print_ln + //SEG208 [87] phi from printEntry::@14 to print_ln [phi:printEntry::@14->print_ln] + print_ln_from_b14: + //SEG209 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@14->print_ln#0] -- register_copy + //SEG210 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#163 [phi:printEntry::@14->print_ln#1] -- register_copy + jsr print_ln + jmp b15 + //SEG211 printEntry::@15 + b15: + //SEG212 [101] (byte*~) print_char_cursor#215 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG213 [102] call print_str + //SEG214 [80] phi from printEntry::@15 to print_str [phi:printEntry::@15->print_str] + print_str_from_b15: + //SEG215 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#215 [phi:printEntry::@15->print_str#0] -- register_copy + //SEG216 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str1 [phi:printEntry::@15->print_str#1] -- pbuz1=pbuc1 + lda #str1 + sta print_str.str+1 + jsr print_str + jmp entryBufEdit1 + //SEG217 printEntry::entryBufEdit1 + entryBufEdit1: + //SEG218 [103] (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz2_plus_2 + lda entryBufDisk1__0 + clc + adc #2 + sta entryBufEdit1__0 + lda entryBufDisk1__0+1 + adc #0 + sta entryBufEdit1__0+1 + //SEG219 [104] (byte**) printEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 -- pptz1=_ptr_pbuz2 + lda entryBufEdit1__0 + sta entryBufEdit1_return + lda entryBufEdit1__0+1 + sta entryBufEdit1_return+1 + jmp b2 + //SEG220 printEntry::@2 + b2: + //SEG221 [105] (word~) print_word::w#8 ← (word)*((byte**) printEntry::entryBufEdit1_return#0) -- vwuz1=_deref_pwuz2 + ldy #0 + lda (entryBufEdit1_return),y + sta print_word.w + iny + lda (entryBufEdit1_return),y + sta print_word.w+1 + //SEG222 [106] call print_word + //SEG223 [202] phi from printEntry::@2 to print_word [phi:printEntry::@2->print_word] + print_word_from_b2: + //SEG224 [202] phi (word) print_word::w#5 = (word~) print_word::w#8 [phi:printEntry::@2->print_word#0] -- register_copy + jsr print_word + jmp b16 + //SEG225 printEntry::@16 + b16: + //SEG226 [107] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_164 + lda print_line_cursor+1 + sta print_line_cursor_164+1 + //SEG227 [108] call print_ln + //SEG228 [87] phi from printEntry::@16 to print_ln [phi:printEntry::@16->print_ln] + print_ln_from_b16: + //SEG229 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@16->print_ln#0] -- register_copy + //SEG230 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#164 [phi:printEntry::@16->print_ln#1] -- register_copy + jsr print_ln + jmp b17 + //SEG231 printEntry::@17 + b17: + //SEG232 [109] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG233 [110] call print_str + //SEG234 [80] phi from printEntry::@17 to print_str [phi:printEntry::@17->print_str] + print_str_from_b17: + //SEG235 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#216 [phi:printEntry::@17->print_str#0] -- register_copy + //SEG236 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str2 [phi:printEntry::@17->print_str#1] -- pbuz1=pbuc1 + lda #str2 + sta print_str.str+1 + jsr print_str + jmp entryTsLen1 + //SEG237 printEntry::entryTsLen1 + entryTsLen1: + //SEG238 [111] (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz2_plus_vbuc1 + lda #4 + clc + adc entryBufDisk1__0 + sta entryTsLen1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsLen1__0+1 + //SEG239 [112] (word*) printEntry::entryTsLen1_return#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 -- pwuz1=_ptr_pbuz2 + lda entryTsLen1__0 + sta entryTsLen1_return + lda entryTsLen1__0+1 + sta entryTsLen1_return+1 + jmp b3 + //SEG240 printEntry::@3 + b3: + //SEG241 [113] (word) print_word::w#2 ← *((word*) printEntry::entryTsLen1_return#0) -- vwuz1=_deref_pwuz2 + ldy #0 + lda (entryTsLen1_return),y + sta print_word.w + iny + lda (entryTsLen1_return),y + sta print_word.w+1 + //SEG242 [114] call print_word + //SEG243 [202] phi from printEntry::@3 to print_word [phi:printEntry::@3->print_word] + print_word_from_b3: + //SEG244 [202] phi (word) print_word::w#5 = (word) print_word::w#2 [phi:printEntry::@3->print_word#0] -- register_copy + jsr print_word + jmp b18 + //SEG245 printEntry::@18 + b18: + //SEG246 [115] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_165 + lda print_line_cursor+1 + sta print_line_cursor_165+1 + //SEG247 [116] call print_ln + //SEG248 [87] phi from printEntry::@18 to print_ln [phi:printEntry::@18->print_ln] + print_ln_from_b18: + //SEG249 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@18->print_ln#0] -- register_copy + //SEG250 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#165 [phi:printEntry::@18->print_ln#1] -- register_copy + jsr print_ln + jmp b19 + //SEG251 printEntry::@19 + b19: + //SEG252 [117] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG253 [118] call print_str + //SEG254 [80] phi from printEntry::@19 to print_str [phi:printEntry::@19->print_str] + print_str_from_b19: + //SEG255 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#217 [phi:printEntry::@19->print_str#0] -- register_copy + //SEG256 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str3 [phi:printEntry::@19->print_str#1] -- pbuz1=pbuc1 + lda #str3 + sta print_str.str+1 + jsr print_str + jmp entryTsOrder1 + //SEG257 printEntry::entryTsOrder1 + entryTsOrder1: + //SEG258 [119] (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- pbuz1=pbuz2_plus_vbuc1 + lda #6 + clc + adc entryBufDisk1__0 + sta entryTsOrder1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsOrder1__0+1 + //SEG259 [120] (word**) printEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 -- pptz1=_ptr_pbuz2 + lda entryTsOrder1__0 + sta entryTsOrder1_return + lda entryTsOrder1__0+1 + sta entryTsOrder1_return+1 + jmp b4 + //SEG260 printEntry::@4 + b4: + //SEG261 [121] (word~) print_word::w#10 ← (word)*((word**) printEntry::entryTsOrder1_return#0) -- vwuz1=_deref_pwuz2 + ldy #0 + lda (entryTsOrder1_return),y + sta print_word.w + iny + lda (entryTsOrder1_return),y + sta print_word.w+1 + //SEG262 [122] call print_word + //SEG263 [202] phi from printEntry::@4 to print_word [phi:printEntry::@4->print_word] + print_word_from_b4: + //SEG264 [202] phi (word) print_word::w#5 = (word~) print_word::w#10 [phi:printEntry::@4->print_word#0] -- register_copy + jsr print_word + jmp b20 + //SEG265 printEntry::@20 + b20: + //SEG266 [123] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_166 + lda print_line_cursor+1 + sta print_line_cursor_166+1 + //SEG267 [124] call print_ln + //SEG268 [87] phi from printEntry::@20 to print_ln [phi:printEntry::@20->print_ln] + print_ln_from_b20: + //SEG269 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@20->print_ln#0] -- register_copy + //SEG270 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#166 [phi:printEntry::@20->print_ln#1] -- register_copy + jsr print_ln + jmp b21 + //SEG271 printEntry::@21 + b21: + //SEG272 [125] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG273 [126] call print_str + //SEG274 [80] phi from printEntry::@21 to print_str [phi:printEntry::@21->print_str] + print_str_from_b21: + //SEG275 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#218 [phi:printEntry::@21->print_str#0] -- register_copy + //SEG276 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str4 [phi:printEntry::@21->print_str#1] -- pbuz1=pbuc1 + lda #str4 + sta print_str.str+1 + jsr print_str + jmp entryTLastLink1 + //SEG277 printEntry::entryTLastLink1 + entryTLastLink1: + //SEG278 [127] (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz2_plus_vbuc1 + lda #8 + clc + adc entryBufDisk1__0 + sta entryTLastLink1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTLastLink1_return+1 + jmp b5 + //SEG279 printEntry::@5 + b5: + //SEG280 [128] (byte) print_byte::b#2 ← *((byte*) printEntry::entryTLastLink1_return#0) -- vbuz1=_deref_pbuz2 + ldy #0 + lda (entryTLastLink1_return),y + sta print_byte.b + //SEG281 [129] call print_byte + //SEG282 [190] phi from printEntry::@5 to print_byte [phi:printEntry::@5->print_byte] + print_byte_from_b5: + //SEG283 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@5->print_byte#0] -- register_copy + //SEG284 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#2 [phi:printEntry::@5->print_byte#1] -- register_copy + jsr print_byte + jmp b22 + //SEG285 printEntry::@22 + b22: + //SEG286 [130] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_167 + lda print_line_cursor+1 + sta print_line_cursor_167+1 + //SEG287 [131] call print_ln + //SEG288 [87] phi from printEntry::@22 to print_ln [phi:printEntry::@22->print_ln] + print_ln_from_b22: + //SEG289 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@22->print_ln#0] -- register_copy + //SEG290 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#167 [phi:printEntry::@22->print_ln#1] -- register_copy + jsr print_ln + jmp b23 + //SEG291 printEntry::@23 + b23: + //SEG292 [132] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG293 [133] call print_str + //SEG294 [80] phi from printEntry::@23 to print_str [phi:printEntry::@23->print_str] + print_str_from_b23: + //SEG295 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#219 [phi:printEntry::@23->print_str#0] -- register_copy + //SEG296 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str5 [phi:printEntry::@23->print_str#1] -- pbuz1=pbuc1 + lda #str5 + sta print_str.str+1 + jsr print_str + jmp entrySLastLink1 + //SEG297 printEntry::entrySLastLink1 + entrySLastLink1: + //SEG298 [134] (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- pbuz1=pbuz2_plus_vbuc1 + lda #9 + clc + adc entryBufDisk1__0 + sta entrySLastLink1_return + lda #0 + adc entryBufDisk1__0+1 + sta entrySLastLink1_return+1 + jmp b6 + //SEG299 printEntry::@6 + b6: + //SEG300 [135] (byte) print_byte::b#3 ← *((byte*) printEntry::entrySLastLink1_return#0) -- vbuz1=_deref_pbuz2 + ldy #0 + lda (entrySLastLink1_return),y + sta print_byte.b + //SEG301 [136] call print_byte + //SEG302 [190] phi from printEntry::@6 to print_byte [phi:printEntry::@6->print_byte] + print_byte_from_b6: + //SEG303 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@6->print_byte#0] -- register_copy + //SEG304 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#3 [phi:printEntry::@6->print_byte#1] -- register_copy + jsr print_byte + jmp b24 + //SEG305 printEntry::@24 + b24: + //SEG306 [137] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_168 + lda print_line_cursor+1 + sta print_line_cursor_168+1 + //SEG307 [138] call print_ln + //SEG308 [87] phi from printEntry::@24 to print_ln [phi:printEntry::@24->print_ln] + print_ln_from_b24: + //SEG309 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@24->print_ln#0] -- register_copy + //SEG310 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#168 [phi:printEntry::@24->print_ln#1] -- register_copy + jsr print_ln + jmp b25 + //SEG311 printEntry::@25 + b25: + //SEG312 [139] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG313 [140] call print_str + //SEG314 [80] phi from printEntry::@25 to print_str [phi:printEntry::@25->print_str] + print_str_from_b25: + //SEG315 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#220 [phi:printEntry::@25->print_str#0] -- register_copy + //SEG316 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str6 [phi:printEntry::@25->print_str#1] -- pbuz1=pbuc1 + lda #str6 + sta print_str.str+1 + jsr print_str + jmp entryBFlag1 + //SEG317 printEntry::entryBFlag1 + entryBFlag1: + //SEG318 [141] (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a -- pbuz1=pbuz2_plus_vbuc1 + lda #$a + clc + adc entryBufDisk1__0 + sta entryBFlag1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBFlag1_return+1 + jmp b7 + //SEG319 printEntry::@7 + b7: + //SEG320 [142] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBFlag1_return#0) -- vbuz1=_deref_pbuz2 + ldy #0 + lda (entryBFlag1_return),y + sta print_byte.b + //SEG321 [143] call print_byte + //SEG322 [190] phi from printEntry::@7 to print_byte [phi:printEntry::@7->print_byte] + print_byte_from_b7: + //SEG323 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@7->print_byte#0] -- register_copy + //SEG324 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#4 [phi:printEntry::@7->print_byte#1] -- register_copy + jsr print_byte + jmp b26 + //SEG325 printEntry::@26 + b26: + //SEG326 [144] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_169 + lda print_line_cursor+1 + sta print_line_cursor_169+1 + //SEG327 [145] call print_ln + //SEG328 [87] phi from printEntry::@26 to print_ln [phi:printEntry::@26->print_ln] + print_ln_from_b26: + //SEG329 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@26->print_ln#0] -- register_copy + //SEG330 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#169 [phi:printEntry::@26->print_ln#1] -- register_copy + jsr print_ln + jmp b27 + //SEG331 printEntry::@27 + b27: + //SEG332 [146] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG333 [147] call print_str + //SEG334 [80] phi from printEntry::@27 to print_str [phi:printEntry::@27->print_str] + print_str_from_b27: + //SEG335 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#221 [phi:printEntry::@27->print_str#0] -- register_copy + //SEG336 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str7 [phi:printEntry::@27->print_str#1] -- pbuz1=pbuc1 + lda #str7 + sta print_str.str+1 + jsr print_str + jmp entryBError1 + //SEG337 printEntry::entryBError1 + entryBError1: + //SEG338 [148] (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b -- pbuz1=pbuz2_plus_vbuc1 + lda #$b + clc + adc entryBufDisk1__0 + sta entryBError1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBError1_return+1 + jmp b8 + //SEG339 printEntry::@8 + b8: + //SEG340 [149] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBError1_return#0) -- vbuz1=_deref_pbuz2 + ldy #0 + lda (entryBError1_return),y + sta print_byte.b + //SEG341 [150] call print_byte + //SEG342 [190] phi from printEntry::@8 to print_byte [phi:printEntry::@8->print_byte] + print_byte_from_b8: + //SEG343 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@8->print_byte#0] -- register_copy + //SEG344 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#5 [phi:printEntry::@8->print_byte#1] -- register_copy + jsr print_byte + jmp b28 + //SEG345 printEntry::@28 + b28: + //SEG346 [151] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_170 + lda print_line_cursor+1 + sta print_line_cursor_170+1 + //SEG347 [152] call print_ln + //SEG348 [87] phi from printEntry::@28 to print_ln [phi:printEntry::@28->print_ln] + print_ln_from_b28: + //SEG349 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@28->print_ln#0] -- register_copy + //SEG350 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#170 [phi:printEntry::@28->print_ln#1] -- register_copy + jsr print_ln + jmp b29 + //SEG351 printEntry::@29 + b29: + //SEG352 [153] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG353 [154] call print_str + //SEG354 [80] phi from printEntry::@29 to print_str [phi:printEntry::@29->print_str] + print_str_from_b29: + //SEG355 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#222 [phi:printEntry::@29->print_str#0] -- register_copy + //SEG356 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str8 [phi:printEntry::@29->print_str#1] -- pbuz1=pbuc1 + lda #str8 + sta print_str.str+1 + jsr print_str + jmp entryUCross1 + //SEG357 printEntry::entryUCross1 + entryUCross1: + //SEG358 [155] (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c -- pbuz1=pbuz2_plus_vbuc1 + lda #$c + clc + adc entryBufDisk1__0 + sta entryUCross1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryUCross1__0+1 + //SEG359 [156] (word*) printEntry::entryUCross1_return#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 -- pwuz1=_ptr_pbuz2 + lda entryUCross1__0 + sta entryUCross1_return + lda entryUCross1__0+1 + sta entryUCross1_return+1 + jmp b9 + //SEG360 printEntry::@9 + b9: + //SEG361 [157] (word) print_word::w#4 ← *((word*) printEntry::entryUCross1_return#0) -- vwuz1=_deref_pwuz2 + ldy #0 + lda (entryUCross1_return),y + sta print_word.w + iny + lda (entryUCross1_return),y + sta print_word.w+1 + //SEG362 [158] call print_word + //SEG363 [202] phi from printEntry::@9 to print_word [phi:printEntry::@9->print_word] + print_word_from_b9: + //SEG364 [202] phi (word) print_word::w#5 = (word) print_word::w#4 [phi:printEntry::@9->print_word#0] -- register_copy + jsr print_word + jmp b30 + //SEG365 printEntry::@30 + b30: + //SEG366 [159] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_171 + lda print_line_cursor+1 + sta print_line_cursor_171+1 + //SEG367 [160] call print_ln + //SEG368 [87] phi from printEntry::@30 to print_ln [phi:printEntry::@30->print_ln] + print_ln_from_b30: + //SEG369 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@30->print_ln#0] -- register_copy + //SEG370 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#171 [phi:printEntry::@30->print_ln#1] -- register_copy + jsr print_ln + jmp b31 + //SEG371 printEntry::@31 + b31: + //SEG372 [161] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG373 [162] call print_str + //SEG374 [80] phi from printEntry::@31 to print_str [phi:printEntry::@31->print_str] + print_str_from_b31: + //SEG375 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#223 [phi:printEntry::@31->print_str#0] -- register_copy + //SEG376 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str9 [phi:printEntry::@31->print_str#1] -- pbuz1=pbuc1 + lda #str9 + sta print_str.str+1 + jsr print_str + jmp entryBAddrLo1 + //SEG377 printEntry::entryBAddrLo1 + entryBAddrLo1: + //SEG378 [163] (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e -- pbuz1=pbuz2_plus_vbuc1 + lda #$e + clc + adc entryBufDisk1__0 + sta entryBAddrLo1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBAddrLo1_return+1 + jmp b10 + //SEG379 printEntry::@10 + b10: + //SEG380 [164] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBAddrLo1_return#0) -- vbuz1=_deref_pbuz2 + ldy #0 + lda (entryBAddrLo1_return),y + sta print_byte.b + //SEG381 [165] call print_byte + //SEG382 [190] phi from printEntry::@10 to print_byte [phi:printEntry::@10->print_byte] + print_byte_from_b10: + //SEG383 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@10->print_byte#0] -- register_copy + //SEG384 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#6 [phi:printEntry::@10->print_byte#1] -- register_copy + jsr print_byte + jmp b32 + //SEG385 printEntry::@32 + b32: + //SEG386 [166] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_172 + lda print_line_cursor+1 + sta print_line_cursor_172+1 + //SEG387 [167] call print_ln + //SEG388 [87] phi from printEntry::@32 to print_ln [phi:printEntry::@32->print_ln] + print_ln_from_b32: + //SEG389 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@32->print_ln#0] -- register_copy + //SEG390 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#172 [phi:printEntry::@32->print_ln#1] -- register_copy + jsr print_ln + jmp b33 + //SEG391 printEntry::@33 + b33: + //SEG392 [168] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG393 [169] call print_str + //SEG394 [80] phi from printEntry::@33 to print_str [phi:printEntry::@33->print_str] + print_str_from_b33: + //SEG395 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#224 [phi:printEntry::@33->print_str#0] -- register_copy + //SEG396 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str10 [phi:printEntry::@33->print_str#1] -- pbuz1=pbuc1 + lda #str10 + sta print_str.str+1 + jsr print_str + jmp entryBAddrHi1 + //SEG397 printEntry::entryBAddrHi1 + entryBAddrHi1: + //SEG398 [170] (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f -- pbuz1=pbuz2_plus_vbuc1 + lda #$f + clc + adc entryBufDisk1__0 + sta entryBAddrHi1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBAddrHi1_return+1 + jmp b11 + //SEG399 printEntry::@11 + b11: + //SEG400 [171] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBAddrHi1_return#0) -- vbuz1=_deref_pbuz2 + ldy #0 + lda (entryBAddrHi1_return),y + sta print_byte.b + //SEG401 [172] call print_byte + //SEG402 [190] phi from printEntry::@11 to print_byte [phi:printEntry::@11->print_byte] + print_byte_from_b11: + //SEG403 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@11->print_byte#0] -- register_copy + //SEG404 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#7 [phi:printEntry::@11->print_byte#1] -- register_copy + jsr print_byte + jmp b34 + //SEG405 printEntry::@34 + b34: + //SEG406 [173] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_173 + lda print_line_cursor+1 + sta print_line_cursor_173+1 + //SEG407 [174] call print_ln + //SEG408 [87] phi from printEntry::@34 to print_ln [phi:printEntry::@34->print_ln] + print_ln_from_b34: + //SEG409 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@34->print_ln#0] -- register_copy + //SEG410 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#173 [phi:printEntry::@34->print_ln#1] -- register_copy + jsr print_ln + jmp b35 + //SEG411 printEntry::@35 + b35: + //SEG412 [175] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG413 [176] call print_str + //SEG414 [80] phi from printEntry::@35 to print_str [phi:printEntry::@35->print_str] + print_str_from_b35: + //SEG415 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#225 [phi:printEntry::@35->print_str#0] -- register_copy + //SEG416 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str11 [phi:printEntry::@35->print_str#1] -- pbuz1=pbuc1 + lda #str11 + sta print_str.str+1 + jsr print_str + jmp entryTHi1 + //SEG417 printEntry::entryTHi1 + entryTHi1: + //SEG418 [177] (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 -- pbuz1=pbuz2_plus_vbuc1 + lda #$10 + clc + adc entryBufDisk1__0 + sta entryTHi1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTHi1_return+1 + jmp b12 + //SEG419 printEntry::@12 + b12: + //SEG420 [178] (byte) print_byte::b#8 ← *((byte*) printEntry::entryTHi1_return#0) -- vbuz1=_deref_pbuz2 + ldy #0 + lda (entryTHi1_return),y + sta print_byte.b + //SEG421 [179] call print_byte + //SEG422 [190] phi from printEntry::@12 to print_byte [phi:printEntry::@12->print_byte] + print_byte_from_b12: + //SEG423 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@12->print_byte#0] -- register_copy + //SEG424 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#8 [phi:printEntry::@12->print_byte#1] -- register_copy + jsr print_byte + jmp b36 + //SEG425 printEntry::@36 + b36: + //SEG426 [180] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_174 + lda print_line_cursor+1 + sta print_line_cursor_174+1 + //SEG427 [181] call print_ln + //SEG428 [87] phi from printEntry::@36 to print_ln [phi:printEntry::@36->print_ln] + print_ln_from_b36: + //SEG429 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@36->print_ln#0] -- register_copy + //SEG430 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#174 [phi:printEntry::@36->print_ln#1] -- register_copy + jsr print_ln + jmp b37 + //SEG431 printEntry::@37 + b37: + //SEG432 [182] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG433 [183] call print_str + //SEG434 [80] phi from printEntry::@37 to print_str [phi:printEntry::@37->print_str] + print_str_from_b37: + //SEG435 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#226 [phi:printEntry::@37->print_str#0] -- register_copy + //SEG436 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str12 [phi:printEntry::@37->print_str#1] -- pbuz1=pbuc1 + lda #str12 + sta print_str.str+1 + jsr print_str + jmp entryTLo1 + //SEG437 printEntry::entryTLo1 + entryTLo1: + //SEG438 [184] (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 -- pbuz1=pbuz2_plus_vbuc1 + lda #$11 + clc + adc entryBufDisk1__0 + sta entryTLo1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTLo1_return+1 + jmp b13 + //SEG439 printEntry::@13 + b13: + //SEG440 [185] (byte) print_byte::b#9 ← *((byte*) printEntry::entryTLo1_return#0) -- vbuz1=_deref_pbuz2 + ldy #0 + lda (entryTLo1_return),y + sta print_byte.b + //SEG441 [186] call print_byte + //SEG442 [190] phi from printEntry::@13 to print_byte [phi:printEntry::@13->print_byte] + print_byte_from_b13: + //SEG443 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@13->print_byte#0] -- register_copy + //SEG444 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#9 [phi:printEntry::@13->print_byte#1] -- register_copy + jsr print_byte + jmp b38 + //SEG445 printEntry::@38 + b38: + //SEG446 [187] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_175 + lda print_line_cursor+1 + sta print_line_cursor_175+1 + //SEG447 [188] call print_ln + //SEG448 [87] phi from printEntry::@38 to print_ln [phi:printEntry::@38->print_ln] + print_ln_from_b38: + //SEG449 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@38->print_ln#0] -- register_copy + //SEG450 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#175 [phi:printEntry::@38->print_ln#1] -- register_copy + jsr print_ln + jmp breturn + //SEG451 printEntry::@return + breturn: + //SEG452 [189] return + rts + str: .text "bufdisk @" + str1: .text "bufedit @" + str2: .text "tslen @" + str3: .text "tsorder @" + str4: .text "tlastlink @" + str5: .text "slastlink @" + str6: .text "bflag @" + str7: .text "berror @" + str8: .text "ucross @" + str9: .text "baddrlo @" + str10: .text "baddrhi @" + str11: .text "thi @" + str12: .text "tlo @" +} +//SEG453 print_byte +// Print a byte as HEX +// print_byte(byte zeropage($a) b) +print_byte: { + .label _0 = $50 + .label _2 = $51 + .label b = $a + //SEG454 [191] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_ror_4 + lda b + lsr + lsr + lsr + lsr + sta _0 + //SEG455 [192] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) -- vbuz1=pbuc1_derefidx_vbuz2 + ldy _0 + lda print_hextab,y + sta print_char.ch + //SEG456 [193] call print_char + //SEG457 [198] phi from print_byte to print_char [phi:print_byte->print_char] + print_char_from_print_byte: + //SEG458 [198] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#145 [phi:print_byte->print_char#0] -- register_copy + //SEG459 [198] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy + jsr print_char + jmp b1 + //SEG460 print_byte::@1 + b1: + //SEG461 [194] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuz1=vbuz2_band_vbuc1 + lda #$f + and b + sta _2 + //SEG462 [195] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuz1=pbuc1_derefidx_vbuz2 + ldy _2 + lda print_hextab,y + sta print_char.ch + //SEG463 [196] call print_char + //SEG464 [198] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] + print_char_from_b1: + //SEG465 [198] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy + //SEG466 [198] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy + jsr print_char + jmp breturn + //SEG467 print_byte::@return + breturn: + //SEG468 [197] return + rts +} +//SEG469 print_char +// Print a single char +// print_char(byte zeropage($b) ch) +print_char: { + .label ch = $b + //SEG470 [199] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 -- _deref_pbuz1=vbuz2 + lda ch + ldy #0 + sta (print_char_cursor),y + //SEG471 [200] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 -- pbuz1=_inc_pbuz1 + inc print_char_cursor + bne !+ + inc print_char_cursor+1 + !: + jmp breturn + //SEG472 print_char::@return + breturn: + //SEG473 [201] return + rts +} +//SEG474 print_word +// Print a word as HEX +// print_word(word zeropage($e) w) +print_word: { + .label w = $e + //SEG475 [203] (byte) print_byte::b#0 ← > (word) print_word::w#5 -- vbuz1=_hi_vwuz2 + lda w+1 + sta print_byte.b + //SEG476 [204] call print_byte + //SEG477 [190] phi from print_word to print_byte [phi:print_word->print_byte] + print_byte_from_print_word: + //SEG478 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:print_word->print_byte#0] -- register_copy + //SEG479 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy + jsr print_byte + jmp b1 + //SEG480 print_word::@1 + b1: + //SEG481 [205] (byte) print_byte::b#1 ← < (word) print_word::w#5 -- vbuz1=_lo_vwuz2 + lda w + sta print_byte.b + //SEG482 [206] call print_byte + //SEG483 [190] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] + print_byte_from_b1: + //SEG484 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy + //SEG485 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy + jsr print_byte + jmp breturn + //SEG486 print_word::@return + breturn: + //SEG487 [207] return + rts +} +//SEG488 initEntry +// Set all values in the passed struct +// Sets the values to n, n+1, n... to help test that everything works as intended +// initEntry(byte* zeropage($10) entry, byte zeropage($12) n) +initEntry: { + .label _1 = $54 + .label _3 = $59 + .label _5 = $5e + .label _7 = $63 + .label _9 = $66 + .label _11 = $69 + .label _13 = $6c + .label _15 = $6f + .label _17 = $74 + .label _19 = $77 + .label _21 = $7a + .label _23 = $7d + .label _25 = $80 + .label entry = $10 + .label entryBufDisk1__0 = $10 + .label entryBufDisk1_return = $52 + .label entryBufEdit1__0 = $55 + .label entryBufEdit1_return = $57 + .label entryTsLen1__0 = $5a + .label entryTsLen1_return = $5c + .label entryTsOrder1__0 = $5f + .label entryTsOrder1_return = $61 + .label entryTLastLink1_return = $64 + .label entrySLastLink1_return = $67 + .label entryBFlag1_return = $6a + .label entryBError1_return = $6d + .label entryUCross1__0 = $70 + .label entryUCross1_return = $72 + .label entryBAddrLo1_return = $75 + .label entryBAddrHi1_return = $78 + .label entryTHi1_return = $7b + .label entryTLo1_return = $7e + .label n = $12 + jmp entryBufDisk1 + //SEG489 initEntry::entryBufDisk1 + entryBufDisk1: + //SEG490 [209] (byte**) initEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 -- pptz1=_ptr_pbuz2 + lda entryBufDisk1__0 + sta entryBufDisk1_return + lda entryBufDisk1__0+1 + sta entryBufDisk1_return+1 + jmp b1 + //SEG491 initEntry::@1 + b1: + //SEG492 [210] (byte/signed word/word/dword/signed dword~) initEntry::$1 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_plus_1 + ldy n + iny + sty _1 + //SEG493 [211] *((byte**) initEntry::entryBufDisk1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 -- _deref_pptz1=_ptr_vbuz2 + lda _1 + ldy #0 + sta (entryBufDisk1_return),y + tya + iny + sta (entryBufDisk1_return),y + jmp entryBufEdit1 + //SEG494 initEntry::entryBufEdit1 + entryBufEdit1: + //SEG495 [212] (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz2_plus_2 + lda entryBufDisk1__0 + clc + adc #2 + sta entryBufEdit1__0 + lda entryBufDisk1__0+1 + adc #0 + sta entryBufEdit1__0+1 + //SEG496 [213] (byte**) initEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 -- pptz1=_ptr_pbuz2 + lda entryBufEdit1__0 + sta entryBufEdit1_return + lda entryBufEdit1__0+1 + sta entryBufEdit1_return+1 + jmp b2 + //SEG497 initEntry::@2 + b2: + //SEG498 [214] (byte/signed word/word/dword/signed dword~) initEntry::$3 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuz1=vbuz2_plus_2 + lda n + clc + adc #2 + sta _3 + //SEG499 [215] *((byte**) initEntry::entryBufEdit1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 -- _deref_pptz1=_ptr_vbuz2 + lda _3 + ldy #0 + sta (entryBufEdit1_return),y + tya + iny + sta (entryBufEdit1_return),y + jmp entryTsLen1 + //SEG500 initEntry::entryTsLen1 + entryTsLen1: + //SEG501 [216] (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz2_plus_vbuc1 + lda #4 + clc + adc entryBufDisk1__0 + sta entryTsLen1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsLen1__0+1 + //SEG502 [217] (word*) initEntry::entryTsLen1_return#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 -- pwuz1=_ptr_pbuz2 + lda entryTsLen1__0 + sta entryTsLen1_return + lda entryTsLen1__0+1 + sta entryTsLen1_return+1 + jmp b3 + //SEG503 initEntry::@3 + b3: + //SEG504 [218] (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuz1=vbuz2_plus_vbuc1 + lax n + axs #-[3] + stx _5 + //SEG505 [219] *((word*) initEntry::entryTsLen1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 -- _deref_pwuz1=vbuz2 + lda _5 + ldy #0 + sta (entryTsLen1_return),y + tya + iny + sta (entryTsLen1_return),y + jmp entryTsOrder1 + //SEG506 initEntry::entryTsOrder1 + entryTsOrder1: + //SEG507 [220] (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- pbuz1=pbuz2_plus_vbuc1 + lda #6 + clc + adc entryBufDisk1__0 + sta entryTsOrder1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsOrder1__0+1 + //SEG508 [221] (word**) initEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 -- pptz1=_ptr_pbuz2 + lda entryTsOrder1__0 + sta entryTsOrder1_return + lda entryTsOrder1__0+1 + sta entryTsOrder1_return+1 + jmp b4 + //SEG509 initEntry::@4 + b4: + //SEG510 [222] (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_plus_vbuc1 + lax n + axs #-[4] + stx _7 + //SEG511 [223] *((word**) initEntry::entryTsOrder1_return#0) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 -- _deref_pptz1=_ptr_vbuz2 + lda _7 + ldy #0 + sta (entryTsOrder1_return),y + tya + iny + sta (entryTsOrder1_return),y + jmp entryTLastLink1 + //SEG512 initEntry::entryTLastLink1 + entryTLastLink1: + //SEG513 [224] (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz2_plus_vbuc1 + lda #8 + clc + adc entryBufDisk1__0 + sta entryTLastLink1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTLastLink1_return+1 + jmp b5 + //SEG514 initEntry::@5 + b5: + //SEG515 [225] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 5 -- vbuz1=vbuz2_plus_vbuc1 + lax n + axs #-[5] + stx _9 + //SEG516 [226] *((byte*) initEntry::entryTLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 -- _deref_pbuz1=vbuz2 + lda _9 + ldy #0 + sta (entryTLastLink1_return),y + jmp entrySLastLink1 + //SEG517 initEntry::entrySLastLink1 + entrySLastLink1: + //SEG518 [227] (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- pbuz1=pbuz2_plus_vbuc1 + lda #9 + clc + adc entryBufDisk1__0 + sta entrySLastLink1_return + lda #0 + adc entryBufDisk1__0+1 + sta entrySLastLink1_return+1 + jmp b6 + //SEG519 initEntry::@6 + b6: + //SEG520 [228] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuz1=vbuz2_plus_vbuc1 + lax n + axs #-[6] + stx _11 + //SEG521 [229] *((byte*) initEntry::entrySLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 -- _deref_pbuz1=vbuz2 + lda _11 + ldy #0 + sta (entrySLastLink1_return),y + jmp entryBFlag1 + //SEG522 initEntry::entryBFlag1 + entryBFlag1: + //SEG523 [230] (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a -- pbuz1=pbuz2_plus_vbuc1 + lda #$a + clc + adc entryBufDisk1__0 + sta entryBFlag1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBFlag1_return+1 + jmp b7 + //SEG524 initEntry::@7 + b7: + //SEG525 [231] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuz1=vbuz2_plus_vbuc1 + lax n + axs #-[7] + stx _13 + //SEG526 [232] *((byte*) initEntry::entryBFlag1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 -- _deref_pbuz1=vbuz2 + lda _13 + ldy #0 + sta (entryBFlag1_return),y + jmp entryBError1 + //SEG527 initEntry::entryBError1 + entryBError1: + //SEG528 [233] (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b -- pbuz1=pbuz2_plus_vbuc1 + lda #$b + clc + adc entryBufDisk1__0 + sta entryBError1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBError1_return+1 + jmp b8 + //SEG529 initEntry::@8 + b8: + //SEG530 [234] (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- vbuz1=vbuz2_plus_vbuc1 + lax n + axs #-[8] + stx _15 + //SEG531 [235] *((byte*) initEntry::entryBError1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 -- _deref_pbuz1=vbuz2 + lda _15 + ldy #0 + sta (entryBError1_return),y + jmp entryUCross1 + //SEG532 initEntry::entryUCross1 + entryUCross1: + //SEG533 [236] (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c -- pbuz1=pbuz2_plus_vbuc1 + lda #$c + clc + adc entryBufDisk1__0 + sta entryUCross1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryUCross1__0+1 + //SEG534 [237] (word*) initEntry::entryUCross1_return#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 -- pwuz1=_ptr_pbuz2 + lda entryUCross1__0 + sta entryUCross1_return + lda entryUCross1__0+1 + sta entryUCross1_return+1 + jmp b9 + //SEG535 initEntry::@9 + b9: + //SEG536 [238] (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- vbuz1=vbuz2_plus_vbuc1 + lax n + axs #-[9] + stx _17 + //SEG537 [239] *((word*) initEntry::entryUCross1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 -- _deref_pwuz1=vbuz2 + lda _17 + ldy #0 + sta (entryUCross1_return),y + tya + iny + sta (entryUCross1_return),y + jmp entryBAddrLo1 + //SEG538 initEntry::entryBAddrLo1 + entryBAddrLo1: + //SEG539 [240] (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e -- pbuz1=pbuz2_plus_vbuc1 + lda #$e + clc + adc entryBufDisk1__0 + sta entryBAddrLo1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBAddrLo1_return+1 + jmp b10 + //SEG540 initEntry::@10 + b10: + //SEG541 [241] (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $a -- vbuz1=vbuz2_plus_vbuc1 + lax n + axs #-[$a] + stx _19 + //SEG542 [242] *((byte*) initEntry::entryBAddrLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 -- _deref_pbuz1=vbuz2 + lda _19 + ldy #0 + sta (entryBAddrLo1_return),y + jmp entryBAddrHi1 + //SEG543 initEntry::entryBAddrHi1 + entryBAddrHi1: + //SEG544 [243] (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f -- pbuz1=pbuz2_plus_vbuc1 + lda #$f + clc + adc entryBufDisk1__0 + sta entryBAddrHi1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBAddrHi1_return+1 + jmp b11 + //SEG545 initEntry::@11 + b11: + //SEG546 [244] (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $b -- vbuz1=vbuz2_plus_vbuc1 + lax n + axs #-[$b] + stx _21 + //SEG547 [245] *((byte*) initEntry::entryBAddrHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 -- _deref_pbuz1=vbuz2 + lda _21 + ldy #0 + sta (entryBAddrHi1_return),y + jmp entryTHi1 + //SEG548 initEntry::entryTHi1 + entryTHi1: + //SEG549 [246] (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 -- pbuz1=pbuz2_plus_vbuc1 + lda #$10 + clc + adc entryBufDisk1__0 + sta entryTHi1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTHi1_return+1 + jmp b12 + //SEG550 initEntry::@12 + b12: + //SEG551 [247] (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $c -- vbuz1=vbuz2_plus_vbuc1 + lax n + axs #-[$c] + stx _23 + //SEG552 [248] *((byte*) initEntry::entryTHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 -- _deref_pbuz1=vbuz2 + lda _23 + ldy #0 + sta (entryTHi1_return),y + jmp entryTLo1 + //SEG553 initEntry::entryTLo1 + entryTLo1: + //SEG554 [249] (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 -- pbuz1=pbuz2_plus_vbuc1 + lda #$11 + clc + adc entryBufDisk1__0 + sta entryTLo1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTLo1_return+1 + jmp b13 + //SEG555 initEntry::@13 + b13: + //SEG556 [250] (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $d -- vbuz1=vbuz2_plus_vbuc1 + lax n + axs #-[$d] + stx _25 + //SEG557 [251] *((byte*) initEntry::entryTLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 -- _deref_pbuz1=vbuz2 + lda _25 + ldy #0 + sta (entryTLo1_return),y + jmp breturn + //SEG558 initEntry::@return + breturn: + //SEG559 [252] return + rts +} +//SEG560 mul8u +// Perform binary multiplication of two unsigned 8-bit bytes into a 16-bit unsigned word +// mul8u(byte zeropage($13) a) +mul8u: { + .label _1 = $81 + .label a = $13 + .label mb = $16 + .label res = $14 + .label return = $18 + .label return_3 = $1e + //SEG561 [254] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] + b1_from_mul8u: + //SEG562 [254] phi (word) mul8u::mb#2 = ((word))(const byte) ENTRY_SIZE#0 [phi:mul8u->mul8u::@1#0] -- vwuz1=vbuc1 + lda #ENTRY_SIZE + sta mb + lda #0 + sta mb+1 + //SEG563 [254] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 + lda #0 + sta res + lda #0 + sta res+1 + //SEG564 [254] phi (byte) mul8u::a#3 = (byte) mul8u::a#6 [phi:mul8u->mul8u::@1#2] -- register_copy + jmp b1 + //SEG565 mul8u::@1 + b1: + //SEG566 [255] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 -- vbuz1_neq_0_then_la1 + lda a + cmp #0 + bne b2 + jmp breturn + //SEG567 mul8u::@return + breturn: + //SEG568 [256] return + rts + //SEG569 mul8u::@2 + b2: + //SEG570 [257] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_band_vbuc1 + lda #1 + and a + sta _1 + //SEG571 [258] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@3 -- vbuz1_eq_0_then_la1 + lda _1 + cmp #0 + beq b3_from_b2 + jmp b4 + //SEG572 mul8u::@4 + b4: + //SEG573 [259] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 -- vwuz1=vwuz1_plus_vwuz2 + lda res + clc + adc mb + sta res + lda res+1 + adc mb+1 + sta res+1 + //SEG574 [260] phi from mul8u::@2 mul8u::@4 to mul8u::@3 [phi:mul8u::@2/mul8u::@4->mul8u::@3] + b3_from_b2: + b3_from_b4: + //SEG575 [260] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@4->mul8u::@3#0] -- register_copy + jmp b3 + //SEG576 mul8u::@3 + b3: + //SEG577 [261] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_ror_1 + lsr a + //SEG578 [262] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vwuz1=vwuz1_rol_1 + asl mb + rol mb+1 + //SEG579 [254] phi from mul8u::@3 to mul8u::@1 [phi:mul8u::@3->mul8u::@1] + b1_from_b3: + //SEG580 [254] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@3->mul8u::@1#0] -- register_copy + //SEG581 [254] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@3->mul8u::@1#1] -- register_copy + //SEG582 [254] phi (byte) mul8u::a#3 = (byte) mul8u::a#0 [phi:mul8u::@3->mul8u::@1#2] -- register_copy + jmp b1 +} +//SEG583 keyboard_init +// Initialize keyboard reading by setting CIA#$ Data Direction Registers +keyboard_init: { + //SEG584 [263] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuc1=vbuc2 + // Keyboard Matrix Columns Write Mode + lda #$ff + sta CIA1_PORT_A_DDR + //SEG585 [264] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 + // Keyboard Matrix Columns Read Mode + lda #0 + sta CIA1_PORT_B_DDR + jmp breturn + //SEG586 keyboard_init::@return + breturn: + //SEG587 [265] return + rts +} + print_hextab: .text "0123456789abcdef" + // Keyboard row bitmask as expected by CIA#1 Port A when reading a specific keyboard matrix row (rows are numbered 0-7) + keyboard_matrix_row_bitmask: .byte $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f + // Keyboard matrix column bitmasks for a specific keybooard matrix column when reading the keyboard. (columns are numbered 0-7) + keyboard_matrix_col_bitmask: .byte 1, 2, 4, 8, $10, $20, $40, $80 + // All files + files: .fill MAX_FILES*ENTRY_SIZE, 0 + +REGISTER UPLIFT POTENTIAL REGISTERS +Statement [8] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8u::return#2 ] ( main:2 [ mul8u::return#2 ] ) always clobbers reg byte a +Statement [9] (word) main::fileEntry1_$0#0 ← (word) mul8u::return#2 [ main::fileEntry1_$0#0 ] ( main:2 [ main::fileEntry1_$0#0 ] ) always clobbers reg byte a +Statement [10] (byte*) main::entry1#0 ← (const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 + (word) main::fileEntry1_$0#0 [ main::entry1#0 ] ( main:2 [ main::entry1#0 ] ) always clobbers reg byte a +Statement [13] (word) mul8u::return#3 ← (word) mul8u::res#2 [ main::entry1#0 mul8u::return#3 ] ( main:2 [ main::entry1#0 mul8u::return#3 ] ) always clobbers reg byte a +Statement [14] (word) main::fileEntry2_$0#0 ← (word) mul8u::return#3 [ main::entry1#0 main::fileEntry2_$0#0 ] ( main:2 [ main::entry1#0 main::fileEntry2_$0#0 ] ) always clobbers reg byte a +Statement [15] (byte*) main::entry2#0 ← (const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 + (word) main::fileEntry2_$0#0 [ main::entry1#0 main::entry2#0 ] ( main:2 [ main::entry1#0 main::entry2#0 ] ) always clobbers reg byte a +Statement [16] (byte*) initEntry::entry#0 ← (byte*) main::entry1#0 [ main::entry1#0 main::entry2#0 initEntry::entry#0 ] ( main:2 [ main::entry1#0 main::entry2#0 initEntry::entry#0 ] ) always clobbers reg byte a +Statement [18] (byte*) initEntry::entry#1 ← (byte*) main::entry2#0 [ main::entry1#0 main::entry2#0 initEntry::entry#1 ] ( main:2 [ main::entry1#0 main::entry2#0 initEntry::entry#1 ] ) always clobbers reg byte a +Statement [26] (byte*~) print_line_cursor#159 ← (byte*) print_line_cursor#1 [ main::entry1#0 main::entry2#0 print_line_cursor#159 print_line_cursor#1 ] ( main:2 [ main::entry1#0 main::entry2#0 print_line_cursor#159 print_line_cursor#1 ] ) always clobbers reg byte a +Statement [27] (byte*~) print_char_cursor#230 ← (byte*) print_line_cursor#1 [ main::entry1#0 main::entry2#0 print_line_cursor#159 print_char_cursor#230 ] ( main:2 [ main::entry1#0 main::entry2#0 print_line_cursor#159 print_char_cursor#230 ] ) always clobbers reg byte a +Statement [29] (byte*) printEntry::entry#0 ← (byte*) main::entry1#0 [ main::entry2#0 print_line_cursor#1 printEntry::entry#0 ] ( main:2 [ main::entry2#0 print_line_cursor#1 printEntry::entry#0 ] ) always clobbers reg byte a +Statement [31] (byte*~) print_line_cursor#160 ← (byte*) print_line_cursor#1 [ main::entry2#0 print_line_cursor#1 print_line_cursor#160 ] ( main:2 [ main::entry2#0 print_line_cursor#1 print_line_cursor#160 ] ) always clobbers reg byte a +Statement [32] (byte*~) print_char_cursor#231 ← (byte*) print_line_cursor#1 [ main::entry2#0 print_line_cursor#160 print_char_cursor#231 ] ( main:2 [ main::entry2#0 print_line_cursor#160 print_char_cursor#231 ] ) always clobbers reg byte a +Statement [34] (byte*~) print_char_cursor#212 ← (byte*) print_line_cursor#1 [ main::entry2#0 print_char_cursor#212 ] ( main:2 [ main::entry2#0 print_char_cursor#212 ] ) always clobbers reg byte a +Statement [47] (byte*~) print_line_cursor#161 ← (byte*) print_line_cursor#1 [ main::entry2#0 print_line_cursor#1 print_line_cursor#161 ] ( main:2 [ main::entry2#0 print_line_cursor#1 print_line_cursor#161 ] ) always clobbers reg byte a +Statement [48] (byte*~) print_char_cursor#233 ← (byte*) print_line_cursor#1 [ main::entry2#0 print_line_cursor#161 print_char_cursor#233 ] ( main:2 [ main::entry2#0 print_line_cursor#161 print_char_cursor#233 ] ) always clobbers reg byte a +Statement [50] (byte*) printEntry::entry#1 ← (byte*) main::entry2#0 [ print_line_cursor#1 printEntry::entry#1 ] ( main:2 [ print_line_cursor#1 printEntry::entry#1 ] ) always clobbers reg byte a +Statement [52] (byte*~) print_line_cursor#162 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_line_cursor#162 ] ( main:2 [ print_line_cursor#1 print_line_cursor#162 ] ) always clobbers reg byte a +Statement [53] (byte*~) print_char_cursor#234 ← (byte*) print_line_cursor#1 [ print_line_cursor#162 print_char_cursor#234 ] ( main:2 [ print_line_cursor#162 print_char_cursor#234 ] ) always clobbers reg byte a +Statement [55] (byte*~) print_char_cursor#213 ← (byte*) print_line_cursor#1 [ print_char_cursor#213 ] ( main:2 [ print_char_cursor#213 ] ) always clobbers reg byte a +Statement [67] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:21 [ main::entry1#0 main::entry2#0 print_cls::sc#2 ] main:2::print_cls:42 [ main::entry2#0 print_cls::sc#2 ] main:2::print_cls:63 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [69] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) $400+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:21 [ main::entry1#0 main::entry2#0 print_cls::sc#1 ] main:2::print_cls:42 [ main::entry2#0 print_cls::sc#1 ] main:2::print_cls:63 [ print_cls::sc#1 ] ) always clobbers reg byte a +Statement [77] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0+(const byte) keyboard_key_pressed::rowidx#0) [ ] ( main:2::keyboard_key_pressed:37::keyboard_matrix_read:72 [ main::entry2#0 ] main:2::keyboard_key_pressed:58::keyboard_matrix_read:72 [ ] ) always clobbers reg byte a +Statement [78] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::keyboard_key_pressed:37::keyboard_matrix_read:72 [ main::entry2#0 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:58::keyboard_matrix_read:72 [ keyboard_matrix_read::return#0 ] ) always clobbers reg byte a +Statement [82] if(*((byte*) print_str::str#18)!=(byte) '@') goto print_str::@2 [ print_str::str#18 print_char_cursor#142 ] ( main:2::print_str:23 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:35 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:44 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:56 [ print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:95 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:95 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:102 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:102 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:110 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:110 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:118 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:118 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:126 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:126 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:133 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:133 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:140 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:140 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:147 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:147 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:154 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:154 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:162 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:162 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:169 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:169 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:176 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:176 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:183 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:183 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] ) always clobbers reg byte a reg byte y +Statement [84] *((byte*) print_char_cursor#142) ← *((byte*) print_str::str#18) [ print_str::str#18 print_char_cursor#142 ] ( main:2::print_str:23 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:35 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:44 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:56 [ print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:95 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:95 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:102 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:102 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:110 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:110 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:118 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:118 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:126 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:126 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:133 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:133 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:140 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:140 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:147 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:147 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:154 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:154 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:162 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:162 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:169 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:169 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:176 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:176 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:183 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:183 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] ) always clobbers reg byte a reg byte y +Statement [89] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#32 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ print_line_cursor#1 print_char_cursor#143 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:33 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:46 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:49 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:54 [ print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:108 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:108 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:116 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:116 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:124 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:124 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:131 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:131 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:138 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:138 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:145 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:145 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:152 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:152 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:160 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:160 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:167 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:167 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:174 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:174 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:181 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:181 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:188 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:188 [ print_line_cursor#1 print_char_cursor#143 ] ) always clobbers reg byte a +Statement [90] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#143) goto print_ln::@2 [ print_line_cursor#1 print_char_cursor#143 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:33 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:46 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:49 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:54 [ print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:108 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:108 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:116 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:116 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:124 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:124 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:131 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:131 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:138 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:138 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:145 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:145 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:152 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:152 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:160 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:160 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:167 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:167 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:174 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:174 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:181 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:181 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:188 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:188 [ print_line_cursor#1 print_char_cursor#143 ] ) always clobbers reg byte a +Statement [92] (byte*~) print_line_cursor#177 ← (byte*) print_line_cursor#1 [ print_char_cursor#143 print_line_cursor#177 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:33 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:46 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:49 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:54 [ print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:108 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:108 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:116 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:116 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:124 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:124 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:131 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:131 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:138 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:138 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:145 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:145 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:152 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:152 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:160 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:160 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:167 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:167 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:174 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:174 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:181 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:181 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:188 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:188 [ print_char_cursor#143 print_line_cursor#177 ] ) always clobbers reg byte a +Statement [94] (byte*~) print_char_cursor#214 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#214 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#214 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#214 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [96] (byte**) printEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufDisk1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufDisk1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufDisk1_return#0 ] ) always clobbers reg byte a +Statement [97] (word~) print_word::w#7 ← (word)*((byte**) printEntry::entryBufDisk1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] ) always clobbers reg byte a reg byte y +Statement [99] (byte*~) print_line_cursor#163 ← (byte*) print_line_cursor#1 [ print_line_cursor#163 print_char_cursor#11 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#163 print_char_cursor#11 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#163 print_char_cursor#11 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [101] (byte*~) print_char_cursor#215 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#215 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#215 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#215 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [103] (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_$0#0 ] ) always clobbers reg byte a +Statement [104] (byte**) printEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_return#0 ] ) always clobbers reg byte a +Statement [105] (word~) print_word::w#8 ← (word)*((byte**) printEntry::entryBufEdit1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] ) always clobbers reg byte a reg byte y +Statement [107] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [109] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [111] (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_$0#0 ] ) always clobbers reg byte a +Statement [112] (word*) printEntry::entryTsLen1_return#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_return#0 ] ) always clobbers reg byte a +Statement [113] (word) print_word::w#2 ← *((word*) printEntry::entryTsLen1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] ) always clobbers reg byte a reg byte y +Statement [115] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [117] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [119] (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_$0#0 ] ) always clobbers reg byte a +Statement [120] (word**) printEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_return#0 ] ) always clobbers reg byte a +Statement [121] (word~) print_word::w#10 ← (word)*((word**) printEntry::entryTsOrder1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] ) always clobbers reg byte a reg byte y +Statement [123] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [125] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [127] (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTLastLink1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTLastLink1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTLastLink1_return#0 ] ) always clobbers reg byte a +Statement [128] (byte) print_byte::b#2 ← *((byte*) printEntry::entryTLastLink1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] ) always clobbers reg byte a reg byte y +Statement [130] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [132] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [134] (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entrySLastLink1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entrySLastLink1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entrySLastLink1_return#0 ] ) always clobbers reg byte a +Statement [135] (byte) print_byte::b#3 ← *((byte*) printEntry::entrySLastLink1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] ) always clobbers reg byte a reg byte y +Statement [137] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [139] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [141] (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBFlag1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBFlag1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBFlag1_return#0 ] ) always clobbers reg byte a +Statement [142] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBFlag1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] ) always clobbers reg byte a reg byte y +Statement [144] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [146] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [148] (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBError1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBError1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBError1_return#0 ] ) always clobbers reg byte a +Statement [149] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBError1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] ) always clobbers reg byte a reg byte y +Statement [151] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [153] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [155] (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_$0#0 ] ) always clobbers reg byte a +Statement [156] (word*) printEntry::entryUCross1_return#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_return#0 ] ) always clobbers reg byte a +Statement [157] (word) print_word::w#4 ← *((word*) printEntry::entryUCross1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] ) always clobbers reg byte a reg byte y +Statement [159] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [161] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [163] (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrLo1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrLo1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrLo1_return#0 ] ) always clobbers reg byte a +Statement [164] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBAddrLo1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] ) always clobbers reg byte a reg byte y +Statement [166] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [168] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [170] (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrHi1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrHi1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrHi1_return#0 ] ) always clobbers reg byte a +Statement [171] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBAddrHi1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] ) always clobbers reg byte a reg byte y +Statement [173] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [175] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [177] (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTHi1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTHi1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTHi1_return#0 ] ) always clobbers reg byte a +Statement [178] (byte) print_byte::b#8 ← *((byte*) printEntry::entryTHi1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] ) always clobbers reg byte a reg byte y +Statement [180] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [182] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [184] (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryTLo1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryTLo1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryTLo1_return#0 ] ) always clobbers reg byte a +Statement [185] (byte) print_byte::b#9 ← *((byte*) printEntry::entryTLo1_return#0) [ print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] ) always clobbers reg byte a reg byte y +Statement [187] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#175 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#175 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#175 ] ) always clobbers reg byte a +Statement [191] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#10 print_char_cursor#145 print_byte::$0 ] ( main:2::printEntry:30::print_byte:129 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:129 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:136 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:136 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:143 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:143 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:150 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:150 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:165 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:165 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:172 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:172 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:179 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:179 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:186 [ main::entry2#0 print_line_cursor#1 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:186 [ print_line_cursor#1 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:98::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:98::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:106::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:106::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:114::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:114::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:122::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:122::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:158::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:158::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:98::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:98::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:106::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:106::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:114::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:114::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:122::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:122::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:158::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:158::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:10 [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] +Statement [194] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f [ print_char_cursor#11 print_byte::$2 ] ( main:2::printEntry:30::print_byte:129 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:129 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:136 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:136 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:143 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:143 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:150 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:150 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:165 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:165 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:172 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:172 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:179 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:179 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:186 [ main::entry2#0 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:186 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:98::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:98::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:106::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:106::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:114::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:114::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:122::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:122::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:158::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:158::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:98::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:98::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:106::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:106::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:114::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:114::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:122::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:122::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:158::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:158::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] ) always clobbers reg byte a +Statement [199] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 [ print_char_cursor#82 ] ( main:2::printEntry:30::print_byte:129::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:129::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:136::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:136::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:143::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:143::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:150::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:150::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:165::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:165::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:172::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:172::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:179::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:179::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:186::print_char:193 [ main::entry2#0 print_line_cursor#1 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:186::print_char:193 [ print_line_cursor#1 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:129::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:129::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:136::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:136::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:143::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:143::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:150::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:150::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:165::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:165::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:172::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:172::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:179::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:179::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:186::print_char:196 [ main::entry2#0 print_line_cursor#1 print_char_cursor#82 ] main:2::printEntry:51::print_byte:186::print_char:196 [ print_line_cursor#1 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:10 [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] +Statement [203] (byte) print_byte::b#0 ← > (word) print_word::w#5 [ print_char_cursor#142 print_byte::b#0 print_word::w#5 ] ( main:2::printEntry:30::print_word:98 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:98 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:106 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:106 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:114 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:114 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:122 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:122 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:158 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:158 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] ) always clobbers reg byte a +Statement [205] (byte) print_byte::b#1 ← < (word) print_word::w#5 [ print_char_cursor#11 print_byte::b#1 ] ( main:2::printEntry:30::print_word:98 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:98 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:106 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:106 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:114 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:114 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:122 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:122 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:158 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:158 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] ) always clobbers reg byte a +Statement [209] (byte**) initEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufDisk1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufDisk1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufDisk1_return#0 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:18 [ initEntry::n#10 ] +Statement [211] *((byte**) initEntry::entryBufDisk1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:18 [ initEntry::n#10 ] +Statement [212] (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_$0#0 ] ) always clobbers reg byte a +Statement [213] (byte**) initEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_return#0 ] ) always clobbers reg byte a +Statement [215] *((byte**) initEntry::entryBufEdit1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [216] (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_$0#0 ] ) always clobbers reg byte a +Statement [217] (word*) initEntry::entryTsLen1_return#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 ] ) always clobbers reg byte a +Statement [218] (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 3 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 initEntry::$5 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 initEntry::$5 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 initEntry::$5 ] ) always clobbers reg byte a +Statement [219] *((word*) initEntry::entryTsLen1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [220] (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_$0#0 ] ) always clobbers reg byte a +Statement [221] (word**) initEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 ] ) always clobbers reg byte a +Statement [222] (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 initEntry::$7 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 initEntry::$7 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 initEntry::$7 ] ) always clobbers reg byte a +Statement [223] *((word**) initEntry::entryTsOrder1_return#0) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [224] (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 ] ) always clobbers reg byte a +Statement [225] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 5 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 initEntry::$9 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 initEntry::$9 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 initEntry::$9 ] ) always clobbers reg byte a +Statement [226] *((byte*) initEntry::entryTLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [227] (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 ] ) always clobbers reg byte a +Statement [228] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 initEntry::$11 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 initEntry::$11 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 initEntry::$11 ] ) always clobbers reg byte a +Statement [229] *((byte*) initEntry::entrySLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [230] (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 ] ) always clobbers reg byte a +Statement [231] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 7 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 initEntry::$13 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 initEntry::$13 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 initEntry::$13 ] ) always clobbers reg byte a +Statement [232] *((byte*) initEntry::entryBFlag1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [233] (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 ] ) always clobbers reg byte a +Statement [234] (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 initEntry::$15 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 initEntry::$15 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 initEntry::$15 ] ) always clobbers reg byte a +Statement [235] *((byte*) initEntry::entryBError1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [236] (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_$0#0 ] ) always clobbers reg byte a +Statement [237] (word*) initEntry::entryUCross1_return#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 ] ) always clobbers reg byte a +Statement [238] (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 initEntry::$17 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 initEntry::$17 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 initEntry::$17 ] ) always clobbers reg byte a +Statement [239] *((word*) initEntry::entryUCross1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [240] (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 ] ) always clobbers reg byte a +Statement [241] (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $a [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 initEntry::$19 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 initEntry::$19 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 initEntry::$19 ] ) always clobbers reg byte a +Statement [242] *((byte*) initEntry::entryBAddrLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [243] (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 ] ) always clobbers reg byte a +Statement [244] (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $b [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 initEntry::$21 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 initEntry::$21 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 initEntry::$21 ] ) always clobbers reg byte a +Statement [245] *((byte*) initEntry::entryBAddrHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [246] (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 ] ) always clobbers reg byte a +Statement [247] (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $c [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 initEntry::$23 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 initEntry::$23 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 initEntry::$23 ] ) always clobbers reg byte a +Statement [248] *((byte*) initEntry::entryTHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [249] (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 [ initEntry::n#10 initEntry::entryTLo1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::n#10 initEntry::entryTLo1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::n#10 initEntry::entryTLo1_return#0 ] ) always clobbers reg byte a +Statement [250] (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $d [ initEntry::entryTLo1_return#0 initEntry::$25 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryTLo1_return#0 initEntry::$25 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryTLo1_return#0 initEntry::$25 ] ) always clobbers reg byte a +Statement [251] *((byte*) initEntry::entryTLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 [ ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 ] ) always clobbers reg byte y +Statement [259] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::mul8u:7 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::mul8u:12 [ main::entry1#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:19 [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] +Statement [263] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:2::keyboard_init:5 [ ] ) always clobbers reg byte a +Statement [264] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:5 [ ] ) always clobbers reg byte a +Statement [8] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8u::return#2 ] ( main:2 [ mul8u::return#2 ] ) always clobbers reg byte a +Statement [9] (word) main::fileEntry1_$0#0 ← (word) mul8u::return#2 [ main::fileEntry1_$0#0 ] ( main:2 [ main::fileEntry1_$0#0 ] ) always clobbers reg byte a +Statement [10] (byte*) main::entry1#0 ← (const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 + (word) main::fileEntry1_$0#0 [ main::entry1#0 ] ( main:2 [ main::entry1#0 ] ) always clobbers reg byte a +Statement [13] (word) mul8u::return#3 ← (word) mul8u::res#2 [ main::entry1#0 mul8u::return#3 ] ( main:2 [ main::entry1#0 mul8u::return#3 ] ) always clobbers reg byte a +Statement [14] (word) main::fileEntry2_$0#0 ← (word) mul8u::return#3 [ main::entry1#0 main::fileEntry2_$0#0 ] ( main:2 [ main::entry1#0 main::fileEntry2_$0#0 ] ) always clobbers reg byte a +Statement [15] (byte*) main::entry2#0 ← (const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 + (word) main::fileEntry2_$0#0 [ main::entry1#0 main::entry2#0 ] ( main:2 [ main::entry1#0 main::entry2#0 ] ) always clobbers reg byte a +Statement [16] (byte*) initEntry::entry#0 ← (byte*) main::entry1#0 [ main::entry1#0 main::entry2#0 initEntry::entry#0 ] ( main:2 [ main::entry1#0 main::entry2#0 initEntry::entry#0 ] ) always clobbers reg byte a +Statement [18] (byte*) initEntry::entry#1 ← (byte*) main::entry2#0 [ main::entry1#0 main::entry2#0 initEntry::entry#1 ] ( main:2 [ main::entry1#0 main::entry2#0 initEntry::entry#1 ] ) always clobbers reg byte a +Statement [26] (byte*~) print_line_cursor#159 ← (byte*) print_line_cursor#1 [ main::entry1#0 main::entry2#0 print_line_cursor#159 print_line_cursor#1 ] ( main:2 [ main::entry1#0 main::entry2#0 print_line_cursor#159 print_line_cursor#1 ] ) always clobbers reg byte a +Statement [27] (byte*~) print_char_cursor#230 ← (byte*) print_line_cursor#1 [ main::entry1#0 main::entry2#0 print_line_cursor#159 print_char_cursor#230 ] ( main:2 [ main::entry1#0 main::entry2#0 print_line_cursor#159 print_char_cursor#230 ] ) always clobbers reg byte a +Statement [29] (byte*) printEntry::entry#0 ← (byte*) main::entry1#0 [ main::entry2#0 print_line_cursor#1 printEntry::entry#0 ] ( main:2 [ main::entry2#0 print_line_cursor#1 printEntry::entry#0 ] ) always clobbers reg byte a +Statement [31] (byte*~) print_line_cursor#160 ← (byte*) print_line_cursor#1 [ main::entry2#0 print_line_cursor#1 print_line_cursor#160 ] ( main:2 [ main::entry2#0 print_line_cursor#1 print_line_cursor#160 ] ) always clobbers reg byte a +Statement [32] (byte*~) print_char_cursor#231 ← (byte*) print_line_cursor#1 [ main::entry2#0 print_line_cursor#160 print_char_cursor#231 ] ( main:2 [ main::entry2#0 print_line_cursor#160 print_char_cursor#231 ] ) always clobbers reg byte a +Statement [34] (byte*~) print_char_cursor#212 ← (byte*) print_line_cursor#1 [ main::entry2#0 print_char_cursor#212 ] ( main:2 [ main::entry2#0 print_char_cursor#212 ] ) always clobbers reg byte a +Statement [47] (byte*~) print_line_cursor#161 ← (byte*) print_line_cursor#1 [ main::entry2#0 print_line_cursor#1 print_line_cursor#161 ] ( main:2 [ main::entry2#0 print_line_cursor#1 print_line_cursor#161 ] ) always clobbers reg byte a +Statement [48] (byte*~) print_char_cursor#233 ← (byte*) print_line_cursor#1 [ main::entry2#0 print_line_cursor#161 print_char_cursor#233 ] ( main:2 [ main::entry2#0 print_line_cursor#161 print_char_cursor#233 ] ) always clobbers reg byte a +Statement [50] (byte*) printEntry::entry#1 ← (byte*) main::entry2#0 [ print_line_cursor#1 printEntry::entry#1 ] ( main:2 [ print_line_cursor#1 printEntry::entry#1 ] ) always clobbers reg byte a +Statement [52] (byte*~) print_line_cursor#162 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_line_cursor#162 ] ( main:2 [ print_line_cursor#1 print_line_cursor#162 ] ) always clobbers reg byte a +Statement [53] (byte*~) print_char_cursor#234 ← (byte*) print_line_cursor#1 [ print_line_cursor#162 print_char_cursor#234 ] ( main:2 [ print_line_cursor#162 print_char_cursor#234 ] ) always clobbers reg byte a +Statement [55] (byte*~) print_char_cursor#213 ← (byte*) print_line_cursor#1 [ print_char_cursor#213 ] ( main:2 [ print_char_cursor#213 ] ) always clobbers reg byte a +Statement [67] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:21 [ main::entry1#0 main::entry2#0 print_cls::sc#2 ] main:2::print_cls:42 [ main::entry2#0 print_cls::sc#2 ] main:2::print_cls:63 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [69] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) $400+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:21 [ main::entry1#0 main::entry2#0 print_cls::sc#1 ] main:2::print_cls:42 [ main::entry2#0 print_cls::sc#1 ] main:2::print_cls:63 [ print_cls::sc#1 ] ) always clobbers reg byte a +Statement [77] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0+(const byte) keyboard_key_pressed::rowidx#0) [ ] ( main:2::keyboard_key_pressed:37::keyboard_matrix_read:72 [ main::entry2#0 ] main:2::keyboard_key_pressed:58::keyboard_matrix_read:72 [ ] ) always clobbers reg byte a +Statement [78] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::keyboard_key_pressed:37::keyboard_matrix_read:72 [ main::entry2#0 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:58::keyboard_matrix_read:72 [ keyboard_matrix_read::return#0 ] ) always clobbers reg byte a +Statement [82] if(*((byte*) print_str::str#18)!=(byte) '@') goto print_str::@2 [ print_str::str#18 print_char_cursor#142 ] ( main:2::print_str:23 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:35 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:44 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:56 [ print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:95 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:95 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:102 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:102 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:110 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:110 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:118 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:118 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:126 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:126 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:133 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:133 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:140 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:140 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:147 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:147 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:154 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:154 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:162 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:162 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:169 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:169 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:176 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:176 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:183 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:183 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] ) always clobbers reg byte a reg byte y +Statement [84] *((byte*) print_char_cursor#142) ← *((byte*) print_str::str#18) [ print_str::str#18 print_char_cursor#142 ] ( main:2::print_str:23 [ main::entry1#0 main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:35 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:44 [ main::entry2#0 print_str::str#18 print_char_cursor#142 ] main:2::print_str:56 [ print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:95 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:95 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:102 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:102 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:110 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:110 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:118 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:118 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:126 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:126 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:133 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:133 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:140 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:140 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:147 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:147 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:154 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:154 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:162 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:162 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:169 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:169 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:176 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:176 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:30::print_str:183 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] main:2::printEntry:51::print_str:183 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_str::str#18 print_char_cursor#142 ] ) always clobbers reg byte a reg byte y +Statement [89] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#32 + (byte/signed byte/word/signed word/dword/signed dword) $28 [ print_line_cursor#1 print_char_cursor#143 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:33 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:46 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:49 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:54 [ print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:108 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:108 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:116 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:116 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:124 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:124 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:131 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:131 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:138 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:138 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:145 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:145 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:152 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:152 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:160 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:160 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:167 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:167 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:174 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:174 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:181 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:181 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:188 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:188 [ print_line_cursor#1 print_char_cursor#143 ] ) always clobbers reg byte a +Statement [90] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#143) goto print_ln::@2 [ print_line_cursor#1 print_char_cursor#143 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:33 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:46 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:49 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::print_ln:54 [ print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:108 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:108 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:116 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:116 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:124 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:124 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:131 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:131 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:138 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:138 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:145 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:145 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:152 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:152 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:160 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:160 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:167 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:167 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:174 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:174 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:181 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:181 [ printEntry::entryBufDisk1_$0#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:30::print_ln:188 [ main::entry2#0 print_line_cursor#1 print_char_cursor#143 ] main:2::printEntry:51::print_ln:188 [ print_line_cursor#1 print_char_cursor#143 ] ) always clobbers reg byte a +Statement [92] (byte*~) print_line_cursor#177 ← (byte*) print_line_cursor#1 [ print_char_cursor#143 print_line_cursor#177 ] ( main:2::print_ln:25 [ main::entry1#0 main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:28 [ main::entry1#0 main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:33 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:46 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:49 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::print_ln:54 [ print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:100 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:100 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:108 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:108 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:116 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:116 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:124 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:124 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:131 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:131 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:138 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:138 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:145 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:145 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:152 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:152 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:160 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:160 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:167 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:167 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:174 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:174 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:181 [ main::entry2#0 printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:181 [ printEntry::entryBufDisk1_$0#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:30::print_ln:188 [ main::entry2#0 print_char_cursor#143 print_line_cursor#177 ] main:2::printEntry:51::print_ln:188 [ print_char_cursor#143 print_line_cursor#177 ] ) always clobbers reg byte a +Statement [94] (byte*~) print_char_cursor#214 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#214 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#214 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#214 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [96] (byte**) printEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufDisk1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufDisk1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufDisk1_return#0 ] ) always clobbers reg byte a +Statement [97] (word~) print_word::w#7 ← (word)*((byte**) printEntry::entryBufDisk1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#7 ] ) always clobbers reg byte a reg byte y +Statement [99] (byte*~) print_line_cursor#163 ← (byte*) print_line_cursor#1 [ print_line_cursor#163 print_char_cursor#11 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#163 print_char_cursor#11 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#163 print_char_cursor#11 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [101] (byte*~) print_char_cursor#215 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#215 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#215 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#215 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [103] (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_$0#0 ] ) always clobbers reg byte a +Statement [104] (byte**) printEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBufEdit1_return#0 ] ) always clobbers reg byte a +Statement [105] (word~) print_word::w#8 ← (word)*((byte**) printEntry::entryBufEdit1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#8 ] ) always clobbers reg byte a reg byte y +Statement [107] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#164 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [109] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#216 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [111] (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_$0#0 ] ) always clobbers reg byte a +Statement [112] (word*) printEntry::entryTsLen1_return#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsLen1_return#0 ] ) always clobbers reg byte a +Statement [113] (word) print_word::w#2 ← *((word*) printEntry::entryTsLen1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#2 ] ) always clobbers reg byte a reg byte y +Statement [115] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#165 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [117] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#217 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [119] (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_$0#0 ] ) always clobbers reg byte a +Statement [120] (word**) printEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTsOrder1_return#0 ] ) always clobbers reg byte a +Statement [121] (word~) print_word::w#10 ← (word)*((word**) printEntry::entryTsOrder1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#10 ] ) always clobbers reg byte a reg byte y +Statement [123] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#166 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [125] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#218 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [127] (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTLastLink1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTLastLink1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTLastLink1_return#0 ] ) always clobbers reg byte a +Statement [128] (byte) print_byte::b#2 ← *((byte*) printEntry::entryTLastLink1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#2 ] ) always clobbers reg byte a reg byte y +Statement [130] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#167 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [132] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#219 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [134] (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entrySLastLink1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entrySLastLink1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entrySLastLink1_return#0 ] ) always clobbers reg byte a +Statement [135] (byte) print_byte::b#3 ← *((byte*) printEntry::entrySLastLink1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#3 ] ) always clobbers reg byte a reg byte y +Statement [137] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#168 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [139] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#220 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [141] (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBFlag1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBFlag1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBFlag1_return#0 ] ) always clobbers reg byte a +Statement [142] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBFlag1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#4 ] ) always clobbers reg byte a reg byte y +Statement [144] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#169 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [146] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#221 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [148] (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBError1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBError1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBError1_return#0 ] ) always clobbers reg byte a +Statement [149] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBError1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#5 ] ) always clobbers reg byte a reg byte y +Statement [151] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#170 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [153] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#222 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [155] (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_$0#0 ] ) always clobbers reg byte a +Statement [156] (word*) printEntry::entryUCross1_return#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryUCross1_return#0 ] ) always clobbers reg byte a +Statement [157] (word) print_word::w#4 ← *((word*) printEntry::entryUCross1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_word::w#4 ] ) always clobbers reg byte a reg byte y +Statement [159] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#171 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [161] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#223 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [163] (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrLo1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrLo1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrLo1_return#0 ] ) always clobbers reg byte a +Statement [164] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBAddrLo1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#6 ] ) always clobbers reg byte a reg byte y +Statement [166] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#172 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [168] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#224 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [170] (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrHi1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrHi1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryBAddrHi1_return#0 ] ) always clobbers reg byte a +Statement [171] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBAddrHi1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#7 ] ) always clobbers reg byte a reg byte y +Statement [173] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#173 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [175] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#225 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [177] (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTHi1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTHi1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 printEntry::entryTHi1_return#0 ] ) always clobbers reg byte a +Statement [178] (byte) print_byte::b#8 ← *((byte*) printEntry::entryTHi1_return#0) [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryBufDisk1_$0#0 print_byte::b#8 ] ) always clobbers reg byte a reg byte y +Statement [180] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#174 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [182] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 [ print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#226 printEntry::entryBufDisk1_$0#0 ] ) always clobbers reg byte a +Statement [184] (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryTLo1_return#0 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 printEntry::entryTLo1_return#0 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 printEntry::entryTLo1_return#0 ] ) always clobbers reg byte a +Statement [185] (byte) print_byte::b#9 ← *((byte*) printEntry::entryTLo1_return#0) [ print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] ( main:2::printEntry:30 [ main::entry2#0 print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] main:2::printEntry:51 [ print_line_cursor#1 print_char_cursor#142 print_byte::b#9 ] ) always clobbers reg byte a reg byte y +Statement [187] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 [ print_char_cursor#11 print_line_cursor#175 ] ( main:2::printEntry:30 [ main::entry2#0 print_char_cursor#11 print_line_cursor#175 ] main:2::printEntry:51 [ print_char_cursor#11 print_line_cursor#175 ] ) always clobbers reg byte a +Statement [191] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#10 print_char_cursor#145 print_byte::$0 ] ( main:2::printEntry:30::print_byte:129 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:129 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:136 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:136 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:143 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:143 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:150 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:150 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:165 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:165 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:172 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:172 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:179 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:179 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_byte:186 [ main::entry2#0 print_line_cursor#1 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_byte:186 [ print_line_cursor#1 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:98::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:98::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:106::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:106::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:114::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:114::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:122::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:122::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:158::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:158::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:98::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:98::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:106::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:106::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:114::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:114::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:122::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:122::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:30::print_word:158::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] main:2::printEntry:51::print_word:158::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#145 print_byte::$0 ] ) always clobbers reg byte a +Statement [194] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f [ print_char_cursor#11 print_byte::$2 ] ( main:2::printEntry:30::print_byte:129 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:129 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:136 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:136 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:143 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:143 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:150 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:150 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:165 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:165 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:172 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:172 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:179 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:179 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_byte:186 [ main::entry2#0 print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_byte:186 [ print_line_cursor#1 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:98::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:98::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:106::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:106::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:114::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:114::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:122::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:122::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:158::print_byte:204 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:158::print_byte:204 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:98::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:98::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:106::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:106::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:114::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:114::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:122::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:122::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:30::print_word:158::print_byte:206 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] main:2::printEntry:51::print_word:158::print_byte:206 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::$2 ] ) always clobbers reg byte a +Statement [199] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 [ print_char_cursor#82 ] ( main:2::printEntry:30::print_byte:129::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:129::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:136::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:136::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:143::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:143::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:150::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:150::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:165::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:165::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:172::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:172::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:179::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:179::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:186::print_char:193 [ main::entry2#0 print_line_cursor#1 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_byte:186::print_char:193 [ print_line_cursor#1 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:204::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:204::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:206::print_char:193 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:206::print_char:193 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_byte::b#10 print_char_cursor#82 ] main:2::printEntry:30::print_byte:129::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:129::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:136::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:136::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:143::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:143::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:150::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:150::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:165::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:165::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:172::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:172::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:179::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_byte:179::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_byte:186::print_char:196 [ main::entry2#0 print_line_cursor#1 print_char_cursor#82 ] main:2::printEntry:51::print_byte:186::print_char:196 [ print_line_cursor#1 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:204::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:204::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_word::w#5 print_char_cursor#82 ] main:2::printEntry:30::print_word:98::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:98::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:106::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:106::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:114::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:114::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:122::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:122::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:30::print_word:158::print_byte:206::print_char:196 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] main:2::printEntry:51::print_word:158::print_byte:206::print_char:196 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#82 ] ) always clobbers reg byte y +Statement [203] (byte) print_byte::b#0 ← > (word) print_word::w#5 [ print_char_cursor#142 print_byte::b#0 print_word::w#5 ] ( main:2::printEntry:30::print_word:98 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:98 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:106 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:106 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:114 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:114 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:122 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:122 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:30::print_word:158 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] main:2::printEntry:51::print_word:158 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#142 print_byte::b#0 print_word::w#5 ] ) always clobbers reg byte a +Statement [205] (byte) print_byte::b#1 ← < (word) print_word::w#5 [ print_char_cursor#11 print_byte::b#1 ] ( main:2::printEntry:30::print_word:98 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:98 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:106 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:106 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:114 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:114 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:122 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:122 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:30::print_word:158 [ main::entry2#0 print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] main:2::printEntry:51::print_word:158 [ print_line_cursor#1 printEntry::entryBufDisk1_$0#0 print_char_cursor#11 print_byte::b#1 ] ) always clobbers reg byte a +Statement [209] (byte**) initEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufDisk1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufDisk1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufDisk1_return#0 ] ) always clobbers reg byte a +Statement [211] *((byte**) initEntry::entryBufDisk1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [212] (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_$0#0 ] ) always clobbers reg byte a +Statement [213] (byte**) initEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBufEdit1_return#0 ] ) always clobbers reg byte a +Statement [215] *((byte**) initEntry::entryBufEdit1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [216] (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_$0#0 ] ) always clobbers reg byte a +Statement [217] (word*) initEntry::entryTsLen1_return#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 ] ) always clobbers reg byte a +Statement [218] (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 3 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 initEntry::$5 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 initEntry::$5 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsLen1_return#0 initEntry::$5 ] ) always clobbers reg byte a +Statement [219] *((word*) initEntry::entryTsLen1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [220] (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_$0#0 ] ) always clobbers reg byte a +Statement [221] (word**) initEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 ] ) always clobbers reg byte a +Statement [222] (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 4 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 initEntry::$7 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 initEntry::$7 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTsOrder1_return#0 initEntry::$7 ] ) always clobbers reg byte a +Statement [223] *((word**) initEntry::entryTsOrder1_return#0) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [224] (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 ] ) always clobbers reg byte a +Statement [225] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 5 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 initEntry::$9 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 initEntry::$9 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTLastLink1_return#0 initEntry::$9 ] ) always clobbers reg byte a +Statement [226] *((byte*) initEntry::entryTLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [227] (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 ] ) always clobbers reg byte a +Statement [228] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 6 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 initEntry::$11 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 initEntry::$11 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entrySLastLink1_return#0 initEntry::$11 ] ) always clobbers reg byte a +Statement [229] *((byte*) initEntry::entrySLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [230] (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 ] ) always clobbers reg byte a +Statement [231] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 7 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 initEntry::$13 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 initEntry::$13 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBFlag1_return#0 initEntry::$13 ] ) always clobbers reg byte a +Statement [232] *((byte*) initEntry::entryBFlag1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [233] (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 ] ) always clobbers reg byte a +Statement [234] (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 initEntry::$15 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 initEntry::$15 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBError1_return#0 initEntry::$15 ] ) always clobbers reg byte a +Statement [235] *((byte*) initEntry::entryBError1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [236] (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_$0#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_$0#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_$0#0 ] ) always clobbers reg byte a +Statement [237] (word*) initEntry::entryUCross1_return#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 ] ) always clobbers reg byte a +Statement [238] (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 initEntry::$17 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 initEntry::$17 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryUCross1_return#0 initEntry::$17 ] ) always clobbers reg byte a +Statement [239] *((word*) initEntry::entryUCross1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte a reg byte y +Statement [240] (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 ] ) always clobbers reg byte a +Statement [241] (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $a [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 initEntry::$19 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 initEntry::$19 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrLo1_return#0 initEntry::$19 ] ) always clobbers reg byte a +Statement [242] *((byte*) initEntry::entryBAddrLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [243] (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 ] ) always clobbers reg byte a +Statement [244] (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $b [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 initEntry::$21 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 initEntry::$21 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryBAddrHi1_return#0 initEntry::$21 ] ) always clobbers reg byte a +Statement [245] *((byte*) initEntry::entryBAddrHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [246] (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 ] ) always clobbers reg byte a +Statement [247] (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $c [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 initEntry::$23 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 initEntry::$23 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 initEntry::entryTHi1_return#0 initEntry::$23 ] ) always clobbers reg byte a +Statement [248] *((byte*) initEntry::entryTHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 [ initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryBufDisk1_$0#0 initEntry::n#10 ] ) always clobbers reg byte y +Statement [249] (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 [ initEntry::n#10 initEntry::entryTLo1_return#0 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::n#10 initEntry::entryTLo1_return#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::n#10 initEntry::entryTLo1_return#0 ] ) always clobbers reg byte a +Statement [250] (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $d [ initEntry::entryTLo1_return#0 initEntry::$25 ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 initEntry::entryTLo1_return#0 initEntry::$25 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 initEntry::entryTLo1_return#0 initEntry::$25 ] ) always clobbers reg byte a +Statement [251] *((byte*) initEntry::entryTLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 [ ] ( main:2::initEntry:17 [ main::entry1#0 main::entry2#0 ] main:2::initEntry:19 [ main::entry1#0 main::entry2#0 ] ) always clobbers reg byte y +Statement [257] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::mul8u:7 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::mul8u:12 [ main::entry1#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) always clobbers reg byte a +Statement [259] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::mul8u:7 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::mul8u:12 [ main::entry1#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) always clobbers reg byte a +Statement [263] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff [ ] ( main:2::keyboard_init:5 [ ] ) always clobbers reg byte a +Statement [264] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:5 [ ] ) always clobbers reg byte a +Potential registers zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 ] : zp ZP_WORD:2 , +Potential registers zp ZP_WORD:4 [ print_str::str#18 print_str::str#20 print_str::str#0 ] : zp ZP_WORD:4 , +Potential registers zp ZP_WORD:6 [ print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] : zp ZP_WORD:6 , +Potential registers zp ZP_WORD:8 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 ] : zp ZP_WORD:8 , +Potential registers zp ZP_BYTE:10 [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] : zp ZP_BYTE:10 , reg byte x , +Potential registers zp ZP_BYTE:11 [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] : zp ZP_BYTE:11 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 ] : zp ZP_WORD:12 , +Potential registers zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 ] : zp ZP_WORD:14 , +Potential registers zp ZP_WORD:16 [ initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 ] : zp ZP_WORD:16 , +Potential registers zp ZP_BYTE:18 [ initEntry::n#10 ] : zp ZP_BYTE:18 , reg byte x , +Potential registers zp ZP_BYTE:19 [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] : zp ZP_BYTE:19 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:20 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] : zp ZP_WORD:20 , +Potential registers zp ZP_WORD:22 [ mul8u::mb#2 mul8u::mb#1 ] : zp ZP_WORD:22 , +Potential registers zp ZP_WORD:24 [ mul8u::return#2 ] : zp ZP_WORD:24 , +Potential registers zp ZP_WORD:26 [ main::fileEntry1_$0#0 ] : zp ZP_WORD:26 , +Potential registers zp ZP_WORD:28 [ main::entry1#0 ] : zp ZP_WORD:28 , +Potential registers zp ZP_WORD:30 [ mul8u::return#3 ] : zp ZP_WORD:30 , +Potential registers zp ZP_WORD:32 [ main::fileEntry2_$0#0 ] : zp ZP_WORD:32 , +Potential registers zp ZP_WORD:34 [ main::entry2#0 ] : zp ZP_WORD:34 , +Potential registers zp ZP_BYTE:36 [ keyboard_key_pressed::return#2 ] : zp ZP_BYTE:36 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:37 [ main::$20 ] : zp ZP_BYTE:37 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:38 [ keyboard_key_pressed::return#3 ] : zp ZP_BYTE:38 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:39 [ main::$22 ] : zp ZP_BYTE:39 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:40 [ keyboard_matrix_read::return#2 ] : zp ZP_BYTE:40 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:41 [ keyboard_key_pressed::$2 ] : zp ZP_BYTE:41 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:42 [ keyboard_key_pressed::return#0 ] : zp ZP_BYTE:42 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:43 [ keyboard_matrix_read::return#0 ] : zp ZP_BYTE:43 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:44 [ print_line_cursor#1 ] : zp ZP_WORD:44 , +Potential registers zp ZP_WORD:46 [ printEntry::entryBufDisk1_return#0 ] : zp ZP_WORD:46 , +Potential registers zp ZP_WORD:48 [ printEntry::entryBufEdit1_$0#0 ] : zp ZP_WORD:48 , +Potential registers zp ZP_WORD:50 [ printEntry::entryBufEdit1_return#0 ] : zp ZP_WORD:50 , +Potential registers zp ZP_WORD:52 [ printEntry::entryTsLen1_$0#0 ] : zp ZP_WORD:52 , +Potential registers zp ZP_WORD:54 [ printEntry::entryTsLen1_return#0 ] : zp ZP_WORD:54 , +Potential registers zp ZP_WORD:56 [ printEntry::entryTsOrder1_$0#0 ] : zp ZP_WORD:56 , +Potential registers zp ZP_WORD:58 [ printEntry::entryTsOrder1_return#0 ] : zp ZP_WORD:58 , +Potential registers zp ZP_WORD:60 [ printEntry::entryTLastLink1_return#0 ] : zp ZP_WORD:60 , +Potential registers zp ZP_WORD:62 [ printEntry::entrySLastLink1_return#0 ] : zp ZP_WORD:62 , +Potential registers zp ZP_WORD:64 [ printEntry::entryBFlag1_return#0 ] : zp ZP_WORD:64 , +Potential registers zp ZP_WORD:66 [ printEntry::entryBError1_return#0 ] : zp ZP_WORD:66 , +Potential registers zp ZP_WORD:68 [ printEntry::entryUCross1_$0#0 ] : zp ZP_WORD:68 , +Potential registers zp ZP_WORD:70 [ printEntry::entryUCross1_return#0 ] : zp ZP_WORD:70 , +Potential registers zp ZP_WORD:72 [ printEntry::entryBAddrLo1_return#0 ] : zp ZP_WORD:72 , +Potential registers zp ZP_WORD:74 [ printEntry::entryBAddrHi1_return#0 ] : zp ZP_WORD:74 , +Potential registers zp ZP_WORD:76 [ printEntry::entryTHi1_return#0 ] : zp ZP_WORD:76 , +Potential registers zp ZP_WORD:78 [ printEntry::entryTLo1_return#0 ] : zp ZP_WORD:78 , +Potential registers zp ZP_BYTE:80 [ print_byte::$0 ] : zp ZP_BYTE:80 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:81 [ print_byte::$2 ] : zp ZP_BYTE:81 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:82 [ initEntry::entryBufDisk1_return#0 ] : zp ZP_WORD:82 , +Potential registers zp ZP_BYTE:84 [ initEntry::$1 ] : zp ZP_BYTE:84 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:85 [ initEntry::entryBufEdit1_$0#0 ] : zp ZP_WORD:85 , +Potential registers zp ZP_WORD:87 [ initEntry::entryBufEdit1_return#0 ] : zp ZP_WORD:87 , +Potential registers zp ZP_BYTE:89 [ initEntry::$3 ] : zp ZP_BYTE:89 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:90 [ initEntry::entryTsLen1_$0#0 ] : zp ZP_WORD:90 , +Potential registers zp ZP_WORD:92 [ initEntry::entryTsLen1_return#0 ] : zp ZP_WORD:92 , +Potential registers zp ZP_BYTE:94 [ initEntry::$5 ] : zp ZP_BYTE:94 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:95 [ initEntry::entryTsOrder1_$0#0 ] : zp ZP_WORD:95 , +Potential registers zp ZP_WORD:97 [ initEntry::entryTsOrder1_return#0 ] : zp ZP_WORD:97 , +Potential registers zp ZP_BYTE:99 [ initEntry::$7 ] : zp ZP_BYTE:99 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:100 [ initEntry::entryTLastLink1_return#0 ] : zp ZP_WORD:100 , +Potential registers zp ZP_BYTE:102 [ initEntry::$9 ] : zp ZP_BYTE:102 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:103 [ initEntry::entrySLastLink1_return#0 ] : zp ZP_WORD:103 , +Potential registers zp ZP_BYTE:105 [ initEntry::$11 ] : zp ZP_BYTE:105 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:106 [ initEntry::entryBFlag1_return#0 ] : zp ZP_WORD:106 , +Potential registers zp ZP_BYTE:108 [ initEntry::$13 ] : zp ZP_BYTE:108 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:109 [ initEntry::entryBError1_return#0 ] : zp ZP_WORD:109 , +Potential registers zp ZP_BYTE:111 [ initEntry::$15 ] : zp ZP_BYTE:111 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:112 [ initEntry::entryUCross1_$0#0 ] : zp ZP_WORD:112 , +Potential registers zp ZP_WORD:114 [ initEntry::entryUCross1_return#0 ] : zp ZP_WORD:114 , +Potential registers zp ZP_BYTE:116 [ initEntry::$17 ] : zp ZP_BYTE:116 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:117 [ initEntry::entryBAddrLo1_return#0 ] : zp ZP_WORD:117 , +Potential registers zp ZP_BYTE:119 [ initEntry::$19 ] : zp ZP_BYTE:119 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:120 [ initEntry::entryBAddrHi1_return#0 ] : zp ZP_WORD:120 , +Potential registers zp ZP_BYTE:122 [ initEntry::$21 ] : zp ZP_BYTE:122 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:123 [ initEntry::entryTHi1_return#0 ] : zp ZP_WORD:123 , +Potential registers zp ZP_BYTE:125 [ initEntry::$23 ] : zp ZP_BYTE:125 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:126 [ initEntry::entryTLo1_return#0 ] : zp ZP_WORD:126 , +Potential registers zp ZP_BYTE:128 [ initEntry::$25 ] : zp ZP_BYTE:128 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:129 [ mul8u::$1 ] : zp ZP_BYTE:129 , reg byte a , reg byte x , reg byte y , + +REGISTER UPLIFT SCOPES +Uplift Scope [] 142.07: zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 ] 142: zp ZP_WORD:6 [ print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] 1.04: zp ZP_WORD:44 [ print_line_cursor#1 ] +Uplift Scope [mul8u] 38.29: zp ZP_WORD:20 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] 26.71: zp ZP_WORD:22 [ mul8u::mb#2 mul8u::mb#1 ] 22: zp ZP_BYTE:129 [ mul8u::$1 ] 20.67: zp ZP_BYTE:19 [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] 4: zp ZP_WORD:24 [ mul8u::return#2 ] 4: zp ZP_WORD:30 [ mul8u::return#3 ] +Uplift Scope [initEntry] 8.73: zp ZP_WORD:16 [ initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 ] 4: zp ZP_BYTE:84 [ initEntry::$1 ] 4: zp ZP_WORD:85 [ initEntry::entryBufEdit1_$0#0 ] 4: zp ZP_BYTE:89 [ initEntry::$3 ] 4: zp ZP_WORD:90 [ initEntry::entryTsLen1_$0#0 ] 4: zp ZP_BYTE:94 [ initEntry::$5 ] 4: zp ZP_WORD:95 [ initEntry::entryTsOrder1_$0#0 ] 4: zp ZP_BYTE:99 [ initEntry::$7 ] 4: zp ZP_BYTE:102 [ initEntry::$9 ] 4: zp ZP_BYTE:105 [ initEntry::$11 ] 4: zp ZP_BYTE:108 [ initEntry::$13 ] 4: zp ZP_BYTE:111 [ initEntry::$15 ] 4: zp ZP_WORD:112 [ initEntry::entryUCross1_$0#0 ] 4: zp ZP_BYTE:116 [ initEntry::$17 ] 4: zp ZP_BYTE:119 [ initEntry::$19 ] 4: zp ZP_BYTE:122 [ initEntry::$21 ] 4: zp ZP_BYTE:125 [ initEntry::$23 ] 4: zp ZP_BYTE:128 [ initEntry::$25 ] 2: zp ZP_WORD:82 [ initEntry::entryBufDisk1_return#0 ] 2: zp ZP_WORD:87 [ initEntry::entryBufEdit1_return#0 ] 2: zp ZP_WORD:92 [ initEntry::entryTsLen1_return#0 ] 2: zp ZP_WORD:97 [ initEntry::entryTsOrder1_return#0 ] 2: zp ZP_WORD:100 [ initEntry::entryTLastLink1_return#0 ] 2: zp ZP_WORD:103 [ initEntry::entrySLastLink1_return#0 ] 2: zp ZP_WORD:106 [ initEntry::entryBFlag1_return#0 ] 2: zp ZP_WORD:109 [ initEntry::entryBError1_return#0 ] 2: zp ZP_WORD:114 [ initEntry::entryUCross1_return#0 ] 2: zp ZP_WORD:117 [ initEntry::entryBAddrLo1_return#0 ] 2: zp ZP_WORD:120 [ initEntry::entryBAddrHi1_return#0 ] 2: zp ZP_WORD:123 [ initEntry::entryTHi1_return#0 ] 2: zp ZP_WORD:126 [ initEntry::entryTLo1_return#0 ] 0.62: zp ZP_BYTE:18 [ initEntry::n#10 ] +Uplift Scope [printEntry] 8.33: zp ZP_WORD:8 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 ] 4: zp ZP_WORD:48 [ printEntry::entryBufEdit1_$0#0 ] 4: zp ZP_WORD:52 [ printEntry::entryTsLen1_$0#0 ] 4: zp ZP_WORD:54 [ printEntry::entryTsLen1_return#0 ] 4: zp ZP_WORD:56 [ printEntry::entryTsOrder1_$0#0 ] 4: zp ZP_WORD:60 [ printEntry::entryTLastLink1_return#0 ] 4: zp ZP_WORD:62 [ printEntry::entrySLastLink1_return#0 ] 4: zp ZP_WORD:64 [ printEntry::entryBFlag1_return#0 ] 4: zp ZP_WORD:66 [ printEntry::entryBError1_return#0 ] 4: zp ZP_WORD:68 [ printEntry::entryUCross1_$0#0 ] 4: zp ZP_WORD:70 [ printEntry::entryUCross1_return#0 ] 4: zp ZP_WORD:72 [ printEntry::entryBAddrLo1_return#0 ] 4: zp ZP_WORD:74 [ printEntry::entryBAddrHi1_return#0 ] 4: zp ZP_WORD:76 [ printEntry::entryTHi1_return#0 ] 4: zp ZP_WORD:78 [ printEntry::entryTLo1_return#0 ] 2: zp ZP_WORD:46 [ printEntry::entryBufDisk1_return#0 ] 2: zp ZP_WORD:50 [ printEntry::entryBufEdit1_return#0 ] 2: zp ZP_WORD:58 [ printEntry::entryTsOrder1_return#0 ] +Uplift Scope [print_byte] 46: zp ZP_BYTE:10 [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] 4: zp ZP_BYTE:80 [ print_byte::$0 ] 4: zp ZP_BYTE:81 [ print_byte::$2 ] +Uplift Scope [keyboard_key_pressed] 22: zp ZP_BYTE:36 [ keyboard_key_pressed::return#2 ] 22: zp ZP_BYTE:38 [ keyboard_key_pressed::return#3 ] 6: zp ZP_BYTE:42 [ keyboard_key_pressed::return#0 ] 4: zp ZP_BYTE:41 [ keyboard_key_pressed::$2 ] +Uplift Scope [main] 22: zp ZP_BYTE:37 [ main::$20 ] 22: zp ZP_BYTE:39 [ main::$22 ] 4: zp ZP_WORD:26 [ main::fileEntry1_$0#0 ] 4: zp ZP_WORD:32 [ main::fileEntry2_$0#0 ] 0.32: zp ZP_WORD:28 [ main::entry1#0 ] 0.17: zp ZP_WORD:34 [ main::entry2#0 ] +Uplift Scope [print_str] 35.5: zp ZP_WORD:4 [ print_str::str#18 print_str::str#20 print_str::str#0 ] +Uplift Scope [print_cls] 33: zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 ] +Uplift Scope [print_word] 24.67: zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 ] +Uplift Scope [print_char] 14: zp ZP_BYTE:11 [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] +Uplift Scope [keyboard_matrix_read] 4: zp ZP_BYTE:40 [ keyboard_matrix_read::return#2 ] 1.33: zp ZP_BYTE:43 [ keyboard_matrix_read::return#0 ] +Uplift Scope [print_ln] +Uplift Scope [keyboard_init] + +Uplifting [] best 6006 combination zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 ] zp ZP_WORD:6 [ print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] zp ZP_WORD:44 [ print_line_cursor#1 ] +Uplifting [mul8u] best 5910 combination zp ZP_WORD:20 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp ZP_WORD:22 [ mul8u::mb#2 mul8u::mb#1 ] reg byte a [ mul8u::$1 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] zp ZP_WORD:24 [ mul8u::return#2 ] zp ZP_WORD:30 [ mul8u::return#3 ] +Uplifting [initEntry] best 5892 combination zp ZP_WORD:16 [ initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 ] reg byte a [ initEntry::$1 ] zp ZP_WORD:85 [ initEntry::entryBufEdit1_$0#0 ] reg byte a [ initEntry::$3 ] zp ZP_WORD:90 [ initEntry::entryTsLen1_$0#0 ] reg byte a [ initEntry::$5 ] zp ZP_WORD:95 [ initEntry::entryTsOrder1_$0#0 ] reg byte a [ initEntry::$7 ] zp ZP_BYTE:102 [ initEntry::$9 ] zp ZP_BYTE:105 [ initEntry::$11 ] zp ZP_BYTE:108 [ initEntry::$13 ] zp ZP_BYTE:111 [ initEntry::$15 ] zp ZP_WORD:112 [ initEntry::entryUCross1_$0#0 ] zp ZP_BYTE:116 [ initEntry::$17 ] zp ZP_BYTE:119 [ initEntry::$19 ] zp ZP_BYTE:122 [ initEntry::$21 ] zp ZP_BYTE:125 [ initEntry::$23 ] zp ZP_BYTE:128 [ initEntry::$25 ] zp ZP_WORD:82 [ initEntry::entryBufDisk1_return#0 ] zp ZP_WORD:87 [ initEntry::entryBufEdit1_return#0 ] zp ZP_WORD:92 [ initEntry::entryTsLen1_return#0 ] zp ZP_WORD:97 [ initEntry::entryTsOrder1_return#0 ] zp ZP_WORD:100 [ initEntry::entryTLastLink1_return#0 ] zp ZP_WORD:103 [ initEntry::entrySLastLink1_return#0 ] zp ZP_WORD:106 [ initEntry::entryBFlag1_return#0 ] zp ZP_WORD:109 [ initEntry::entryBError1_return#0 ] zp ZP_WORD:114 [ initEntry::entryUCross1_return#0 ] zp ZP_WORD:117 [ initEntry::entryBAddrLo1_return#0 ] zp ZP_WORD:120 [ initEntry::entryBAddrHi1_return#0 ] zp ZP_WORD:123 [ initEntry::entryTHi1_return#0 ] zp ZP_WORD:126 [ initEntry::entryTLo1_return#0 ] zp ZP_BYTE:18 [ initEntry::n#10 ] +Limited combination testing to 100 combinations of 134217728 possible. +Uplifting [printEntry] best 5892 combination zp ZP_WORD:8 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 ] zp ZP_WORD:48 [ printEntry::entryBufEdit1_$0#0 ] zp ZP_WORD:52 [ printEntry::entryTsLen1_$0#0 ] zp ZP_WORD:54 [ printEntry::entryTsLen1_return#0 ] zp ZP_WORD:56 [ printEntry::entryTsOrder1_$0#0 ] zp ZP_WORD:60 [ printEntry::entryTLastLink1_return#0 ] zp ZP_WORD:62 [ printEntry::entrySLastLink1_return#0 ] zp ZP_WORD:64 [ printEntry::entryBFlag1_return#0 ] zp ZP_WORD:66 [ printEntry::entryBError1_return#0 ] zp ZP_WORD:68 [ printEntry::entryUCross1_$0#0 ] zp ZP_WORD:70 [ printEntry::entryUCross1_return#0 ] zp ZP_WORD:72 [ printEntry::entryBAddrLo1_return#0 ] zp ZP_WORD:74 [ printEntry::entryBAddrHi1_return#0 ] zp ZP_WORD:76 [ printEntry::entryTHi1_return#0 ] zp ZP_WORD:78 [ printEntry::entryTLo1_return#0 ] zp ZP_WORD:46 [ printEntry::entryBufDisk1_return#0 ] zp ZP_WORD:50 [ printEntry::entryBufEdit1_return#0 ] zp ZP_WORD:58 [ printEntry::entryTsOrder1_return#0 ] +Uplifting [print_byte] best 5870 combination reg byte x [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte x [ print_byte::$2 ] +Uplifting [keyboard_key_pressed] best 5681 combination reg byte a [ keyboard_key_pressed::return#2 ] reg byte a [ keyboard_key_pressed::return#3 ] reg byte a [ keyboard_key_pressed::return#0 ] reg byte a [ keyboard_key_pressed::$2 ] +Limited combination testing to 100 combinations of 256 possible. +Uplifting [main] best 5561 combination reg byte a [ main::$20 ] reg byte a [ main::$22 ] zp ZP_WORD:26 [ main::fileEntry1_$0#0 ] zp ZP_WORD:32 [ main::fileEntry2_$0#0 ] zp ZP_WORD:28 [ main::entry1#0 ] zp ZP_WORD:34 [ main::entry2#0 ] +Uplifting [print_str] best 5561 combination zp ZP_WORD:4 [ print_str::str#18 print_str::str#20 print_str::str#0 ] +Uplifting [print_cls] best 5561 combination zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 ] +Uplifting [print_word] best 5561 combination zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 ] +Uplifting [print_char] best 5552 combination reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] +Uplifting [keyboard_matrix_read] best 5540 combination reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_matrix_read::return#0 ] +Uplifting [print_ln] best 5540 combination +Uplifting [keyboard_init] best 5540 combination +Attempting to uplift remaining variables inzp ZP_BYTE:102 [ initEntry::$9 ] +Uplifting [initEntry] best 5536 combination reg byte a [ initEntry::$9 ] +Attempting to uplift remaining variables inzp ZP_BYTE:105 [ initEntry::$11 ] +Uplifting [initEntry] best 5532 combination reg byte a [ initEntry::$11 ] +Attempting to uplift remaining variables inzp ZP_BYTE:108 [ initEntry::$13 ] +Uplifting [initEntry] best 5528 combination reg byte a [ initEntry::$13 ] +Attempting to uplift remaining variables inzp ZP_BYTE:111 [ initEntry::$15 ] +Uplifting [initEntry] best 5524 combination reg byte a [ initEntry::$15 ] +Attempting to uplift remaining variables inzp ZP_BYTE:116 [ initEntry::$17 ] +Uplifting [initEntry] best 5520 combination reg byte a [ initEntry::$17 ] +Attempting to uplift remaining variables inzp ZP_BYTE:119 [ initEntry::$19 ] +Uplifting [initEntry] best 5516 combination reg byte a [ initEntry::$19 ] +Attempting to uplift remaining variables inzp ZP_BYTE:122 [ initEntry::$21 ] +Uplifting [initEntry] best 5512 combination reg byte a [ initEntry::$21 ] +Attempting to uplift remaining variables inzp ZP_BYTE:125 [ initEntry::$23 ] +Uplifting [initEntry] best 5508 combination reg byte a [ initEntry::$23 ] +Attempting to uplift remaining variables inzp ZP_BYTE:128 [ initEntry::$25 ] +Uplifting [initEntry] best 5504 combination reg byte a [ initEntry::$25 ] +Attempting to uplift remaining variables inzp ZP_BYTE:18 [ initEntry::n#10 ] +Uplifting [initEntry] best 5504 combination zp ZP_BYTE:18 [ initEntry::n#10 ] +Coalescing zero page register with common assignment [ zp ZP_WORD:8 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 ] ] with [ zp ZP_WORD:28 [ main::entry1#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:8 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 main::entry1#0 ] ] with [ zp ZP_WORD:78 [ printEntry::entryTLo1_return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 ] ] with [ zp ZP_WORD:46 [ printEntry::entryBufDisk1_return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 ] ] with [ zp ZP_WORD:50 [ printEntry::entryBufEdit1_return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 ] ] with [ zp ZP_WORD:54 [ printEntry::entryTsLen1_return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 ] ] with [ zp ZP_WORD:58 [ printEntry::entryTsOrder1_return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 ] ] with [ zp ZP_WORD:70 [ printEntry::entryUCross1_return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:16 [ initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 ] ] with [ zp ZP_WORD:126 [ initEntry::entryTLo1_return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:20 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] ] with [ zp ZP_WORD:24 [ mul8u::return#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:20 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 ] ] with [ zp ZP_WORD:30 [ mul8u::return#3 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:32 [ main::fileEntry2_$0#0 ] ] with [ zp ZP_WORD:34 [ main::entry2#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:85 [ initEntry::entryBufEdit1_$0#0 ] ] with [ zp ZP_WORD:87 [ initEntry::entryBufEdit1_return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:90 [ initEntry::entryTsLen1_$0#0 ] ] with [ zp ZP_WORD:92 [ initEntry::entryTsLen1_return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:95 [ initEntry::entryTsOrder1_$0#0 ] ] with [ zp ZP_WORD:97 [ initEntry::entryTsOrder1_return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:112 [ initEntry::entryUCross1_$0#0 ] ] with [ zp ZP_WORD:114 [ initEntry::entryUCross1_return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:8 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 main::entry1#0 printEntry::entryTLo1_return#0 ] ] with [ zp ZP_WORD:26 [ main::fileEntry1_$0#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 ] ] with [ zp ZP_WORD:48 [ printEntry::entryBufEdit1_$0#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 ] ] with [ zp ZP_WORD:52 [ printEntry::entryTsLen1_$0#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 ] ] with [ zp ZP_WORD:56 [ printEntry::entryTsOrder1_$0#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 ] ] with [ zp ZP_WORD:68 [ printEntry::entryUCross1_$0#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:20 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mul8u::return#3 ] ] with [ zp ZP_WORD:32 [ main::fileEntry2_$0#0 main::entry2#0 ] ] - score: 1 +Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 ] ] with [ zp ZP_WORD:4 [ print_str::str#18 print_str::str#20 print_str::str#0 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 ] ] with [ zp ZP_WORD:6 [ print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 ] ] with [ zp ZP_WORD:14 [ print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 ] ] with [ zp ZP_WORD:16 [ initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 ] ] with [ zp ZP_WORD:22 [ mul8u::mb#2 mul8u::mb#1 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 ] ] with [ zp ZP_WORD:60 [ printEntry::entryTLastLink1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 ] ] with [ zp ZP_WORD:62 [ printEntry::entrySLastLink1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 printEntry::entrySLastLink1_return#0 ] ] with [ zp ZP_WORD:64 [ printEntry::entryBFlag1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 printEntry::entrySLastLink1_return#0 printEntry::entryBFlag1_return#0 ] ] with [ zp ZP_WORD:66 [ printEntry::entryBError1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 printEntry::entrySLastLink1_return#0 printEntry::entryBFlag1_return#0 printEntry::entryBError1_return#0 ] ] with [ zp ZP_WORD:72 [ printEntry::entryBAddrLo1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 printEntry::entrySLastLink1_return#0 printEntry::entryBFlag1_return#0 printEntry::entryBError1_return#0 printEntry::entryBAddrLo1_return#0 ] ] with [ zp ZP_WORD:74 [ printEntry::entryBAddrHi1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 printEntry::entrySLastLink1_return#0 printEntry::entryBFlag1_return#0 printEntry::entryBError1_return#0 printEntry::entryBAddrLo1_return#0 printEntry::entryBAddrHi1_return#0 ] ] with [ zp ZP_WORD:76 [ printEntry::entryTHi1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 ] ] with [ zp ZP_WORD:82 [ initEntry::entryBufDisk1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 ] ] with [ zp ZP_WORD:85 [ initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 ] ] with [ zp ZP_WORD:90 [ initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 ] ] with [ zp ZP_WORD:95 [ initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 ] ] with [ zp ZP_WORD:100 [ initEntry::entryTLastLink1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 ] ] with [ zp ZP_WORD:103 [ initEntry::entrySLastLink1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 ] ] with [ zp ZP_WORD:106 [ initEntry::entryBFlag1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 ] ] with [ zp ZP_WORD:109 [ initEntry::entryBError1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 initEntry::entryBError1_return#0 ] ] with [ zp ZP_WORD:112 [ initEntry::entryUCross1_$0#0 initEntry::entryUCross1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 initEntry::entryBError1_return#0 initEntry::entryUCross1_$0#0 initEntry::entryUCross1_return#0 ] ] with [ zp ZP_WORD:117 [ initEntry::entryBAddrLo1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 initEntry::entryBError1_return#0 initEntry::entryUCross1_$0#0 initEntry::entryUCross1_return#0 initEntry::entryBAddrLo1_return#0 ] ] with [ zp ZP_WORD:120 [ initEntry::entryBAddrHi1_return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 initEntry::entryBError1_return#0 initEntry::entryUCross1_$0#0 initEntry::entryUCross1_return#0 initEntry::entryBAddrLo1_return#0 initEntry::entryBAddrHi1_return#0 ] ] with [ zp ZP_WORD:123 [ initEntry::entryTHi1_return#0 ] ] +Allocated (was zp ZP_WORD:8) zp ZP_WORD:4 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 main::entry1#0 printEntry::entryTLo1_return#0 main::fileEntry1_$0#0 ] +Allocated (was zp ZP_WORD:12) zp ZP_WORD:6 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 initEntry::entryBError1_return#0 initEntry::entryUCross1_$0#0 initEntry::entryUCross1_return#0 initEntry::entryBAddrLo1_return#0 initEntry::entryBAddrHi1_return#0 initEntry::entryTHi1_return#0 ] +Allocated (was zp ZP_BYTE:18) zp ZP_BYTE:8 [ initEntry::n#10 ] +Allocated (was zp ZP_WORD:20) zp ZP_WORD:9 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mul8u::return#3 main::fileEntry2_$0#0 main::entry2#0 ] +Allocated (was zp ZP_WORD:44) zp ZP_WORD:11 [ print_line_cursor#1 ] + +ASSEMBLER BEFORE OPTIMIZATION +//SEG0 File Comments +// Implementing a semi-struct without the struct keyword by using pointer math and inline functions +// +// struct fileentry { +// BYTE *bufDisk; // file position in disk buffer. +// BYTE *bufEdit; // file edits +// WORD tsLen; // num of sectors +// TS *tsOrder; +// BYTE tLastLink; +// BYTE sLastLink; +// BYTE bFlag; +// BYTE bError; +// WORD uCross; // num of crosslinked sectors +// BYTE bAddrLo; // start address +// BYTE bAddrHi; +// BYTE tHi; // highest track +// BYTE tLo; // lowest track +// }; +// typedef struct fileentry ENTRY; +// ENTRY files[MAX_FILES]; +//SEG1 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(bbegin) +.pc = $80d "Program" +//SEG2 Global Constants & labels + // CIA#1 Port A: keyboard matrix columns and joystick #2 + .label CIA1_PORT_A = $dc00 + // CIA#1 Port B: keyboard matrix rows and joystick #1. + .label CIA1_PORT_B = $dc01 + // CIA #1 Port A data direction register. + .label CIA1_PORT_A_DDR = $dc02 + // CIA #1 Port B data direction register. + .label CIA1_PORT_B_DDR = $dc03 + .const KEY_SPACE = $3c + // The size of a file ENTRY + .const ENTRY_SIZE = $12 + // The maximal number of files + .const MAX_FILES = $90 + .label print_char_cursor = 6 + .label print_line_cursor = $b + .label print_line_cursor_32 = 2 + .label print_line_cursor_63 = 2 + .label print_line_cursor_159 = 2 + .label print_line_cursor_160 = 2 + .label print_line_cursor_161 = 2 + .label print_line_cursor_162 = 2 + .label print_line_cursor_163 = 2 + .label print_line_cursor_164 = 2 + .label print_line_cursor_165 = 2 + .label print_line_cursor_166 = 2 + .label print_line_cursor_167 = 2 + .label print_line_cursor_168 = 2 + .label print_line_cursor_169 = 2 + .label print_line_cursor_170 = 2 + .label print_line_cursor_171 = 2 + .label print_line_cursor_172 = 2 + .label print_line_cursor_173 = 2 + .label print_line_cursor_174 = 2 + .label print_line_cursor_175 = 2 + .label print_line_cursor_177 = 2 +//SEG3 @begin +bbegin: +//SEG4 [1] phi from @begin to @1 [phi:@begin->@1] +b1_from_bbegin: + jmp b1 +//SEG5 @1 +b1: +//SEG6 [2] call main +//SEG7 [4] phi from @1 to main [phi:@1->main] +main_from_b1: + jsr main +//SEG8 [3] phi from @1 to @end [phi:@1->@end] +bend_from_b1: + jmp bend +//SEG9 @end +bend: +//SEG10 main +// Initialize 2 file entries and print them +main: { + .const fileEntry1_idx = 1 + .const fileEntry2_idx = 2 + .label fileEntry1__0 = 4 + .label entry1 = 4 + .label fileEntry2__0 = 9 + .label entry2 = 9 + //SEG11 [5] call keyboard_init + jsr keyboard_init + //SEG12 [6] phi from main to main::fileEntry1 [phi:main->main::fileEntry1] + fileEntry1_from_main: + jmp fileEntry1 + //SEG13 main::fileEntry1 + fileEntry1: + //SEG14 [7] call mul8u + //SEG15 [253] phi from main::fileEntry1 to mul8u [phi:main::fileEntry1->mul8u] + mul8u_from_fileEntry1: + //SEG16 [253] phi (byte) mul8u::a#6 = (const byte) main::fileEntry1_idx#0 [phi:main::fileEntry1->mul8u#0] -- vbuxx=vbuc1 + ldx #fileEntry1_idx + jsr mul8u + //SEG17 [8] (word) mul8u::return#2 ← (word) mul8u::res#2 + jmp b6 + //SEG18 main::@6 + b6: + //SEG19 [9] (word) main::fileEntry1_$0#0 ← (word) mul8u::return#2 -- vwuz1=vwuz2 + lda mul8u.return + sta fileEntry1__0 + lda mul8u.return+1 + sta fileEntry1__0+1 + //SEG20 [10] (byte*) main::entry1#0 ← (const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 + (word) main::fileEntry1_$0#0 -- pbuz1=pbuc1_plus_vwuz1 + clc + lda entry1 + adc #files + sta entry1+1 + //SEG21 [11] phi from main::@6 to main::fileEntry2 [phi:main::@6->main::fileEntry2] + fileEntry2_from_b6: + jmp fileEntry2 + //SEG22 main::fileEntry2 + fileEntry2: + //SEG23 [12] call mul8u + //SEG24 [253] phi from main::fileEntry2 to mul8u [phi:main::fileEntry2->mul8u] + mul8u_from_fileEntry2: + //SEG25 [253] phi (byte) mul8u::a#6 = (const byte) main::fileEntry2_idx#0 [phi:main::fileEntry2->mul8u#0] -- vbuxx=vbuc1 + ldx #fileEntry2_idx + jsr mul8u + //SEG26 [13] (word) mul8u::return#3 ← (word) mul8u::res#2 + jmp b7 + //SEG27 main::@7 + b7: + //SEG28 [14] (word) main::fileEntry2_$0#0 ← (word) mul8u::return#3 + //SEG29 [15] (byte*) main::entry2#0 ← (const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 + (word) main::fileEntry2_$0#0 -- pbuz1=pbuc1_plus_vwuz1 + clc + lda entry2 + adc #files + sta entry2+1 + jmp b5 + //SEG30 main::@5 + b5: + //SEG31 [16] (byte*) initEntry::entry#0 ← (byte*) main::entry1#0 -- pbuz1=pbuz2 + lda entry1 + sta initEntry.entry + lda entry1+1 + sta initEntry.entry+1 + //SEG32 [17] call initEntry + //SEG33 [208] phi from main::@5 to initEntry [phi:main::@5->initEntry] + initEntry_from_b5: + //SEG34 [208] phi (byte) initEntry::n#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@5->initEntry#0] -- vbuz1=vbuc1 + lda #0 + sta initEntry.n + //SEG35 [208] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#0 [phi:main::@5->initEntry#1] -- register_copy + jsr initEntry + jmp b8 + //SEG36 main::@8 + b8: + //SEG37 [18] (byte*) initEntry::entry#1 ← (byte*) main::entry2#0 -- pbuz1=pbuz2 + lda entry2 + sta initEntry.entry + lda entry2+1 + sta initEntry.entry+1 + //SEG38 [19] call initEntry + //SEG39 [208] phi from main::@8 to initEntry [phi:main::@8->initEntry] + initEntry_from_b8: + //SEG40 [208] phi (byte) initEntry::n#10 = (byte/word/signed word/dword/signed dword) $80 [phi:main::@8->initEntry#0] -- vbuz1=vbuc1 + lda #$80 + sta initEntry.n + //SEG41 [208] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#1 [phi:main::@8->initEntry#1] -- register_copy + jsr initEntry + //SEG42 [20] phi from main::@8 to main::@9 [phi:main::@8->main::@9] + b9_from_b8: + jmp b9 + //SEG43 main::@9 + b9: + //SEG44 [21] call print_cls + //SEG45 [65] phi from main::@9 to print_cls [phi:main::@9->print_cls] + print_cls_from_b9: + jsr print_cls + //SEG46 [22] phi from main::@9 to main::@10 [phi:main::@9->main::@10] + b10_from_b9: + jmp b10 + //SEG47 main::@10 + b10: + //SEG48 [23] call print_str + //SEG49 [80] phi from main::@10 to print_str [phi:main::@10->print_str] + print_str_from_b10: + //SEG50 [80] phi (byte*) print_char_cursor#164 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::@10->print_str#0] -- pbuz1=pbuc1 + lda #<$400 + sta print_char_cursor + lda #>$400 + sta print_char_cursor+1 + //SEG51 [80] phi (byte*) print_str::str#20 = (const string) main::str [phi:main::@10->print_str#1] -- pbuz1=pbuc1 + lda #str + sta print_str.str+1 + jsr print_str + //SEG52 [24] phi from main::@10 to main::@11 [phi:main::@10->main::@11] + b11_from_b10: + jmp b11 + //SEG53 main::@11 + b11: + //SEG54 [25] call print_ln + //SEG55 [87] phi from main::@11 to print_ln [phi:main::@11->print_ln] + print_ln_from_b11: + //SEG56 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#142 [phi:main::@11->print_ln#0] -- register_copy + //SEG57 [87] phi (byte*) print_line_cursor#63 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::@11->print_ln#1] -- pbuz1=pbuc1 + lda #<$400 + sta print_line_cursor_63 + lda #>$400 + sta print_line_cursor_63+1 + jsr print_ln + jmp b12 + //SEG58 main::@12 + b12: + //SEG59 [26] (byte*~) print_line_cursor#159 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_159 + lda print_line_cursor+1 + sta print_line_cursor_159+1 + //SEG60 [27] (byte*~) print_char_cursor#230 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG61 [28] call print_ln + //SEG62 [87] phi from main::@12 to print_ln [phi:main::@12->print_ln] + print_ln_from_b12: + //SEG63 [87] phi (byte*) print_char_cursor#143 = (byte*~) print_char_cursor#230 [phi:main::@12->print_ln#0] -- register_copy + //SEG64 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#159 [phi:main::@12->print_ln#1] -- register_copy + jsr print_ln + jmp b13 + //SEG65 main::@13 + b13: + //SEG66 [29] (byte*) printEntry::entry#0 ← (byte*) main::entry1#0 + //SEG67 [30] call printEntry + //SEG68 [93] phi from main::@13 to printEntry [phi:main::@13->printEntry] + printEntry_from_b13: + //SEG69 [93] phi (byte*) printEntry::entryBufDisk1_$0#0 = (byte*) printEntry::entry#0 [phi:main::@13->printEntry#0] -- register_copy + jsr printEntry + jmp b14 + //SEG70 main::@14 + b14: + //SEG71 [31] (byte*~) print_line_cursor#160 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_160 + lda print_line_cursor+1 + sta print_line_cursor_160+1 + //SEG72 [32] (byte*~) print_char_cursor#231 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG73 [33] call print_ln + //SEG74 [87] phi from main::@14 to print_ln [phi:main::@14->print_ln] + print_ln_from_b14: + //SEG75 [87] phi (byte*) print_char_cursor#143 = (byte*~) print_char_cursor#231 [phi:main::@14->print_ln#0] -- register_copy + //SEG76 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#160 [phi:main::@14->print_ln#1] -- register_copy + jsr print_ln + jmp b15 + //SEG77 main::@15 + b15: + //SEG78 [34] (byte*~) print_char_cursor#212 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG79 [35] call print_str + //SEG80 [80] phi from main::@15 to print_str [phi:main::@15->print_str] + print_str_from_b15: + //SEG81 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#212 [phi:main::@15->print_str#0] -- register_copy + //SEG82 [80] phi (byte*) print_str::str#20 = (const string) main::str1 [phi:main::@15->print_str#1] -- pbuz1=pbuc1 + lda #str1 + sta print_str.str+1 + jsr print_str + //SEG83 [36] phi from main::@15 main::@16 to main::@1 [phi:main::@15/main::@16->main::@1] + b1_from_b15: + b1_from_b16: + jmp b1 + //SEG84 main::@1 + b1: + //SEG85 [37] call keyboard_key_pressed + //SEG86 [71] phi from main::@1 to keyboard_key_pressed [phi:main::@1->keyboard_key_pressed] + keyboard_key_pressed_from_b1: + jsr keyboard_key_pressed + //SEG87 [38] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 + jmp b16 + //SEG88 main::@16 + b16: + //SEG89 [39] (byte~) main::$20 ← (byte) keyboard_key_pressed::return#2 + //SEG90 [40] if((byte~) main::$20==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@1 -- vbuaa_eq_0_then_la1 + cmp #0 + beq b1_from_b16 + //SEG91 [41] phi from main::@16 to main::@2 [phi:main::@16->main::@2] + b2_from_b16: + jmp b2 + //SEG92 main::@2 + b2: + //SEG93 [42] call print_cls + //SEG94 [65] phi from main::@2 to print_cls [phi:main::@2->print_cls] + print_cls_from_b2: + jsr print_cls + //SEG95 [43] phi from main::@2 to main::@17 [phi:main::@2->main::@17] + b17_from_b2: + jmp b17 + //SEG96 main::@17 + b17: + //SEG97 [44] call print_str + //SEG98 [80] phi from main::@17 to print_str [phi:main::@17->print_str] + print_str_from_b17: + //SEG99 [80] phi (byte*) print_char_cursor#164 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::@17->print_str#0] -- pbuz1=pbuc1 + lda #<$400 + sta print_char_cursor + lda #>$400 + sta print_char_cursor+1 + //SEG100 [80] phi (byte*) print_str::str#20 = (const string) main::str2 [phi:main::@17->print_str#1] -- pbuz1=pbuc1 + lda #str2 + sta print_str.str+1 + jsr print_str + //SEG101 [45] phi from main::@17 to main::@18 [phi:main::@17->main::@18] + b18_from_b17: + jmp b18 + //SEG102 main::@18 + b18: + //SEG103 [46] call print_ln + //SEG104 [87] phi from main::@18 to print_ln [phi:main::@18->print_ln] + print_ln_from_b18: + //SEG105 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#142 [phi:main::@18->print_ln#0] -- register_copy + //SEG106 [87] phi (byte*) print_line_cursor#63 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::@18->print_ln#1] -- pbuz1=pbuc1 + lda #<$400 + sta print_line_cursor_63 + lda #>$400 + sta print_line_cursor_63+1 + jsr print_ln + jmp b19 + //SEG107 main::@19 + b19: + //SEG108 [47] (byte*~) print_line_cursor#161 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_161 + lda print_line_cursor+1 + sta print_line_cursor_161+1 + //SEG109 [48] (byte*~) print_char_cursor#233 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG110 [49] call print_ln + //SEG111 [87] phi from main::@19 to print_ln [phi:main::@19->print_ln] + print_ln_from_b19: + //SEG112 [87] phi (byte*) print_char_cursor#143 = (byte*~) print_char_cursor#233 [phi:main::@19->print_ln#0] -- register_copy + //SEG113 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#161 [phi:main::@19->print_ln#1] -- register_copy + jsr print_ln + jmp b20 + //SEG114 main::@20 + b20: + //SEG115 [50] (byte*) printEntry::entry#1 ← (byte*) main::entry2#0 -- pbuz1=pbuz2 + lda entry2 + sta printEntry.entry + lda entry2+1 + sta printEntry.entry+1 + //SEG116 [51] call printEntry + //SEG117 [93] phi from main::@20 to printEntry [phi:main::@20->printEntry] + printEntry_from_b20: + //SEG118 [93] phi (byte*) printEntry::entryBufDisk1_$0#0 = (byte*) printEntry::entry#1 [phi:main::@20->printEntry#0] -- register_copy + jsr printEntry + jmp b21 + //SEG119 main::@21 + b21: + //SEG120 [52] (byte*~) print_line_cursor#162 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_162 + lda print_line_cursor+1 + sta print_line_cursor_162+1 + //SEG121 [53] (byte*~) print_char_cursor#234 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG122 [54] call print_ln + //SEG123 [87] phi from main::@21 to print_ln [phi:main::@21->print_ln] + print_ln_from_b21: + //SEG124 [87] phi (byte*) print_char_cursor#143 = (byte*~) print_char_cursor#234 [phi:main::@21->print_ln#0] -- register_copy + //SEG125 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#162 [phi:main::@21->print_ln#1] -- register_copy + jsr print_ln + jmp b22 + //SEG126 main::@22 + b22: + //SEG127 [55] (byte*~) print_char_cursor#213 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG128 [56] call print_str + //SEG129 [80] phi from main::@22 to print_str [phi:main::@22->print_str] + print_str_from_b22: + //SEG130 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#213 [phi:main::@22->print_str#0] -- register_copy + //SEG131 [80] phi (byte*) print_str::str#20 = (const string) main::str1 [phi:main::@22->print_str#1] -- pbuz1=pbuc1 + lda #str1 + sta print_str.str+1 + jsr print_str + //SEG132 [57] phi from main::@22 main::@23 to main::@3 [phi:main::@22/main::@23->main::@3] + b3_from_b22: + b3_from_b23: + jmp b3 + //SEG133 main::@3 + b3: + //SEG134 [58] call keyboard_key_pressed + //SEG135 [71] phi from main::@3 to keyboard_key_pressed [phi:main::@3->keyboard_key_pressed] + keyboard_key_pressed_from_b3: + jsr keyboard_key_pressed + //SEG136 [59] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 + jmp b23 + //SEG137 main::@23 + b23: + //SEG138 [60] (byte~) main::$22 ← (byte) keyboard_key_pressed::return#3 + //SEG139 [61] if((byte~) main::$22==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@3 -- vbuaa_eq_0_then_la1 + cmp #0 + beq b3_from_b23 + //SEG140 [62] phi from main::@23 to main::@4 [phi:main::@23->main::@4] + b4_from_b23: + jmp b4 + //SEG141 main::@4 + b4: + //SEG142 [63] call print_cls + //SEG143 [65] phi from main::@4 to print_cls [phi:main::@4->print_cls] + print_cls_from_b4: + jsr print_cls + jmp breturn + //SEG144 main::@return + breturn: + //SEG145 [64] return + rts + str: .text "** entry 1 **@" + str1: .text "- press space -@" + str2: .text "** entry 2 **@" +} +//SEG146 print_cls +// Clear the screen. Also resets current line/char cursor. +print_cls: { + .label sc = 2 + //SEG147 [66] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + b1_from_print_cls: + //SEG148 [66] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + lda #<$400 + sta sc + lda #>$400 + sta sc+1 + jmp b1 + //SEG149 [66] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + b1_from_b1: + //SEG150 [66] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + jmp b1 + //SEG151 print_cls::@1 + b1: + //SEG152 [67] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 + lda #' ' + ldy #0 + sta (sc),y + //SEG153 [68] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 + inc sc + bne !+ + inc sc+1 + !: + //SEG154 [69] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) $400+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 -- pbuz1_neq_pbuc1_then_la1 + lda sc+1 + cmp #>$400+$3e8 + bne b1_from_b1 + lda sc + cmp #<$400+$3e8 + bne b1_from_b1 + jmp breturn + //SEG155 print_cls::@return + breturn: + //SEG156 [70] return + rts +} +//SEG157 keyboard_key_pressed +// Determines whether a specific key is currently pressed by accessing the matrix directly +// The key is a keyboard code defined from the keyboard matrix by %00rrrccc, where rrr is the row ID (0-7) and ccc is the column ID (0-7) +// All keys exist as as KEY_XXX constants. +// Returns zero if the key is not pressed and a non-zero value if the key is currently pressed +keyboard_key_pressed: { + .const colidx = KEY_SPACE&7 + .label rowidx = KEY_SPACE>>3 + //SEG158 [72] call keyboard_matrix_read + jsr keyboard_matrix_read + //SEG159 [73] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 + jmp b1 + //SEG160 keyboard_key_pressed::@1 + b1: + //SEG161 [74] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 + //SEG162 [75] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[8]) keyboard_matrix_col_bitmask#0+(const byte) keyboard_key_pressed::colidx#0) -- vbuaa=vbuaa_band__deref_pbuc1 + and keyboard_matrix_col_bitmask+colidx + jmp breturn + //SEG163 keyboard_key_pressed::@return + breturn: + //SEG164 [76] return + rts +} +//SEG165 keyboard_matrix_read +// Read a single row of the keyboard matrix +// The row ID (0-7) of the keyboard matrix row to read. See the C64 key matrix for row IDs. +// Returns the keys pressed on the row as bits according to the C64 key matrix. +// Notice: If the C64 normal interrupt is still running it will occasionally interrupt right between the read & write +// leading to erroneous readings. You must disable kill the normal interrupt or sei/cli around calls to the keyboard matrix reader. +keyboard_matrix_read: { + //SEG166 [77] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0+(const byte) keyboard_key_pressed::rowidx#0) -- _deref_pbuc1=_deref_pbuc2 + lda keyboard_matrix_row_bitmask+keyboard_key_pressed.rowidx + sta CIA1_PORT_A + //SEG167 [78] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) -- vbuaa=_bnot__deref_pbuc1 + lda CIA1_PORT_B + eor #$ff + jmp breturn + //SEG168 keyboard_matrix_read::@return + breturn: + //SEG169 [79] return + rts +} +//SEG170 print_str +// Print a zero-terminated string +// print_str(byte* zeropage(2) str) +print_str: { + .label str = 2 + //SEG171 [81] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] + b1_from_print_str: + b1_from_b2: + //SEG172 [81] phi (byte*) print_char_cursor#142 = (byte*) print_char_cursor#164 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy + //SEG173 [81] phi (byte*) print_str::str#18 = (byte*) print_str::str#20 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy + jmp b1 + //SEG174 print_str::@1 + b1: + //SEG175 [82] if(*((byte*) print_str::str#18)!=(byte) '@') goto print_str::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 + ldy #0 + lda (str),y + cmp #'@' + bne b2 + jmp breturn + //SEG176 print_str::@return + breturn: + //SEG177 [83] return + rts + //SEG178 print_str::@2 + b2: + //SEG179 [84] *((byte*) print_char_cursor#142) ← *((byte*) print_str::str#18) -- _deref_pbuz1=_deref_pbuz2 + ldy #0 + lda (str),y + ldy #0 + sta (print_char_cursor),y + //SEG180 [85] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#142 -- pbuz1=_inc_pbuz1 + inc print_char_cursor + bne !+ + inc print_char_cursor+1 + !: + //SEG181 [86] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#18 -- pbuz1=_inc_pbuz1 + inc str + bne !+ + inc str+1 + !: + jmp b1_from_b2 +} +//SEG182 print_ln +// Print a newline +print_ln: { + //SEG183 [88] phi from print_ln print_ln::@2 to print_ln::@1 [phi:print_ln/print_ln::@2->print_ln::@1] + b1_from_print_ln: + b1_from_b2: + //SEG184 [88] phi (byte*) print_line_cursor#32 = (byte*) print_line_cursor#63 [phi:print_ln/print_ln::@2->print_ln::@1#0] -- register_copy + jmp b1 + //SEG185 print_ln::@1 + b1: + //SEG186 [89] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#32 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz2_plus_vbuc1 + lda #$28 + clc + adc print_line_cursor_32 + sta print_line_cursor + lda #0 + adc print_line_cursor_32+1 + sta print_line_cursor+1 + //SEG187 [90] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#143) goto print_ln::@2 -- pbuz1_lt_pbuz2_then_la1 + lda print_line_cursor+1 + cmp print_char_cursor+1 + bcc b2 + bne !+ + lda print_line_cursor + cmp print_char_cursor + bcc b2 + !: + jmp breturn + //SEG188 print_ln::@return + breturn: + //SEG189 [91] return + rts + //SEG190 print_ln::@2 + b2: + //SEG191 [92] (byte*~) print_line_cursor#177 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_177 + lda print_line_cursor+1 + sta print_line_cursor_177+1 + jmp b1_from_b2 +} +//SEG192 printEntry +// Print the contents of a file entry +// printEntry(byte* zeropage(4) entry) +printEntry: { + .label entry = 4 + .label entryBufDisk1__0 = 4 + .label entryBufDisk1_return = 2 + .label entryBufEdit1__0 = 2 + .label entryBufEdit1_return = 2 + .label entryTsLen1__0 = 2 + .label entryTsLen1_return = 2 + .label entryTsOrder1__0 = 2 + .label entryTsOrder1_return = 2 + .label entryTLastLink1_return = 2 + .label entrySLastLink1_return = 2 + .label entryBFlag1_return = 2 + .label entryBError1_return = 2 + .label entryUCross1__0 = 2 + .label entryUCross1_return = 2 + .label entryBAddrLo1_return = 2 + .label entryBAddrHi1_return = 2 + .label entryTHi1_return = 2 + .label entryTLo1_return = 4 + //SEG193 [94] (byte*~) print_char_cursor#214 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG194 [95] call print_str + //SEG195 [80] phi from printEntry to print_str [phi:printEntry->print_str] + print_str_from_printEntry: + //SEG196 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#214 [phi:printEntry->print_str#0] -- register_copy + //SEG197 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str [phi:printEntry->print_str#1] -- pbuz1=pbuc1 + lda #str + sta print_str.str+1 + jsr print_str + jmp entryBufDisk1 + //SEG198 printEntry::entryBufDisk1 + entryBufDisk1: + //SEG199 [96] (byte**) printEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 -- pptz1=_ptr_pbuz2 + lda entryBufDisk1__0 + sta entryBufDisk1_return + lda entryBufDisk1__0+1 + sta entryBufDisk1_return+1 + jmp b1 + //SEG200 printEntry::@1 + b1: + //SEG201 [97] (word~) print_word::w#7 ← (word)*((byte**) printEntry::entryBufDisk1_return#0) -- vwuz1=_deref_pwuz1 + ldy #0 + lda (print_word.w),y + tax + iny + lda (print_word.w),y + sta print_word.w+1 + stx print_word.w + //SEG202 [98] call print_word + //SEG203 [202] phi from printEntry::@1 to print_word [phi:printEntry::@1->print_word] + print_word_from_b1: + //SEG204 [202] phi (word) print_word::w#5 = (word~) print_word::w#7 [phi:printEntry::@1->print_word#0] -- register_copy + jsr print_word + jmp b14 + //SEG205 printEntry::@14 + b14: + //SEG206 [99] (byte*~) print_line_cursor#163 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_163 + lda print_line_cursor+1 + sta print_line_cursor_163+1 + //SEG207 [100] call print_ln + //SEG208 [87] phi from printEntry::@14 to print_ln [phi:printEntry::@14->print_ln] + print_ln_from_b14: + //SEG209 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@14->print_ln#0] -- register_copy + //SEG210 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#163 [phi:printEntry::@14->print_ln#1] -- register_copy + jsr print_ln + jmp b15 + //SEG211 printEntry::@15 + b15: + //SEG212 [101] (byte*~) print_char_cursor#215 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG213 [102] call print_str + //SEG214 [80] phi from printEntry::@15 to print_str [phi:printEntry::@15->print_str] + print_str_from_b15: + //SEG215 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#215 [phi:printEntry::@15->print_str#0] -- register_copy + //SEG216 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str1 [phi:printEntry::@15->print_str#1] -- pbuz1=pbuc1 + lda #str1 + sta print_str.str+1 + jsr print_str + jmp entryBufEdit1 + //SEG217 printEntry::entryBufEdit1 + entryBufEdit1: + //SEG218 [103] (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz2_plus_2 + lda entryBufDisk1__0 + clc + adc #2 + sta entryBufEdit1__0 + lda entryBufDisk1__0+1 + adc #0 + sta entryBufEdit1__0+1 + //SEG219 [104] (byte**) printEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 -- pptz1=_ptr_pbuz1 + jmp b2 + //SEG220 printEntry::@2 + b2: + //SEG221 [105] (word~) print_word::w#8 ← (word)*((byte**) printEntry::entryBufEdit1_return#0) -- vwuz1=_deref_pwuz1 + ldy #0 + lda (print_word.w),y + tax + iny + lda (print_word.w),y + sta print_word.w+1 + stx print_word.w + //SEG222 [106] call print_word + //SEG223 [202] phi from printEntry::@2 to print_word [phi:printEntry::@2->print_word] + print_word_from_b2: + //SEG224 [202] phi (word) print_word::w#5 = (word~) print_word::w#8 [phi:printEntry::@2->print_word#0] -- register_copy + jsr print_word + jmp b16 + //SEG225 printEntry::@16 + b16: + //SEG226 [107] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_164 + lda print_line_cursor+1 + sta print_line_cursor_164+1 + //SEG227 [108] call print_ln + //SEG228 [87] phi from printEntry::@16 to print_ln [phi:printEntry::@16->print_ln] + print_ln_from_b16: + //SEG229 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@16->print_ln#0] -- register_copy + //SEG230 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#164 [phi:printEntry::@16->print_ln#1] -- register_copy + jsr print_ln + jmp b17 + //SEG231 printEntry::@17 + b17: + //SEG232 [109] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG233 [110] call print_str + //SEG234 [80] phi from printEntry::@17 to print_str [phi:printEntry::@17->print_str] + print_str_from_b17: + //SEG235 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#216 [phi:printEntry::@17->print_str#0] -- register_copy + //SEG236 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str2 [phi:printEntry::@17->print_str#1] -- pbuz1=pbuc1 + lda #str2 + sta print_str.str+1 + jsr print_str + jmp entryTsLen1 + //SEG237 printEntry::entryTsLen1 + entryTsLen1: + //SEG238 [111] (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz2_plus_vbuc1 + lda #4 + clc + adc entryBufDisk1__0 + sta entryTsLen1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsLen1__0+1 + //SEG239 [112] (word*) printEntry::entryTsLen1_return#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 -- pwuz1=_ptr_pbuz1 + jmp b3 + //SEG240 printEntry::@3 + b3: + //SEG241 [113] (word) print_word::w#2 ← *((word*) printEntry::entryTsLen1_return#0) -- vwuz1=_deref_pwuz1 + ldy #0 + lda (print_word.w),y + tax + iny + lda (print_word.w),y + sta print_word.w+1 + stx print_word.w + //SEG242 [114] call print_word + //SEG243 [202] phi from printEntry::@3 to print_word [phi:printEntry::@3->print_word] + print_word_from_b3: + //SEG244 [202] phi (word) print_word::w#5 = (word) print_word::w#2 [phi:printEntry::@3->print_word#0] -- register_copy + jsr print_word + jmp b18 + //SEG245 printEntry::@18 + b18: + //SEG246 [115] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_165 + lda print_line_cursor+1 + sta print_line_cursor_165+1 + //SEG247 [116] call print_ln + //SEG248 [87] phi from printEntry::@18 to print_ln [phi:printEntry::@18->print_ln] + print_ln_from_b18: + //SEG249 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@18->print_ln#0] -- register_copy + //SEG250 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#165 [phi:printEntry::@18->print_ln#1] -- register_copy + jsr print_ln + jmp b19 + //SEG251 printEntry::@19 + b19: + //SEG252 [117] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG253 [118] call print_str + //SEG254 [80] phi from printEntry::@19 to print_str [phi:printEntry::@19->print_str] + print_str_from_b19: + //SEG255 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#217 [phi:printEntry::@19->print_str#0] -- register_copy + //SEG256 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str3 [phi:printEntry::@19->print_str#1] -- pbuz1=pbuc1 + lda #str3 + sta print_str.str+1 + jsr print_str + jmp entryTsOrder1 + //SEG257 printEntry::entryTsOrder1 + entryTsOrder1: + //SEG258 [119] (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- pbuz1=pbuz2_plus_vbuc1 + lda #6 + clc + adc entryBufDisk1__0 + sta entryTsOrder1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsOrder1__0+1 + //SEG259 [120] (word**) printEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 -- pptz1=_ptr_pbuz1 + jmp b4 + //SEG260 printEntry::@4 + b4: + //SEG261 [121] (word~) print_word::w#10 ← (word)*((word**) printEntry::entryTsOrder1_return#0) -- vwuz1=_deref_pwuz1 + ldy #0 + lda (print_word.w),y + tax + iny + lda (print_word.w),y + sta print_word.w+1 + stx print_word.w + //SEG262 [122] call print_word + //SEG263 [202] phi from printEntry::@4 to print_word [phi:printEntry::@4->print_word] + print_word_from_b4: + //SEG264 [202] phi (word) print_word::w#5 = (word~) print_word::w#10 [phi:printEntry::@4->print_word#0] -- register_copy + jsr print_word + jmp b20 + //SEG265 printEntry::@20 + b20: + //SEG266 [123] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_166 + lda print_line_cursor+1 + sta print_line_cursor_166+1 + //SEG267 [124] call print_ln + //SEG268 [87] phi from printEntry::@20 to print_ln [phi:printEntry::@20->print_ln] + print_ln_from_b20: + //SEG269 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@20->print_ln#0] -- register_copy + //SEG270 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#166 [phi:printEntry::@20->print_ln#1] -- register_copy + jsr print_ln + jmp b21 + //SEG271 printEntry::@21 + b21: + //SEG272 [125] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG273 [126] call print_str + //SEG274 [80] phi from printEntry::@21 to print_str [phi:printEntry::@21->print_str] + print_str_from_b21: + //SEG275 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#218 [phi:printEntry::@21->print_str#0] -- register_copy + //SEG276 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str4 [phi:printEntry::@21->print_str#1] -- pbuz1=pbuc1 + lda #str4 + sta print_str.str+1 + jsr print_str + jmp entryTLastLink1 + //SEG277 printEntry::entryTLastLink1 + entryTLastLink1: + //SEG278 [127] (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz2_plus_vbuc1 + lda #8 + clc + adc entryBufDisk1__0 + sta entryTLastLink1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTLastLink1_return+1 + jmp b5 + //SEG279 printEntry::@5 + b5: + //SEG280 [128] (byte) print_byte::b#2 ← *((byte*) printEntry::entryTLastLink1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entryTLastLink1_return),y + tax + //SEG281 [129] call print_byte + //SEG282 [190] phi from printEntry::@5 to print_byte [phi:printEntry::@5->print_byte] + print_byte_from_b5: + //SEG283 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@5->print_byte#0] -- register_copy + //SEG284 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#2 [phi:printEntry::@5->print_byte#1] -- register_copy + jsr print_byte + jmp b22 + //SEG285 printEntry::@22 + b22: + //SEG286 [130] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_167 + lda print_line_cursor+1 + sta print_line_cursor_167+1 + //SEG287 [131] call print_ln + //SEG288 [87] phi from printEntry::@22 to print_ln [phi:printEntry::@22->print_ln] + print_ln_from_b22: + //SEG289 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@22->print_ln#0] -- register_copy + //SEG290 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#167 [phi:printEntry::@22->print_ln#1] -- register_copy + jsr print_ln + jmp b23 + //SEG291 printEntry::@23 + b23: + //SEG292 [132] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG293 [133] call print_str + //SEG294 [80] phi from printEntry::@23 to print_str [phi:printEntry::@23->print_str] + print_str_from_b23: + //SEG295 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#219 [phi:printEntry::@23->print_str#0] -- register_copy + //SEG296 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str5 [phi:printEntry::@23->print_str#1] -- pbuz1=pbuc1 + lda #str5 + sta print_str.str+1 + jsr print_str + jmp entrySLastLink1 + //SEG297 printEntry::entrySLastLink1 + entrySLastLink1: + //SEG298 [134] (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- pbuz1=pbuz2_plus_vbuc1 + lda #9 + clc + adc entryBufDisk1__0 + sta entrySLastLink1_return + lda #0 + adc entryBufDisk1__0+1 + sta entrySLastLink1_return+1 + jmp b6 + //SEG299 printEntry::@6 + b6: + //SEG300 [135] (byte) print_byte::b#3 ← *((byte*) printEntry::entrySLastLink1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entrySLastLink1_return),y + tax + //SEG301 [136] call print_byte + //SEG302 [190] phi from printEntry::@6 to print_byte [phi:printEntry::@6->print_byte] + print_byte_from_b6: + //SEG303 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@6->print_byte#0] -- register_copy + //SEG304 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#3 [phi:printEntry::@6->print_byte#1] -- register_copy + jsr print_byte + jmp b24 + //SEG305 printEntry::@24 + b24: + //SEG306 [137] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_168 + lda print_line_cursor+1 + sta print_line_cursor_168+1 + //SEG307 [138] call print_ln + //SEG308 [87] phi from printEntry::@24 to print_ln [phi:printEntry::@24->print_ln] + print_ln_from_b24: + //SEG309 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@24->print_ln#0] -- register_copy + //SEG310 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#168 [phi:printEntry::@24->print_ln#1] -- register_copy + jsr print_ln + jmp b25 + //SEG311 printEntry::@25 + b25: + //SEG312 [139] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG313 [140] call print_str + //SEG314 [80] phi from printEntry::@25 to print_str [phi:printEntry::@25->print_str] + print_str_from_b25: + //SEG315 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#220 [phi:printEntry::@25->print_str#0] -- register_copy + //SEG316 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str6 [phi:printEntry::@25->print_str#1] -- pbuz1=pbuc1 + lda #str6 + sta print_str.str+1 + jsr print_str + jmp entryBFlag1 + //SEG317 printEntry::entryBFlag1 + entryBFlag1: + //SEG318 [141] (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a -- pbuz1=pbuz2_plus_vbuc1 + lda #$a + clc + adc entryBufDisk1__0 + sta entryBFlag1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBFlag1_return+1 + jmp b7 + //SEG319 printEntry::@7 + b7: + //SEG320 [142] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBFlag1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entryBFlag1_return),y + tax + //SEG321 [143] call print_byte + //SEG322 [190] phi from printEntry::@7 to print_byte [phi:printEntry::@7->print_byte] + print_byte_from_b7: + //SEG323 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@7->print_byte#0] -- register_copy + //SEG324 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#4 [phi:printEntry::@7->print_byte#1] -- register_copy + jsr print_byte + jmp b26 + //SEG325 printEntry::@26 + b26: + //SEG326 [144] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_169 + lda print_line_cursor+1 + sta print_line_cursor_169+1 + //SEG327 [145] call print_ln + //SEG328 [87] phi from printEntry::@26 to print_ln [phi:printEntry::@26->print_ln] + print_ln_from_b26: + //SEG329 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@26->print_ln#0] -- register_copy + //SEG330 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#169 [phi:printEntry::@26->print_ln#1] -- register_copy + jsr print_ln + jmp b27 + //SEG331 printEntry::@27 + b27: + //SEG332 [146] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG333 [147] call print_str + //SEG334 [80] phi from printEntry::@27 to print_str [phi:printEntry::@27->print_str] + print_str_from_b27: + //SEG335 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#221 [phi:printEntry::@27->print_str#0] -- register_copy + //SEG336 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str7 [phi:printEntry::@27->print_str#1] -- pbuz1=pbuc1 + lda #str7 + sta print_str.str+1 + jsr print_str + jmp entryBError1 + //SEG337 printEntry::entryBError1 + entryBError1: + //SEG338 [148] (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b -- pbuz1=pbuz2_plus_vbuc1 + lda #$b + clc + adc entryBufDisk1__0 + sta entryBError1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBError1_return+1 + jmp b8 + //SEG339 printEntry::@8 + b8: + //SEG340 [149] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBError1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entryBError1_return),y + tax + //SEG341 [150] call print_byte + //SEG342 [190] phi from printEntry::@8 to print_byte [phi:printEntry::@8->print_byte] + print_byte_from_b8: + //SEG343 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@8->print_byte#0] -- register_copy + //SEG344 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#5 [phi:printEntry::@8->print_byte#1] -- register_copy + jsr print_byte + jmp b28 + //SEG345 printEntry::@28 + b28: + //SEG346 [151] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_170 + lda print_line_cursor+1 + sta print_line_cursor_170+1 + //SEG347 [152] call print_ln + //SEG348 [87] phi from printEntry::@28 to print_ln [phi:printEntry::@28->print_ln] + print_ln_from_b28: + //SEG349 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@28->print_ln#0] -- register_copy + //SEG350 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#170 [phi:printEntry::@28->print_ln#1] -- register_copy + jsr print_ln + jmp b29 + //SEG351 printEntry::@29 + b29: + //SEG352 [153] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG353 [154] call print_str + //SEG354 [80] phi from printEntry::@29 to print_str [phi:printEntry::@29->print_str] + print_str_from_b29: + //SEG355 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#222 [phi:printEntry::@29->print_str#0] -- register_copy + //SEG356 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str8 [phi:printEntry::@29->print_str#1] -- pbuz1=pbuc1 + lda #str8 + sta print_str.str+1 + jsr print_str + jmp entryUCross1 + //SEG357 printEntry::entryUCross1 + entryUCross1: + //SEG358 [155] (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c -- pbuz1=pbuz2_plus_vbuc1 + lda #$c + clc + adc entryBufDisk1__0 + sta entryUCross1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryUCross1__0+1 + //SEG359 [156] (word*) printEntry::entryUCross1_return#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 -- pwuz1=_ptr_pbuz1 + jmp b9 + //SEG360 printEntry::@9 + b9: + //SEG361 [157] (word) print_word::w#4 ← *((word*) printEntry::entryUCross1_return#0) -- vwuz1=_deref_pwuz1 + ldy #0 + lda (print_word.w),y + tax + iny + lda (print_word.w),y + sta print_word.w+1 + stx print_word.w + //SEG362 [158] call print_word + //SEG363 [202] phi from printEntry::@9 to print_word [phi:printEntry::@9->print_word] + print_word_from_b9: + //SEG364 [202] phi (word) print_word::w#5 = (word) print_word::w#4 [phi:printEntry::@9->print_word#0] -- register_copy + jsr print_word + jmp b30 + //SEG365 printEntry::@30 + b30: + //SEG366 [159] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_171 + lda print_line_cursor+1 + sta print_line_cursor_171+1 + //SEG367 [160] call print_ln + //SEG368 [87] phi from printEntry::@30 to print_ln [phi:printEntry::@30->print_ln] + print_ln_from_b30: + //SEG369 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@30->print_ln#0] -- register_copy + //SEG370 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#171 [phi:printEntry::@30->print_ln#1] -- register_copy + jsr print_ln + jmp b31 + //SEG371 printEntry::@31 + b31: + //SEG372 [161] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG373 [162] call print_str + //SEG374 [80] phi from printEntry::@31 to print_str [phi:printEntry::@31->print_str] + print_str_from_b31: + //SEG375 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#223 [phi:printEntry::@31->print_str#0] -- register_copy + //SEG376 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str9 [phi:printEntry::@31->print_str#1] -- pbuz1=pbuc1 + lda #str9 + sta print_str.str+1 + jsr print_str + jmp entryBAddrLo1 + //SEG377 printEntry::entryBAddrLo1 + entryBAddrLo1: + //SEG378 [163] (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e -- pbuz1=pbuz2_plus_vbuc1 + lda #$e + clc + adc entryBufDisk1__0 + sta entryBAddrLo1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBAddrLo1_return+1 + jmp b10 + //SEG379 printEntry::@10 + b10: + //SEG380 [164] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBAddrLo1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entryBAddrLo1_return),y + tax + //SEG381 [165] call print_byte + //SEG382 [190] phi from printEntry::@10 to print_byte [phi:printEntry::@10->print_byte] + print_byte_from_b10: + //SEG383 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@10->print_byte#0] -- register_copy + //SEG384 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#6 [phi:printEntry::@10->print_byte#1] -- register_copy + jsr print_byte + jmp b32 + //SEG385 printEntry::@32 + b32: + //SEG386 [166] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_172 + lda print_line_cursor+1 + sta print_line_cursor_172+1 + //SEG387 [167] call print_ln + //SEG388 [87] phi from printEntry::@32 to print_ln [phi:printEntry::@32->print_ln] + print_ln_from_b32: + //SEG389 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@32->print_ln#0] -- register_copy + //SEG390 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#172 [phi:printEntry::@32->print_ln#1] -- register_copy + jsr print_ln + jmp b33 + //SEG391 printEntry::@33 + b33: + //SEG392 [168] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG393 [169] call print_str + //SEG394 [80] phi from printEntry::@33 to print_str [phi:printEntry::@33->print_str] + print_str_from_b33: + //SEG395 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#224 [phi:printEntry::@33->print_str#0] -- register_copy + //SEG396 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str10 [phi:printEntry::@33->print_str#1] -- pbuz1=pbuc1 + lda #str10 + sta print_str.str+1 + jsr print_str + jmp entryBAddrHi1 + //SEG397 printEntry::entryBAddrHi1 + entryBAddrHi1: + //SEG398 [170] (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f -- pbuz1=pbuz2_plus_vbuc1 + lda #$f + clc + adc entryBufDisk1__0 + sta entryBAddrHi1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBAddrHi1_return+1 + jmp b11 + //SEG399 printEntry::@11 + b11: + //SEG400 [171] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBAddrHi1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entryBAddrHi1_return),y + tax + //SEG401 [172] call print_byte + //SEG402 [190] phi from printEntry::@11 to print_byte [phi:printEntry::@11->print_byte] + print_byte_from_b11: + //SEG403 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@11->print_byte#0] -- register_copy + //SEG404 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#7 [phi:printEntry::@11->print_byte#1] -- register_copy + jsr print_byte + jmp b34 + //SEG405 printEntry::@34 + b34: + //SEG406 [173] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_173 + lda print_line_cursor+1 + sta print_line_cursor_173+1 + //SEG407 [174] call print_ln + //SEG408 [87] phi from printEntry::@34 to print_ln [phi:printEntry::@34->print_ln] + print_ln_from_b34: + //SEG409 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@34->print_ln#0] -- register_copy + //SEG410 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#173 [phi:printEntry::@34->print_ln#1] -- register_copy + jsr print_ln + jmp b35 + //SEG411 printEntry::@35 + b35: + //SEG412 [175] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG413 [176] call print_str + //SEG414 [80] phi from printEntry::@35 to print_str [phi:printEntry::@35->print_str] + print_str_from_b35: + //SEG415 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#225 [phi:printEntry::@35->print_str#0] -- register_copy + //SEG416 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str11 [phi:printEntry::@35->print_str#1] -- pbuz1=pbuc1 + lda #str11 + sta print_str.str+1 + jsr print_str + jmp entryTHi1 + //SEG417 printEntry::entryTHi1 + entryTHi1: + //SEG418 [177] (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 -- pbuz1=pbuz2_plus_vbuc1 + lda #$10 + clc + adc entryBufDisk1__0 + sta entryTHi1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTHi1_return+1 + jmp b12 + //SEG419 printEntry::@12 + b12: + //SEG420 [178] (byte) print_byte::b#8 ← *((byte*) printEntry::entryTHi1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entryTHi1_return),y + tax + //SEG421 [179] call print_byte + //SEG422 [190] phi from printEntry::@12 to print_byte [phi:printEntry::@12->print_byte] + print_byte_from_b12: + //SEG423 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@12->print_byte#0] -- register_copy + //SEG424 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#8 [phi:printEntry::@12->print_byte#1] -- register_copy + jsr print_byte + jmp b36 + //SEG425 printEntry::@36 + b36: + //SEG426 [180] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_174 + lda print_line_cursor+1 + sta print_line_cursor_174+1 + //SEG427 [181] call print_ln + //SEG428 [87] phi from printEntry::@36 to print_ln [phi:printEntry::@36->print_ln] + print_ln_from_b36: + //SEG429 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@36->print_ln#0] -- register_copy + //SEG430 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#174 [phi:printEntry::@36->print_ln#1] -- register_copy + jsr print_ln + jmp b37 + //SEG431 printEntry::@37 + b37: + //SEG432 [182] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG433 [183] call print_str + //SEG434 [80] phi from printEntry::@37 to print_str [phi:printEntry::@37->print_str] + print_str_from_b37: + //SEG435 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#226 [phi:printEntry::@37->print_str#0] -- register_copy + //SEG436 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str12 [phi:printEntry::@37->print_str#1] -- pbuz1=pbuc1 + lda #str12 + sta print_str.str+1 + jsr print_str + jmp entryTLo1 + //SEG437 printEntry::entryTLo1 + entryTLo1: + //SEG438 [184] (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 -- pbuz1=pbuz1_plus_vbuc1 + lda #$11 + clc + adc entryTLo1_return + sta entryTLo1_return + bcc !+ + inc entryTLo1_return+1 + !: + jmp b13 + //SEG439 printEntry::@13 + b13: + //SEG440 [185] (byte) print_byte::b#9 ← *((byte*) printEntry::entryTLo1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entryTLo1_return),y + tax + //SEG441 [186] call print_byte + //SEG442 [190] phi from printEntry::@13 to print_byte [phi:printEntry::@13->print_byte] + print_byte_from_b13: + //SEG443 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@13->print_byte#0] -- register_copy + //SEG444 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#9 [phi:printEntry::@13->print_byte#1] -- register_copy + jsr print_byte + jmp b38 + //SEG445 printEntry::@38 + b38: + //SEG446 [187] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_175 + lda print_line_cursor+1 + sta print_line_cursor_175+1 + //SEG447 [188] call print_ln + //SEG448 [87] phi from printEntry::@38 to print_ln [phi:printEntry::@38->print_ln] + print_ln_from_b38: + //SEG449 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@38->print_ln#0] -- register_copy + //SEG450 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#175 [phi:printEntry::@38->print_ln#1] -- register_copy + jsr print_ln + jmp breturn + //SEG451 printEntry::@return + breturn: + //SEG452 [189] return + rts + str: .text "bufdisk @" + str1: .text "bufedit @" + str2: .text "tslen @" + str3: .text "tsorder @" + str4: .text "tlastlink @" + str5: .text "slastlink @" + str6: .text "bflag @" + str7: .text "berror @" + str8: .text "ucross @" + str9: .text "baddrlo @" + str10: .text "baddrhi @" + str11: .text "thi @" + str12: .text "tlo @" +} +//SEG453 print_byte +// Print a byte as HEX +// print_byte(byte register(X) b) +print_byte: { + //SEG454 [191] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuxx_ror_4 + txa + lsr + lsr + lsr + lsr + //SEG455 [192] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) -- vbuaa=pbuc1_derefidx_vbuaa + tay + lda print_hextab,y + //SEG456 [193] call print_char + //SEG457 [198] phi from print_byte to print_char [phi:print_byte->print_char] + print_char_from_print_byte: + //SEG458 [198] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#145 [phi:print_byte->print_char#0] -- register_copy + //SEG459 [198] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy + jsr print_char + jmp b1 + //SEG460 print_byte::@1 + b1: + //SEG461 [194] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuxx=vbuxx_band_vbuc1 + lda #$f + axs #0 + //SEG462 [195] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuaa=pbuc1_derefidx_vbuxx + lda print_hextab,x + //SEG463 [196] call print_char + //SEG464 [198] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] + print_char_from_b1: + //SEG465 [198] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy + //SEG466 [198] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy + jsr print_char + jmp breturn + //SEG467 print_byte::@return + breturn: + //SEG468 [197] return + rts +} +//SEG469 print_char +// Print a single char +// print_char(byte register(A) ch) +print_char: { + //SEG470 [199] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 -- _deref_pbuz1=vbuaa + ldy #0 + sta (print_char_cursor),y + //SEG471 [200] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 -- pbuz1=_inc_pbuz1 + inc print_char_cursor + bne !+ + inc print_char_cursor+1 + !: + jmp breturn + //SEG472 print_char::@return + breturn: + //SEG473 [201] return + rts +} +//SEG474 print_word +// Print a word as HEX +// print_word(word zeropage(2) w) +print_word: { + .label w = 2 + //SEG475 [203] (byte) print_byte::b#0 ← > (word) print_word::w#5 -- vbuxx=_hi_vwuz1 + lda w+1 + tax + //SEG476 [204] call print_byte + //SEG477 [190] phi from print_word to print_byte [phi:print_word->print_byte] + print_byte_from_print_word: + //SEG478 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:print_word->print_byte#0] -- register_copy + //SEG479 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy + jsr print_byte + jmp b1 + //SEG480 print_word::@1 + b1: + //SEG481 [205] (byte) print_byte::b#1 ← < (word) print_word::w#5 -- vbuxx=_lo_vwuz1 + lda w + tax + //SEG482 [206] call print_byte + //SEG483 [190] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] + print_byte_from_b1: + //SEG484 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy + //SEG485 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy + jsr print_byte + jmp breturn + //SEG486 print_word::@return + breturn: + //SEG487 [207] return + rts +} +//SEG488 initEntry +// Set all values in the passed struct +// Sets the values to n, n+1, n... to help test that everything works as intended +// initEntry(byte* zeropage(2) entry, byte zeropage(8) n) +initEntry: { + .label entry = 2 + .label entryBufDisk1__0 = 2 + .label entryBufDisk1_return = 6 + .label entryBufEdit1__0 = 6 + .label entryBufEdit1_return = 6 + .label entryTsLen1__0 = 6 + .label entryTsLen1_return = 6 + .label entryTsOrder1__0 = 6 + .label entryTsOrder1_return = 6 + .label entryTLastLink1_return = 6 + .label entrySLastLink1_return = 6 + .label entryBFlag1_return = 6 + .label entryBError1_return = 6 + .label entryUCross1__0 = 6 + .label entryUCross1_return = 6 + .label entryBAddrLo1_return = 6 + .label entryBAddrHi1_return = 6 + .label entryTHi1_return = 6 + .label entryTLo1_return = 2 + .label n = 8 + jmp entryBufDisk1 + //SEG489 initEntry::entryBufDisk1 + entryBufDisk1: + //SEG490 [209] (byte**) initEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 -- pptz1=_ptr_pbuz2 + lda entryBufDisk1__0 + sta entryBufDisk1_return + lda entryBufDisk1__0+1 + sta entryBufDisk1_return+1 + jmp b1 + //SEG491 initEntry::@1 + b1: + //SEG492 [210] (byte/signed word/word/dword/signed dword~) initEntry::$1 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_plus_1 + lda n + clc + adc #1 + //SEG493 [211] *((byte**) initEntry::entryBufDisk1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 -- _deref_pptz1=_ptr_vbuaa + ldy #0 + sta (entryBufDisk1_return),y + tya + iny + sta (entryBufDisk1_return),y + jmp entryBufEdit1 + //SEG494 initEntry::entryBufEdit1 + entryBufEdit1: + //SEG495 [212] (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz2_plus_2 + lda entryBufDisk1__0 + clc + adc #2 + sta entryBufEdit1__0 + lda entryBufDisk1__0+1 + adc #0 + sta entryBufEdit1__0+1 + //SEG496 [213] (byte**) initEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 -- pptz1=_ptr_pbuz1 + jmp b2 + //SEG497 initEntry::@2 + b2: + //SEG498 [214] (byte/signed word/word/dword/signed dword~) initEntry::$3 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuz1_plus_2 + lda n + clc + adc #2 + //SEG499 [215] *((byte**) initEntry::entryBufEdit1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 -- _deref_pptz1=_ptr_vbuaa + ldy #0 + sta (entryBufEdit1_return),y + tya + iny + sta (entryBufEdit1_return),y + jmp entryTsLen1 + //SEG500 initEntry::entryTsLen1 + entryTsLen1: + //SEG501 [216] (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz2_plus_vbuc1 + lda #4 + clc + adc entryBufDisk1__0 + sta entryTsLen1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsLen1__0+1 + //SEG502 [217] (word*) initEntry::entryTsLen1_return#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 -- pwuz1=_ptr_pbuz1 + jmp b3 + //SEG503 initEntry::@3 + b3: + //SEG504 [218] (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuz1_plus_vbuc1 + lda #3 + clc + adc n + //SEG505 [219] *((word*) initEntry::entryTsLen1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 -- _deref_pwuz1=vbuaa + ldy #0 + sta (entryTsLen1_return),y + tya + iny + sta (entryTsLen1_return),y + jmp entryTsOrder1 + //SEG506 initEntry::entryTsOrder1 + entryTsOrder1: + //SEG507 [220] (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- pbuz1=pbuz2_plus_vbuc1 + lda #6 + clc + adc entryBufDisk1__0 + sta entryTsOrder1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsOrder1__0+1 + //SEG508 [221] (word**) initEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 -- pptz1=_ptr_pbuz1 + jmp b4 + //SEG509 initEntry::@4 + b4: + //SEG510 [222] (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuz1_plus_vbuc1 + lda #4 + clc + adc n + //SEG511 [223] *((word**) initEntry::entryTsOrder1_return#0) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 -- _deref_pptz1=_ptr_vbuaa + ldy #0 + sta (entryTsOrder1_return),y + tya + iny + sta (entryTsOrder1_return),y + jmp entryTLastLink1 + //SEG512 initEntry::entryTLastLink1 + entryTLastLink1: + //SEG513 [224] (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz2_plus_vbuc1 + lda #8 + clc + adc entryBufDisk1__0 + sta entryTLastLink1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTLastLink1_return+1 + jmp b5 + //SEG514 initEntry::@5 + b5: + //SEG515 [225] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 5 -- vbuaa=vbuz1_plus_vbuc1 + lda #5 + clc + adc n + //SEG516 [226] *((byte*) initEntry::entryTLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 -- _deref_pbuz1=vbuaa + ldy #0 + sta (entryTLastLink1_return),y + jmp entrySLastLink1 + //SEG517 initEntry::entrySLastLink1 + entrySLastLink1: + //SEG518 [227] (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- pbuz1=pbuz2_plus_vbuc1 + lda #9 + clc + adc entryBufDisk1__0 + sta entrySLastLink1_return + lda #0 + adc entryBufDisk1__0+1 + sta entrySLastLink1_return+1 + jmp b6 + //SEG519 initEntry::@6 + b6: + //SEG520 [228] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuaa=vbuz1_plus_vbuc1 + lda #6 + clc + adc n + //SEG521 [229] *((byte*) initEntry::entrySLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 -- _deref_pbuz1=vbuaa + ldy #0 + sta (entrySLastLink1_return),y + jmp entryBFlag1 + //SEG522 initEntry::entryBFlag1 + entryBFlag1: + //SEG523 [230] (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a -- pbuz1=pbuz2_plus_vbuc1 + lda #$a + clc + adc entryBufDisk1__0 + sta entryBFlag1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBFlag1_return+1 + jmp b7 + //SEG524 initEntry::@7 + b7: + //SEG525 [231] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuaa=vbuz1_plus_vbuc1 + lda #7 + clc + adc n + //SEG526 [232] *((byte*) initEntry::entryBFlag1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 -- _deref_pbuz1=vbuaa + ldy #0 + sta (entryBFlag1_return),y + jmp entryBError1 + //SEG527 initEntry::entryBError1 + entryBError1: + //SEG528 [233] (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b -- pbuz1=pbuz2_plus_vbuc1 + lda #$b + clc + adc entryBufDisk1__0 + sta entryBError1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBError1_return+1 + jmp b8 + //SEG529 initEntry::@8 + b8: + //SEG530 [234] (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- vbuaa=vbuz1_plus_vbuc1 + lda #8 + clc + adc n + //SEG531 [235] *((byte*) initEntry::entryBError1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 -- _deref_pbuz1=vbuaa + ldy #0 + sta (entryBError1_return),y + jmp entryUCross1 + //SEG532 initEntry::entryUCross1 + entryUCross1: + //SEG533 [236] (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c -- pbuz1=pbuz2_plus_vbuc1 + lda #$c + clc + adc entryBufDisk1__0 + sta entryUCross1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryUCross1__0+1 + //SEG534 [237] (word*) initEntry::entryUCross1_return#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 -- pwuz1=_ptr_pbuz1 + jmp b9 + //SEG535 initEntry::@9 + b9: + //SEG536 [238] (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- vbuaa=vbuz1_plus_vbuc1 + lda #9 + clc + adc n + //SEG537 [239] *((word*) initEntry::entryUCross1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 -- _deref_pwuz1=vbuaa + ldy #0 + sta (entryUCross1_return),y + tya + iny + sta (entryUCross1_return),y + jmp entryBAddrLo1 + //SEG538 initEntry::entryBAddrLo1 + entryBAddrLo1: + //SEG539 [240] (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e -- pbuz1=pbuz2_plus_vbuc1 + lda #$e + clc + adc entryBufDisk1__0 + sta entryBAddrLo1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBAddrLo1_return+1 + jmp b10 + //SEG540 initEntry::@10 + b10: + //SEG541 [241] (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $a -- vbuaa=vbuz1_plus_vbuc1 + lda #$a + clc + adc n + //SEG542 [242] *((byte*) initEntry::entryBAddrLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 -- _deref_pbuz1=vbuaa + ldy #0 + sta (entryBAddrLo1_return),y + jmp entryBAddrHi1 + //SEG543 initEntry::entryBAddrHi1 + entryBAddrHi1: + //SEG544 [243] (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f -- pbuz1=pbuz2_plus_vbuc1 + lda #$f + clc + adc entryBufDisk1__0 + sta entryBAddrHi1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBAddrHi1_return+1 + jmp b11 + //SEG545 initEntry::@11 + b11: + //SEG546 [244] (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $b -- vbuaa=vbuz1_plus_vbuc1 + lda #$b + clc + adc n + //SEG547 [245] *((byte*) initEntry::entryBAddrHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 -- _deref_pbuz1=vbuaa + ldy #0 + sta (entryBAddrHi1_return),y + jmp entryTHi1 + //SEG548 initEntry::entryTHi1 + entryTHi1: + //SEG549 [246] (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 -- pbuz1=pbuz2_plus_vbuc1 + lda #$10 + clc + adc entryBufDisk1__0 + sta entryTHi1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTHi1_return+1 + jmp b12 + //SEG550 initEntry::@12 + b12: + //SEG551 [247] (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $c -- vbuaa=vbuz1_plus_vbuc1 + lda #$c + clc + adc n + //SEG552 [248] *((byte*) initEntry::entryTHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 -- _deref_pbuz1=vbuaa + ldy #0 + sta (entryTHi1_return),y + jmp entryTLo1 + //SEG553 initEntry::entryTLo1 + entryTLo1: + //SEG554 [249] (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 -- pbuz1=pbuz1_plus_vbuc1 + lda #$11 + clc + adc entryTLo1_return + sta entryTLo1_return + bcc !+ + inc entryTLo1_return+1 + !: + jmp b13 + //SEG555 initEntry::@13 + b13: + //SEG556 [250] (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $d -- vbuaa=vbuz1_plus_vbuc1 + lda #$d + clc + adc n + //SEG557 [251] *((byte*) initEntry::entryTLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 -- _deref_pbuz1=vbuaa + ldy #0 + sta (entryTLo1_return),y + jmp breturn + //SEG558 initEntry::@return + breturn: + //SEG559 [252] return + rts +} +//SEG560 mul8u +// Perform binary multiplication of two unsigned 8-bit bytes into a 16-bit unsigned word +// mul8u(byte register(X) a) +mul8u: { + .label mb = 2 + .label res = 9 + .label return = 9 + //SEG561 [254] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] + b1_from_mul8u: + //SEG562 [254] phi (word) mul8u::mb#2 = ((word))(const byte) ENTRY_SIZE#0 [phi:mul8u->mul8u::@1#0] -- vwuz1=vbuc1 + lda #ENTRY_SIZE + sta mb + lda #0 + sta mb+1 + //SEG563 [254] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 + lda #0 + sta res + lda #0 + sta res+1 + //SEG564 [254] phi (byte) mul8u::a#3 = (byte) mul8u::a#6 [phi:mul8u->mul8u::@1#2] -- register_copy + jmp b1 + //SEG565 mul8u::@1 + b1: + //SEG566 [255] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 -- vbuxx_neq_0_then_la1 + cpx #0 + bne b2 + jmp breturn + //SEG567 mul8u::@return + breturn: + //SEG568 [256] return + rts + //SEG569 mul8u::@2 + b2: + //SEG570 [257] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuxx_band_vbuc1 + txa + and #1 + //SEG571 [258] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@3 -- vbuaa_eq_0_then_la1 + cmp #0 + beq b3_from_b2 + jmp b4 + //SEG572 mul8u::@4 + b4: + //SEG573 [259] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 -- vwuz1=vwuz1_plus_vwuz2 + lda res + clc + adc mb + sta res + lda res+1 + adc mb+1 + sta res+1 + //SEG574 [260] phi from mul8u::@2 mul8u::@4 to mul8u::@3 [phi:mul8u::@2/mul8u::@4->mul8u::@3] + b3_from_b2: + b3_from_b4: + //SEG575 [260] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@4->mul8u::@3#0] -- register_copy + jmp b3 + //SEG576 mul8u::@3 + b3: + //SEG577 [261] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_ror_1 + txa + lsr + tax + //SEG578 [262] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vwuz1=vwuz1_rol_1 + asl mb + rol mb+1 + //SEG579 [254] phi from mul8u::@3 to mul8u::@1 [phi:mul8u::@3->mul8u::@1] + b1_from_b3: + //SEG580 [254] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@3->mul8u::@1#0] -- register_copy + //SEG581 [254] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@3->mul8u::@1#1] -- register_copy + //SEG582 [254] phi (byte) mul8u::a#3 = (byte) mul8u::a#0 [phi:mul8u::@3->mul8u::@1#2] -- register_copy + jmp b1 +} +//SEG583 keyboard_init +// Initialize keyboard reading by setting CIA#$ Data Direction Registers +keyboard_init: { + //SEG584 [263] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuc1=vbuc2 + // Keyboard Matrix Columns Write Mode + lda #$ff + sta CIA1_PORT_A_DDR + //SEG585 [264] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 + // Keyboard Matrix Columns Read Mode + lda #0 + sta CIA1_PORT_B_DDR + jmp breturn + //SEG586 keyboard_init::@return + breturn: + //SEG587 [265] return + rts +} + print_hextab: .text "0123456789abcdef" + // Keyboard row bitmask as expected by CIA#1 Port A when reading a specific keyboard matrix row (rows are numbered 0-7) + keyboard_matrix_row_bitmask: .byte $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f + // Keyboard matrix column bitmasks for a specific keybooard matrix column when reading the keyboard. (columns are numbered 0-7) + keyboard_matrix_col_bitmask: .byte 1, 2, 4, 8, $10, $20, $40, $80 + // All files + files: .fill MAX_FILES*ENTRY_SIZE, 0 + +ASSEMBLER OPTIMIZATIONS +Removing instruction jmp b1 +Removing instruction jmp bend +Removing instruction jmp fileEntry1 +Removing instruction jmp b6 +Removing instruction jmp fileEntry2 +Removing instruction jmp b7 +Removing instruction jmp b5 +Removing instruction jmp b8 +Removing instruction jmp b9 +Removing instruction jmp b10 +Removing instruction jmp b11 +Removing instruction jmp b12 +Removing instruction jmp b13 +Removing instruction jmp b14 +Removing instruction jmp b15 +Removing instruction jmp b1 +Removing instruction jmp b16 +Removing instruction jmp b2 +Removing instruction jmp b17 +Removing instruction jmp b18 +Removing instruction jmp b19 +Removing instruction jmp b20 +Removing instruction jmp b21 +Removing instruction jmp b22 +Removing instruction jmp b3 +Removing instruction jmp b23 +Removing instruction jmp b4 +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp entryBufDisk1 +Removing instruction jmp b1 +Removing instruction jmp b14 +Removing instruction jmp b15 +Removing instruction jmp entryBufEdit1 +Removing instruction jmp b2 +Removing instruction jmp b16 +Removing instruction jmp b17 +Removing instruction jmp entryTsLen1 +Removing instruction jmp b3 +Removing instruction jmp b18 +Removing instruction jmp b19 +Removing instruction jmp entryTsOrder1 +Removing instruction jmp b4 +Removing instruction jmp b20 +Removing instruction jmp b21 +Removing instruction jmp entryTLastLink1 +Removing instruction jmp b5 +Removing instruction jmp b22 +Removing instruction jmp b23 +Removing instruction jmp entrySLastLink1 +Removing instruction jmp b6 +Removing instruction jmp b24 +Removing instruction jmp b25 +Removing instruction jmp entryBFlag1 +Removing instruction jmp b7 +Removing instruction jmp b26 +Removing instruction jmp b27 +Removing instruction jmp entryBError1 +Removing instruction jmp b8 +Removing instruction jmp b28 +Removing instruction jmp b29 +Removing instruction jmp entryUCross1 +Removing instruction jmp b9 +Removing instruction jmp b30 +Removing instruction jmp b31 +Removing instruction jmp entryBAddrLo1 +Removing instruction jmp b10 +Removing instruction jmp b32 +Removing instruction jmp b33 +Removing instruction jmp entryBAddrHi1 +Removing instruction jmp b11 +Removing instruction jmp b34 +Removing instruction jmp b35 +Removing instruction jmp entryTHi1 +Removing instruction jmp b12 +Removing instruction jmp b36 +Removing instruction jmp b37 +Removing instruction jmp entryTLo1 +Removing instruction jmp b13 +Removing instruction jmp b38 +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp entryBufDisk1 +Removing instruction jmp b1 +Removing instruction jmp entryBufEdit1 +Removing instruction jmp b2 +Removing instruction jmp entryTsLen1 +Removing instruction jmp b3 +Removing instruction jmp entryTsOrder1 +Removing instruction jmp b4 +Removing instruction jmp entryTLastLink1 +Removing instruction jmp b5 +Removing instruction jmp entrySLastLink1 +Removing instruction jmp b6 +Removing instruction jmp entryBFlag1 +Removing instruction jmp b7 +Removing instruction jmp entryBError1 +Removing instruction jmp b8 +Removing instruction jmp entryUCross1 +Removing instruction jmp b9 +Removing instruction jmp entryBAddrLo1 +Removing instruction jmp b10 +Removing instruction jmp entryBAddrHi1 +Removing instruction jmp b11 +Removing instruction jmp entryTHi1 +Removing instruction jmp b12 +Removing instruction jmp entryTLo1 +Removing instruction jmp b13 +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp b4 +Removing instruction jmp b3 +Removing instruction jmp breturn +Succesful ASM optimization Pass5NextJumpElimination +Removing instruction ldy #0 +Removing instruction lda print_line_cursor+1 +Removing instruction lda #0 +Removing instruction lda #0 +Succesful ASM optimization Pass5UnnecesaryLoadElimination +Replacing label b1_from_b16 with b1 +Replacing label b3_from_b23 with b3 +Replacing label b1_from_b1 with b1 +Replacing label b1_from_b1 with b1 +Replacing label b1_from_b2 with b1 +Replacing label b1_from_b2 with b1 +Replacing label b3_from_b2 with b3 +Removing instruction b1_from_bbegin: +Removing instruction b1: +Removing instruction main_from_b1: +Removing instruction bend_from_b1: +Removing instruction fileEntry1_from_main: +Removing instruction mul8u_from_fileEntry1: +Removing instruction fileEntry2_from_b6: +Removing instruction mul8u_from_fileEntry2: +Removing instruction b9_from_b8: +Removing instruction print_cls_from_b9: +Removing instruction b10_from_b9: +Removing instruction print_str_from_b10: +Removing instruction b11_from_b10: +Removing instruction print_ln_from_b11: +Removing instruction printEntry_from_b13: +Removing instruction b1_from_b15: +Removing instruction b1_from_b16: +Removing instruction keyboard_key_pressed_from_b1: +Removing instruction b2_from_b16: +Removing instruction print_cls_from_b2: +Removing instruction b17_from_b2: +Removing instruction print_str_from_b17: +Removing instruction b18_from_b17: +Removing instruction print_ln_from_b18: +Removing instruction b3_from_b22: +Removing instruction b3_from_b23: +Removing instruction keyboard_key_pressed_from_b3: +Removing instruction b4_from_b23: +Removing instruction print_cls_from_b4: +Removing instruction b1_from_b1: +Removing instruction b1_from_print_str: +Removing instruction b1_from_b2: +Removing instruction b1_from_print_ln: +Removing instruction b1_from_b2: +Removing instruction b3_from_b2: +Removing instruction b3_from_b4: +Succesful ASM optimization Pass5RedundantLabelElimination +Removing instruction bend: +Removing instruction fileEntry1: +Removing instruction b6: +Removing instruction fileEntry2: +Removing instruction b7: +Removing instruction b5: +Removing instruction initEntry_from_b5: +Removing instruction b8: +Removing instruction initEntry_from_b8: +Removing instruction b9: +Removing instruction b10: +Removing instruction b11: +Removing instruction b12: +Removing instruction print_ln_from_b12: +Removing instruction b13: +Removing instruction b14: +Removing instruction print_ln_from_b14: +Removing instruction b15: +Removing instruction print_str_from_b15: +Removing instruction b16: +Removing instruction b2: +Removing instruction b17: +Removing instruction b18: +Removing instruction b19: +Removing instruction print_ln_from_b19: +Removing instruction b20: +Removing instruction printEntry_from_b20: +Removing instruction b21: +Removing instruction print_ln_from_b21: +Removing instruction b22: +Removing instruction print_str_from_b22: +Removing instruction b23: +Removing instruction b4: +Removing instruction breturn: +Removing instruction b1_from_print_cls: +Removing instruction breturn: +Removing instruction b1: +Removing instruction breturn: +Removing instruction breturn: +Removing instruction breturn: +Removing instruction breturn: +Removing instruction print_str_from_printEntry: +Removing instruction entryBufDisk1: +Removing instruction b1: +Removing instruction print_word_from_b1: +Removing instruction b14: +Removing instruction print_ln_from_b14: +Removing instruction b15: +Removing instruction print_str_from_b15: +Removing instruction entryBufEdit1: +Removing instruction b2: +Removing instruction print_word_from_b2: +Removing instruction b16: +Removing instruction print_ln_from_b16: +Removing instruction b17: +Removing instruction print_str_from_b17: +Removing instruction entryTsLen1: +Removing instruction b3: +Removing instruction print_word_from_b3: +Removing instruction b18: +Removing instruction print_ln_from_b18: +Removing instruction b19: +Removing instruction print_str_from_b19: +Removing instruction entryTsOrder1: +Removing instruction b4: +Removing instruction print_word_from_b4: +Removing instruction b20: +Removing instruction print_ln_from_b20: +Removing instruction b21: +Removing instruction print_str_from_b21: +Removing instruction entryTLastLink1: +Removing instruction b5: +Removing instruction print_byte_from_b5: +Removing instruction b22: +Removing instruction print_ln_from_b22: +Removing instruction b23: +Removing instruction print_str_from_b23: +Removing instruction entrySLastLink1: +Removing instruction b6: +Removing instruction print_byte_from_b6: +Removing instruction b24: +Removing instruction print_ln_from_b24: +Removing instruction b25: +Removing instruction print_str_from_b25: +Removing instruction entryBFlag1: +Removing instruction b7: +Removing instruction print_byte_from_b7: +Removing instruction b26: +Removing instruction print_ln_from_b26: +Removing instruction b27: +Removing instruction print_str_from_b27: +Removing instruction entryBError1: +Removing instruction b8: +Removing instruction print_byte_from_b8: +Removing instruction b28: +Removing instruction print_ln_from_b28: +Removing instruction b29: +Removing instruction print_str_from_b29: +Removing instruction entryUCross1: +Removing instruction b9: +Removing instruction print_word_from_b9: +Removing instruction b30: +Removing instruction print_ln_from_b30: +Removing instruction b31: +Removing instruction print_str_from_b31: +Removing instruction entryBAddrLo1: +Removing instruction b10: +Removing instruction print_byte_from_b10: +Removing instruction b32: +Removing instruction print_ln_from_b32: +Removing instruction b33: +Removing instruction print_str_from_b33: +Removing instruction entryBAddrHi1: +Removing instruction b11: +Removing instruction print_byte_from_b11: +Removing instruction b34: +Removing instruction print_ln_from_b34: +Removing instruction b35: +Removing instruction print_str_from_b35: +Removing instruction entryTHi1: +Removing instruction b12: +Removing instruction print_byte_from_b12: +Removing instruction b36: +Removing instruction print_ln_from_b36: +Removing instruction b37: +Removing instruction print_str_from_b37: +Removing instruction entryTLo1: +Removing instruction b13: +Removing instruction print_byte_from_b13: +Removing instruction b38: +Removing instruction print_ln_from_b38: +Removing instruction breturn: +Removing instruction print_char_from_print_byte: +Removing instruction b1: +Removing instruction print_char_from_b1: +Removing instruction breturn: +Removing instruction breturn: +Removing instruction print_byte_from_print_word: +Removing instruction b1: +Removing instruction print_byte_from_b1: +Removing instruction breturn: +Removing instruction entryBufDisk1: +Removing instruction b1: +Removing instruction entryBufEdit1: +Removing instruction b2: +Removing instruction entryTsLen1: +Removing instruction b3: +Removing instruction entryTsOrder1: +Removing instruction b4: +Removing instruction entryTLastLink1: +Removing instruction b5: +Removing instruction entrySLastLink1: +Removing instruction b6: +Removing instruction entryBFlag1: +Removing instruction b7: +Removing instruction entryBError1: +Removing instruction b8: +Removing instruction entryUCross1: +Removing instruction b9: +Removing instruction entryBAddrLo1: +Removing instruction b10: +Removing instruction entryBAddrHi1: +Removing instruction b11: +Removing instruction entryTHi1: +Removing instruction b12: +Removing instruction entryTLo1: +Removing instruction b13: +Removing instruction breturn: +Removing instruction b1_from_mul8u: +Removing instruction breturn: +Removing instruction b4: +Removing instruction b1_from_b3: +Removing instruction breturn: +Succesful ASM optimization Pass5UnusedLabelElimination +Updating BasicUpstart to call main directly +Removing instruction jsr main +Succesful ASM optimization Pass5SkipBegin +Removing instruction jmp b1 +Succesful ASM optimization Pass5NextJumpElimination +Replacing instruction lda #0 with TYA +Removing instruction ldy #0 +Replacing instruction lda #0 with TYA +Removing instruction ldy #0 +Replacing instruction lda #0 with TYA +Removing instruction ldy #0 +Replacing instruction lda #0 with TYA +Removing instruction ldy #0 +Replacing instruction lda #0 with TYA +Removing instruction ldy #0 +Replacing instruction lda #0 with TYA +Removing instruction ldy #0 +Succesful ASM optimization Pass5UnnecesaryLoadElimination +Removing instruction bbegin: +Succesful ASM optimization Pass5UnusedLabelElimination + +FINAL SYMBOL TABLE +(label) @1 +(label) @begin +(label) @end +(byte*) CIA1_PORT_A +(const byte*) CIA1_PORT_A#0 CIA1_PORT_A = ((byte*))(word/dword/signed dword) $dc00 +(byte*) CIA1_PORT_A_DDR +(const byte*) CIA1_PORT_A_DDR#0 CIA1_PORT_A_DDR = ((byte*))(word/dword/signed dword) $dc02 +(byte*) CIA1_PORT_B +(const byte*) CIA1_PORT_B#0 CIA1_PORT_B = ((byte*))(word/dword/signed dword) $dc01 +(byte*) CIA1_PORT_B_DDR +(const byte*) CIA1_PORT_B_DDR#0 CIA1_PORT_B_DDR = ((byte*))(word/dword/signed dword) $dc03 +(byte) ENTRY_SIZE +(const byte) ENTRY_SIZE#0 ENTRY_SIZE = (byte/signed byte/word/signed word/dword/signed dword) $12 +(byte) KEY_SPACE +(const byte) KEY_SPACE#0 KEY_SPACE = (byte/signed byte/word/signed word/dword/signed dword) $3c +(byte) MAX_FILES +(const byte) MAX_FILES#0 MAX_FILES = (byte/word/signed word/dword/signed dword) $90 +(byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files +(const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 files = { fill( ((word))MAX_FILES#0*ENTRY_SIZE#0, 0) } +(void()) initEntry((byte*) initEntry::entry , (byte) initEntry::n) +(byte/signed word/word/dword/signed dword~) initEntry::$1 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$11 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$13 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$15 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$17 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$19 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$21 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$23 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$25 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$3 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$5 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$7 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$9 reg byte a 4.0 +(label) initEntry::@1 +(label) initEntry::@10 +(label) initEntry::@11 +(label) initEntry::@12 +(label) initEntry::@13 +(label) initEntry::@2 +(label) initEntry::@3 +(label) initEntry::@4 +(label) initEntry::@5 +(label) initEntry::@6 +(label) initEntry::@7 +(label) initEntry::@8 +(label) initEntry::@9 +(label) initEntry::@return +(byte*) initEntry::entry +(byte*) initEntry::entry#0 entry zp ZP_WORD:2 4.0 +(byte*) initEntry::entry#1 entry zp ZP_WORD:2 4.0 +(label) initEntry::entryBAddrHi1 +(byte*~) initEntry::entryBAddrHi1_$0 +(byte*) initEntry::entryBAddrHi1_entry +(byte*) initEntry::entryBAddrHi1_return +(byte*) initEntry::entryBAddrHi1_return#0 entryBAddrHi1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryBAddrLo1 +(byte*~) initEntry::entryBAddrLo1_$0 +(byte*) initEntry::entryBAddrLo1_entry +(byte*) initEntry::entryBAddrLo1_return +(byte*) initEntry::entryBAddrLo1_return#0 entryBAddrLo1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryBError1 +(byte*~) initEntry::entryBError1_$0 +(byte*) initEntry::entryBError1_entry +(byte*) initEntry::entryBError1_return +(byte*) initEntry::entryBError1_return#0 entryBError1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryBFlag1 +(byte*~) initEntry::entryBFlag1_$0 +(byte*) initEntry::entryBFlag1_entry +(byte*) initEntry::entryBFlag1_return +(byte*) initEntry::entryBFlag1_return#0 entryBFlag1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryBufDisk1 +(byte*~) initEntry::entryBufDisk1_$0 +(byte*) initEntry::entryBufDisk1_$0#0 entryBufDisk1_$0 zp ZP_WORD:2 0.7317073170731708 +(byte**~) initEntry::entryBufDisk1_$1 +(byte*) initEntry::entryBufDisk1_entry +(byte**) initEntry::entryBufDisk1_return +(byte**) initEntry::entryBufDisk1_return#0 entryBufDisk1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryBufEdit1 +(byte*~) initEntry::entryBufEdit1_$0 +(byte*) initEntry::entryBufEdit1_$0#0 entryBufEdit1_$0 zp ZP_WORD:6 4.0 +(byte**~) initEntry::entryBufEdit1_$1 +(byte*) initEntry::entryBufEdit1_entry +(byte**) initEntry::entryBufEdit1_return +(byte**) initEntry::entryBufEdit1_return#0 entryBufEdit1_return zp ZP_WORD:6 2.0 +(label) initEntry::entrySLastLink1 +(byte*~) initEntry::entrySLastLink1_$0 +(byte*) initEntry::entrySLastLink1_entry +(byte*) initEntry::entrySLastLink1_return +(byte*) initEntry::entrySLastLink1_return#0 entrySLastLink1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryTHi1 +(byte*~) initEntry::entryTHi1_$0 +(byte*) initEntry::entryTHi1_entry +(byte*) initEntry::entryTHi1_return +(byte*) initEntry::entryTHi1_return#0 entryTHi1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryTLastLink1 +(byte*~) initEntry::entryTLastLink1_$0 +(byte*) initEntry::entryTLastLink1_entry +(byte*) initEntry::entryTLastLink1_return +(byte*) initEntry::entryTLastLink1_return#0 entryTLastLink1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryTLo1 +(byte*~) initEntry::entryTLo1_$0 +(byte*) initEntry::entryTLo1_entry +(byte*) initEntry::entryTLo1_return +(byte*) initEntry::entryTLo1_return#0 entryTLo1_return zp ZP_WORD:2 2.0 +(label) initEntry::entryTsLen1 +(byte*~) initEntry::entryTsLen1_$0 +(byte*) initEntry::entryTsLen1_$0#0 entryTsLen1_$0 zp ZP_WORD:6 4.0 +(word*~) initEntry::entryTsLen1_$1 +(byte*) initEntry::entryTsLen1_entry +(word*) initEntry::entryTsLen1_return +(word*) initEntry::entryTsLen1_return#0 entryTsLen1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryTsOrder1 +(byte*~) initEntry::entryTsOrder1_$0 +(byte*) initEntry::entryTsOrder1_$0#0 entryTsOrder1_$0 zp ZP_WORD:6 4.0 +(word**~) initEntry::entryTsOrder1_$1 +(byte*) initEntry::entryTsOrder1_entry +(word**) initEntry::entryTsOrder1_return +(word**) initEntry::entryTsOrder1_return#0 entryTsOrder1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryUCross1 +(byte*~) initEntry::entryUCross1_$0 +(byte*) initEntry::entryUCross1_$0#0 entryUCross1_$0 zp ZP_WORD:6 4.0 +(word*~) initEntry::entryUCross1_$1 +(byte*) initEntry::entryUCross1_entry +(word*) initEntry::entryUCross1_return +(word*) initEntry::entryUCross1_return#0 entryUCross1_return zp ZP_WORD:6 2.0 +(byte) initEntry::n +(byte) initEntry::n#10 n zp ZP_BYTE:8 0.6190476190476191 +(void()) keyboard_init() +(label) keyboard_init::@return +(byte()) keyboard_key_pressed((byte) keyboard_key_pressed::key) +(byte~) keyboard_key_pressed::$2 reg byte a 4.0 +(label) keyboard_key_pressed::@1 +(label) keyboard_key_pressed::@return +(byte) keyboard_key_pressed::colidx +(const byte) keyboard_key_pressed::colidx#0 colidx = (const byte) KEY_SPACE#0&(byte/signed byte/word/signed word/dword/signed dword) 7 +(byte) keyboard_key_pressed::key +(byte) keyboard_key_pressed::return +(byte) keyboard_key_pressed::return#0 reg byte a 6.0 +(byte) keyboard_key_pressed::return#2 reg byte a 22.0 +(byte) keyboard_key_pressed::return#3 reg byte a 22.0 +(byte) keyboard_key_pressed::rowidx +(const byte) keyboard_key_pressed::rowidx#0 rowidx = (const byte) KEY_SPACE#0>>(byte/signed byte/word/signed word/dword/signed dword) 3 +(byte[8]) keyboard_matrix_col_bitmask +(const byte[8]) keyboard_matrix_col_bitmask#0 keyboard_matrix_col_bitmask = { (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) $10, (byte/signed byte/word/signed word/dword/signed dword) $20, (byte/signed byte/word/signed word/dword/signed dword) $40, (byte/word/signed word/dword/signed dword) $80 } +(byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) +(label) keyboard_matrix_read::@return +(byte) keyboard_matrix_read::return +(byte) keyboard_matrix_read::return#0 reg byte a 1.3333333333333333 +(byte) keyboard_matrix_read::return#2 reg byte a 4.0 +(byte) keyboard_matrix_read::row_pressed_bits +(byte) keyboard_matrix_read::rowid +(byte[8]) keyboard_matrix_row_bitmask +(const byte[8]) keyboard_matrix_row_bitmask#0 keyboard_matrix_row_bitmask = { (byte/word/signed word/dword/signed dword) $fe, (byte/word/signed word/dword/signed dword) $fd, (byte/word/signed word/dword/signed dword) $fb, (byte/word/signed word/dword/signed dword) $f7, (byte/word/signed word/dword/signed dword) $ef, (byte/word/signed word/dword/signed dword) $df, (byte/word/signed word/dword/signed dword) $bf, (byte/signed byte/word/signed word/dword/signed dword) $7f } +(void()) main() +(byte~) main::$20 reg byte a 22.0 +(byte~) main::$22 reg byte a 22.0 +(label) main::@1 +(label) main::@10 +(label) main::@11 +(label) main::@12 +(label) main::@13 +(label) main::@14 +(label) main::@15 +(label) main::@16 +(label) main::@17 +(label) main::@18 +(label) main::@19 +(label) main::@2 +(label) main::@20 +(label) main::@21 +(label) main::@22 +(label) main::@23 +(label) main::@3 +(label) main::@4 +(label) main::@5 +(label) main::@6 +(label) main::@7 +(label) main::@8 +(label) main::@9 +(label) main::@return +(byte*) main::entry1 +(byte*) main::entry1#0 entry1 zp ZP_WORD:4 0.3157894736842105 +(byte*) main::entry2 +(byte*) main::entry2#0 entry2 zp ZP_WORD:9 0.17142857142857143 +(label) main::fileEntry1 +(word~) main::fileEntry1_$0 +(word) main::fileEntry1_$0#0 fileEntry1_$0 zp ZP_WORD:4 4.0 +(byte*~) main::fileEntry1_$1 +(byte) main::fileEntry1_idx +(const byte) main::fileEntry1_idx#0 fileEntry1_idx = (byte/signed byte/word/signed word/dword/signed dword) 1 +(byte*) main::fileEntry1_return +(label) main::fileEntry2 +(word~) main::fileEntry2_$0 +(word) main::fileEntry2_$0#0 fileEntry2_$0 zp ZP_WORD:9 4.0 +(byte*~) main::fileEntry2_$1 +(byte) main::fileEntry2_idx +(const byte) main::fileEntry2_idx#0 fileEntry2_idx = (byte/signed byte/word/signed word/dword/signed dword) 2 +(byte*) main::fileEntry2_return +(const string) main::str str = (string) "** entry 1 **@" +(const string) main::str1 str1 = (string) "- press space -@" +(const string) main::str2 str2 = (string) "** entry 2 **@" +(word()) mul8u((byte) mul8u::a , (byte) mul8u::b) +(byte~) mul8u::$1 reg byte a 22.0 +(label) mul8u::@1 +(label) mul8u::@2 +(label) mul8u::@3 +(label) mul8u::@4 +(label) mul8u::@return +(byte) mul8u::a +(byte) mul8u::a#0 reg byte x 11.0 +(byte) mul8u::a#3 reg byte x 7.666666666666666 +(byte) mul8u::a#6 reg byte x 2.0 +(byte) mul8u::b +(word) mul8u::mb +(word) mul8u::mb#1 mb zp ZP_WORD:2 22.0 +(word) mul8u::mb#2 mb zp ZP_WORD:2 4.714285714285714 +(word) mul8u::res +(word) mul8u::res#1 res zp ZP_WORD:9 22.0 +(word) mul8u::res#2 res zp ZP_WORD:9 5.285714285714286 +(word) mul8u::res#6 res zp ZP_WORD:9 11.0 +(word) mul8u::return +(word) mul8u::return#2 return zp ZP_WORD:9 4.0 +(word) mul8u::return#3 return zp ZP_WORD:9 4.0 +(void()) printEntry((byte*) printEntry::entry) +(label) printEntry::@1 +(label) printEntry::@10 +(label) printEntry::@11 +(label) printEntry::@12 +(label) printEntry::@13 +(label) printEntry::@14 +(label) printEntry::@15 +(label) printEntry::@16 +(label) printEntry::@17 +(label) printEntry::@18 +(label) printEntry::@19 +(label) printEntry::@2 +(label) printEntry::@20 +(label) printEntry::@21 +(label) printEntry::@22 +(label) printEntry::@23 +(label) printEntry::@24 +(label) printEntry::@25 +(label) printEntry::@26 +(label) printEntry::@27 +(label) printEntry::@28 +(label) printEntry::@29 +(label) printEntry::@3 +(label) printEntry::@30 +(label) printEntry::@31 +(label) printEntry::@32 +(label) printEntry::@33 +(label) printEntry::@34 +(label) printEntry::@35 +(label) printEntry::@36 +(label) printEntry::@37 +(label) printEntry::@38 +(label) printEntry::@4 +(label) printEntry::@5 +(label) printEntry::@6 +(label) printEntry::@7 +(label) printEntry::@8 +(label) printEntry::@9 +(label) printEntry::@return +(byte*) printEntry::entry +(byte*) printEntry::entry#0 entry zp ZP_WORD:4 4.0 +(byte*) printEntry::entry#1 entry zp ZP_WORD:4 4.0 +(label) printEntry::entryBAddrHi1 +(byte*~) printEntry::entryBAddrHi1_$0 +(byte*) printEntry::entryBAddrHi1_entry +(byte*) printEntry::entryBAddrHi1_return +(byte*) printEntry::entryBAddrHi1_return#0 entryBAddrHi1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryBAddrLo1 +(byte*~) printEntry::entryBAddrLo1_$0 +(byte*) printEntry::entryBAddrLo1_entry +(byte*) printEntry::entryBAddrLo1_return +(byte*) printEntry::entryBAddrLo1_return#0 entryBAddrLo1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryBError1 +(byte*~) printEntry::entryBError1_$0 +(byte*) printEntry::entryBError1_entry +(byte*) printEntry::entryBError1_return +(byte*) printEntry::entryBError1_return#0 entryBError1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryBFlag1 +(byte*~) printEntry::entryBFlag1_$0 +(byte*) printEntry::entryBFlag1_entry +(byte*) printEntry::entryBFlag1_return +(byte*) printEntry::entryBFlag1_return#0 entryBFlag1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryBufDisk1 +(byte*~) printEntry::entryBufDisk1_$0 +(byte*) printEntry::entryBufDisk1_$0#0 entryBufDisk1_$0 zp ZP_WORD:4 0.3296703296703296 +(byte**~) printEntry::entryBufDisk1_$1 +(byte*) printEntry::entryBufDisk1_entry +(byte**) printEntry::entryBufDisk1_return +(byte**) printEntry::entryBufDisk1_return#0 entryBufDisk1_return zp ZP_WORD:2 2.0 +(label) printEntry::entryBufEdit1 +(byte*~) printEntry::entryBufEdit1_$0 +(byte*) printEntry::entryBufEdit1_$0#0 entryBufEdit1_$0 zp ZP_WORD:2 4.0 +(byte**~) printEntry::entryBufEdit1_$1 +(byte*) printEntry::entryBufEdit1_entry +(byte**) printEntry::entryBufEdit1_return +(byte**) printEntry::entryBufEdit1_return#0 entryBufEdit1_return zp ZP_WORD:2 2.0 +(label) printEntry::entrySLastLink1 +(byte*~) printEntry::entrySLastLink1_$0 +(byte*) printEntry::entrySLastLink1_entry +(byte*) printEntry::entrySLastLink1_return +(byte*) printEntry::entrySLastLink1_return#0 entrySLastLink1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryTHi1 +(byte*~) printEntry::entryTHi1_$0 +(byte*) printEntry::entryTHi1_entry +(byte*) printEntry::entryTHi1_return +(byte*) printEntry::entryTHi1_return#0 entryTHi1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryTLastLink1 +(byte*~) printEntry::entryTLastLink1_$0 +(byte*) printEntry::entryTLastLink1_entry +(byte*) printEntry::entryTLastLink1_return +(byte*) printEntry::entryTLastLink1_return#0 entryTLastLink1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryTLo1 +(byte*~) printEntry::entryTLo1_$0 +(byte*) printEntry::entryTLo1_entry +(byte*) printEntry::entryTLo1_return +(byte*) printEntry::entryTLo1_return#0 entryTLo1_return zp ZP_WORD:4 4.0 +(label) printEntry::entryTsLen1 +(byte*~) printEntry::entryTsLen1_$0 +(byte*) printEntry::entryTsLen1_$0#0 entryTsLen1_$0 zp ZP_WORD:2 4.0 +(word*~) printEntry::entryTsLen1_$1 +(byte*) printEntry::entryTsLen1_entry +(word*) printEntry::entryTsLen1_return +(word*) printEntry::entryTsLen1_return#0 entryTsLen1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryTsOrder1 +(byte*~) printEntry::entryTsOrder1_$0 +(byte*) printEntry::entryTsOrder1_$0#0 entryTsOrder1_$0 zp ZP_WORD:2 4.0 +(word**~) printEntry::entryTsOrder1_$1 +(byte*) printEntry::entryTsOrder1_entry +(word**) printEntry::entryTsOrder1_return +(word**) printEntry::entryTsOrder1_return#0 entryTsOrder1_return zp ZP_WORD:2 2.0 +(label) printEntry::entryUCross1 +(byte*~) printEntry::entryUCross1_$0 +(byte*) printEntry::entryUCross1_$0#0 entryUCross1_$0 zp ZP_WORD:2 4.0 +(word*~) printEntry::entryUCross1_$1 +(byte*) printEntry::entryUCross1_entry +(word*) printEntry::entryUCross1_return +(word*) printEntry::entryUCross1_return#0 entryUCross1_return zp ZP_WORD:2 4.0 +(const string) printEntry::str str = (string) "bufdisk @" +(const string) printEntry::str1 str1 = (string) "bufedit @" +(const string) printEntry::str10 str10 = (string) "baddrhi @" +(const string) printEntry::str11 str11 = (string) "thi @" +(const string) printEntry::str12 str12 = (string) "tlo @" +(const string) printEntry::str2 str2 = (string) "tslen @" +(const string) printEntry::str3 str3 = (string) "tsorder @" +(const string) printEntry::str4 str4 = (string) "tlastlink @" +(const string) printEntry::str5 str5 = (string) "slastlink @" +(const string) printEntry::str6 str6 = (string) "bflag @" +(const string) printEntry::str7 str7 = (string) "berror @" +(const string) printEntry::str8 str8 = (string) "ucross @" +(const string) printEntry::str9 str9 = (string) "baddrlo @" +(void()) print_byte((byte) print_byte::b) +(byte~) print_byte::$0 reg byte a 4.0 +(byte~) print_byte::$2 reg byte x 4.0 +(label) print_byte::@1 +(label) print_byte::@return +(byte) print_byte::b +(byte) print_byte::b#0 reg byte x 4.0 +(byte) print_byte::b#1 reg byte x 4.0 +(byte) print_byte::b#10 reg byte x 6.0 +(byte) print_byte::b#2 reg byte x 4.0 +(byte) print_byte::b#3 reg byte x 4.0 +(byte) print_byte::b#4 reg byte x 4.0 +(byte) print_byte::b#5 reg byte x 4.0 +(byte) print_byte::b#6 reg byte x 4.0 +(byte) print_byte::b#7 reg byte x 4.0 +(byte) print_byte::b#8 reg byte x 4.0 +(byte) print_byte::b#9 reg byte x 4.0 +(void()) print_char((byte) print_char::ch) +(label) print_char::@return +(byte) print_char::ch +(byte) print_char::ch#0 reg byte a 4.0 +(byte) print_char::ch#1 reg byte a 4.0 +(byte) print_char::ch#2 reg byte a 6.0 +(byte*) print_char_cursor +(byte*) print_char_cursor#1 print_char_cursor zp ZP_WORD:6 11.0 +(byte*) print_char_cursor#11 print_char_cursor zp ZP_WORD:6 0.8648648648648649 +(byte*) print_char_cursor#142 print_char_cursor zp ZP_WORD:6 1.0754716981132075 +(byte*) print_char_cursor#143 print_char_cursor zp ZP_WORD:6 9.800000000000002 +(byte*) print_char_cursor#145 print_char_cursor zp ZP_WORD:6 7.333333333333334 +(byte*) print_char_cursor#164 print_char_cursor zp ZP_WORD:6 32.0 +(byte*~) print_char_cursor#212 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#213 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#214 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#215 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#216 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#217 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#218 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#219 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#220 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#221 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#222 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#223 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#224 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#225 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#226 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#230 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#231 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#233 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#234 print_char_cursor zp ZP_WORD:6 4.0 +(byte*) print_char_cursor#82 print_char_cursor zp ZP_WORD:6 4.0 +(void()) print_cls() +(label) print_cls::@1 +(label) print_cls::@return +(byte*) print_cls::sc +(byte*) print_cls::sc#1 sc zp ZP_WORD:2 16.5 +(byte*) print_cls::sc#2 sc zp ZP_WORD:2 16.5 +(byte[]) print_hextab +(const byte[]) print_hextab#0 print_hextab = (string) "0123456789abcdef" +(byte*) print_line_cursor +(byte*) print_line_cursor#1 print_line_cursor zp ZP_WORD:11 1.03960396039604 +(byte*~) print_line_cursor#159 print_line_cursor#159 zp ZP_WORD:2 2.0 +(byte*~) print_line_cursor#160 print_line_cursor#160 zp ZP_WORD:2 2.0 +(byte*~) print_line_cursor#161 print_line_cursor#161 zp ZP_WORD:2 2.0 +(byte*~) print_line_cursor#162 print_line_cursor#162 zp ZP_WORD:2 2.0 +(byte*~) print_line_cursor#163 print_line_cursor#163 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#164 print_line_cursor#164 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#165 print_line_cursor#165 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#166 print_line_cursor#166 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#167 print_line_cursor#167 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#168 print_line_cursor#168 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#169 print_line_cursor#169 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#170 print_line_cursor#170 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#171 print_line_cursor#171 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#172 print_line_cursor#172 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#173 print_line_cursor#173 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#174 print_line_cursor#174 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#175 print_line_cursor#175 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#177 print_line_cursor#177 zp ZP_WORD:2 22.0 +(byte*) print_line_cursor#32 print_line_cursor#32 zp ZP_WORD:2 24.0 +(byte*) print_line_cursor#63 print_line_cursor#63 zp ZP_WORD:2 36.0 +(void()) print_ln() +(label) print_ln::@1 +(label) print_ln::@2 +(label) print_ln::@return +(byte*) print_screen +(void()) print_str((byte*) print_str::str) +(label) print_str::@1 +(label) print_str::@2 +(label) print_str::@return +(byte*) print_str::str +(byte*) print_str::str#0 str zp ZP_WORD:2 22.0 +(byte*) print_str::str#18 str zp ZP_WORD:2 11.5 +(byte*) print_str::str#20 str zp ZP_WORD:2 2.0 +(void()) print_word((word) print_word::w) +(label) print_word::@1 +(label) print_word::@return +(word) print_word::w +(word~) print_word::w#10 w zp ZP_WORD:2 4.0 +(word) print_word::w#2 w zp ZP_WORD:2 4.0 +(word) print_word::w#4 w zp ZP_WORD:2 4.0 +(word) print_word::w#5 w zp ZP_WORD:2 4.666666666666666 +(word~) print_word::w#7 w zp ZP_WORD:2 4.0 +(word~) print_word::w#8 w zp ZP_WORD:2 4.0 + +zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 printEntry::entrySLastLink1_return#0 printEntry::entryBFlag1_return#0 printEntry::entryBError1_return#0 printEntry::entryBAddrLo1_return#0 printEntry::entryBAddrHi1_return#0 printEntry::entryTHi1_return#0 ] +zp ZP_WORD:4 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 main::entry1#0 printEntry::entryTLo1_return#0 main::fileEntry1_$0#0 ] +reg byte x [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] +reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] +zp ZP_WORD:6 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 initEntry::entryBError1_return#0 initEntry::entryUCross1_$0#0 initEntry::entryUCross1_return#0 initEntry::entryBAddrLo1_return#0 initEntry::entryBAddrHi1_return#0 initEntry::entryTHi1_return#0 ] +zp ZP_BYTE:8 [ initEntry::n#10 ] +reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] +zp ZP_WORD:9 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mul8u::return#3 main::fileEntry2_$0#0 main::entry2#0 ] +reg byte a [ keyboard_key_pressed::return#2 ] +reg byte a [ main::$20 ] +reg byte a [ keyboard_key_pressed::return#3 ] +reg byte a [ main::$22 ] +reg byte a [ keyboard_matrix_read::return#2 ] +reg byte a [ keyboard_key_pressed::$2 ] +reg byte a [ keyboard_key_pressed::return#0 ] +reg byte a [ keyboard_matrix_read::return#0 ] +zp ZP_WORD:11 [ print_line_cursor#1 ] +reg byte a [ print_byte::$0 ] +reg byte x [ print_byte::$2 ] +reg byte a [ initEntry::$1 ] +reg byte a [ initEntry::$3 ] +reg byte a [ initEntry::$5 ] +reg byte a [ initEntry::$7 ] +reg byte a [ initEntry::$9 ] +reg byte a [ initEntry::$11 ] +reg byte a [ initEntry::$13 ] +reg byte a [ initEntry::$15 ] +reg byte a [ initEntry::$17 ] +reg byte a [ initEntry::$19 ] +reg byte a [ initEntry::$21 ] +reg byte a [ initEntry::$23 ] +reg byte a [ initEntry::$25 ] +reg byte a [ mul8u::$1 ] + + +FINAL ASSEMBLER +Score: 4447 + +//SEG0 File Comments +// Implementing a semi-struct without the struct keyword by using pointer math and inline functions +// +// struct fileentry { +// BYTE *bufDisk; // file position in disk buffer. +// BYTE *bufEdit; // file edits +// WORD tsLen; // num of sectors +// TS *tsOrder; +// BYTE tLastLink; +// BYTE sLastLink; +// BYTE bFlag; +// BYTE bError; +// WORD uCross; // num of crosslinked sectors +// BYTE bAddrLo; // start address +// BYTE bAddrHi; +// BYTE tHi; // highest track +// BYTE tLo; // lowest track +// }; +// typedef struct fileentry ENTRY; +// ENTRY files[MAX_FILES]; +//SEG1 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +//SEG2 Global Constants & labels + // CIA#1 Port A: keyboard matrix columns and joystick #2 + .label CIA1_PORT_A = $dc00 + // CIA#1 Port B: keyboard matrix rows and joystick #1. + .label CIA1_PORT_B = $dc01 + // CIA #1 Port A data direction register. + .label CIA1_PORT_A_DDR = $dc02 + // CIA #1 Port B data direction register. + .label CIA1_PORT_B_DDR = $dc03 + .const KEY_SPACE = $3c + // The size of a file ENTRY + .const ENTRY_SIZE = $12 + // The maximal number of files + .const MAX_FILES = $90 + .label print_char_cursor = 6 + .label print_line_cursor = $b + .label print_line_cursor_32 = 2 + .label print_line_cursor_63 = 2 + .label print_line_cursor_159 = 2 + .label print_line_cursor_160 = 2 + .label print_line_cursor_161 = 2 + .label print_line_cursor_162 = 2 + .label print_line_cursor_163 = 2 + .label print_line_cursor_164 = 2 + .label print_line_cursor_165 = 2 + .label print_line_cursor_166 = 2 + .label print_line_cursor_167 = 2 + .label print_line_cursor_168 = 2 + .label print_line_cursor_169 = 2 + .label print_line_cursor_170 = 2 + .label print_line_cursor_171 = 2 + .label print_line_cursor_172 = 2 + .label print_line_cursor_173 = 2 + .label print_line_cursor_174 = 2 + .label print_line_cursor_175 = 2 + .label print_line_cursor_177 = 2 +//SEG3 @begin +//SEG4 [1] phi from @begin to @1 [phi:@begin->@1] +//SEG5 @1 +//SEG6 [2] call main +//SEG7 [4] phi from @1 to main [phi:@1->main] +//SEG8 [3] phi from @1 to @end [phi:@1->@end] +//SEG9 @end +//SEG10 main +// Initialize 2 file entries and print them +main: { + .const fileEntry1_idx = 1 + .const fileEntry2_idx = 2 + .label fileEntry1__0 = 4 + .label entry1 = 4 + .label fileEntry2__0 = 9 + .label entry2 = 9 + //SEG11 [5] call keyboard_init + jsr keyboard_init + //SEG12 [6] phi from main to main::fileEntry1 [phi:main->main::fileEntry1] + //SEG13 main::fileEntry1 + //SEG14 [7] call mul8u + //SEG15 [253] phi from main::fileEntry1 to mul8u [phi:main::fileEntry1->mul8u] + //SEG16 [253] phi (byte) mul8u::a#6 = (const byte) main::fileEntry1_idx#0 [phi:main::fileEntry1->mul8u#0] -- vbuxx=vbuc1 + ldx #fileEntry1_idx + jsr mul8u + //SEG17 [8] (word) mul8u::return#2 ← (word) mul8u::res#2 + //SEG18 main::@6 + //SEG19 [9] (word) main::fileEntry1_$0#0 ← (word) mul8u::return#2 -- vwuz1=vwuz2 + lda mul8u.return + sta fileEntry1__0 + lda mul8u.return+1 + sta fileEntry1__0+1 + //SEG20 [10] (byte*) main::entry1#0 ← (const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 + (word) main::fileEntry1_$0#0 -- pbuz1=pbuc1_plus_vwuz1 + clc + lda entry1 + adc #files + sta entry1+1 + //SEG21 [11] phi from main::@6 to main::fileEntry2 [phi:main::@6->main::fileEntry2] + //SEG22 main::fileEntry2 + //SEG23 [12] call mul8u + //SEG24 [253] phi from main::fileEntry2 to mul8u [phi:main::fileEntry2->mul8u] + //SEG25 [253] phi (byte) mul8u::a#6 = (const byte) main::fileEntry2_idx#0 [phi:main::fileEntry2->mul8u#0] -- vbuxx=vbuc1 + ldx #fileEntry2_idx + jsr mul8u + //SEG26 [13] (word) mul8u::return#3 ← (word) mul8u::res#2 + //SEG27 main::@7 + //SEG28 [14] (word) main::fileEntry2_$0#0 ← (word) mul8u::return#3 + //SEG29 [15] (byte*) main::entry2#0 ← (const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 + (word) main::fileEntry2_$0#0 -- pbuz1=pbuc1_plus_vwuz1 + clc + lda entry2 + adc #files + sta entry2+1 + //SEG30 main::@5 + //SEG31 [16] (byte*) initEntry::entry#0 ← (byte*) main::entry1#0 -- pbuz1=pbuz2 + lda entry1 + sta initEntry.entry + lda entry1+1 + sta initEntry.entry+1 + //SEG32 [17] call initEntry + //SEG33 [208] phi from main::@5 to initEntry [phi:main::@5->initEntry] + //SEG34 [208] phi (byte) initEntry::n#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@5->initEntry#0] -- vbuz1=vbuc1 + lda #0 + sta initEntry.n + //SEG35 [208] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#0 [phi:main::@5->initEntry#1] -- register_copy + jsr initEntry + //SEG36 main::@8 + //SEG37 [18] (byte*) initEntry::entry#1 ← (byte*) main::entry2#0 -- pbuz1=pbuz2 + lda entry2 + sta initEntry.entry + lda entry2+1 + sta initEntry.entry+1 + //SEG38 [19] call initEntry + //SEG39 [208] phi from main::@8 to initEntry [phi:main::@8->initEntry] + //SEG40 [208] phi (byte) initEntry::n#10 = (byte/word/signed word/dword/signed dword) $80 [phi:main::@8->initEntry#0] -- vbuz1=vbuc1 + lda #$80 + sta initEntry.n + //SEG41 [208] phi (byte*) initEntry::entryBufDisk1_$0#0 = (byte*) initEntry::entry#1 [phi:main::@8->initEntry#1] -- register_copy + jsr initEntry + //SEG42 [20] phi from main::@8 to main::@9 [phi:main::@8->main::@9] + //SEG43 main::@9 + //SEG44 [21] call print_cls + //SEG45 [65] phi from main::@9 to print_cls [phi:main::@9->print_cls] + jsr print_cls + //SEG46 [22] phi from main::@9 to main::@10 [phi:main::@9->main::@10] + //SEG47 main::@10 + //SEG48 [23] call print_str + //SEG49 [80] phi from main::@10 to print_str [phi:main::@10->print_str] + //SEG50 [80] phi (byte*) print_char_cursor#164 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::@10->print_str#0] -- pbuz1=pbuc1 + lda #<$400 + sta print_char_cursor + lda #>$400 + sta print_char_cursor+1 + //SEG51 [80] phi (byte*) print_str::str#20 = (const string) main::str [phi:main::@10->print_str#1] -- pbuz1=pbuc1 + lda #str + sta print_str.str+1 + jsr print_str + //SEG52 [24] phi from main::@10 to main::@11 [phi:main::@10->main::@11] + //SEG53 main::@11 + //SEG54 [25] call print_ln + //SEG55 [87] phi from main::@11 to print_ln [phi:main::@11->print_ln] + //SEG56 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#142 [phi:main::@11->print_ln#0] -- register_copy + //SEG57 [87] phi (byte*) print_line_cursor#63 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::@11->print_ln#1] -- pbuz1=pbuc1 + lda #<$400 + sta print_line_cursor_63 + lda #>$400 + sta print_line_cursor_63+1 + jsr print_ln + //SEG58 main::@12 + //SEG59 [26] (byte*~) print_line_cursor#159 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_159 + lda print_line_cursor+1 + sta print_line_cursor_159+1 + //SEG60 [27] (byte*~) print_char_cursor#230 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG61 [28] call print_ln + //SEG62 [87] phi from main::@12 to print_ln [phi:main::@12->print_ln] + //SEG63 [87] phi (byte*) print_char_cursor#143 = (byte*~) print_char_cursor#230 [phi:main::@12->print_ln#0] -- register_copy + //SEG64 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#159 [phi:main::@12->print_ln#1] -- register_copy + jsr print_ln + //SEG65 main::@13 + //SEG66 [29] (byte*) printEntry::entry#0 ← (byte*) main::entry1#0 + //SEG67 [30] call printEntry + //SEG68 [93] phi from main::@13 to printEntry [phi:main::@13->printEntry] + //SEG69 [93] phi (byte*) printEntry::entryBufDisk1_$0#0 = (byte*) printEntry::entry#0 [phi:main::@13->printEntry#0] -- register_copy + jsr printEntry + //SEG70 main::@14 + //SEG71 [31] (byte*~) print_line_cursor#160 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_160 + lda print_line_cursor+1 + sta print_line_cursor_160+1 + //SEG72 [32] (byte*~) print_char_cursor#231 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG73 [33] call print_ln + //SEG74 [87] phi from main::@14 to print_ln [phi:main::@14->print_ln] + //SEG75 [87] phi (byte*) print_char_cursor#143 = (byte*~) print_char_cursor#231 [phi:main::@14->print_ln#0] -- register_copy + //SEG76 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#160 [phi:main::@14->print_ln#1] -- register_copy + jsr print_ln + //SEG77 main::@15 + //SEG78 [34] (byte*~) print_char_cursor#212 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG79 [35] call print_str + //SEG80 [80] phi from main::@15 to print_str [phi:main::@15->print_str] + //SEG81 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#212 [phi:main::@15->print_str#0] -- register_copy + //SEG82 [80] phi (byte*) print_str::str#20 = (const string) main::str1 [phi:main::@15->print_str#1] -- pbuz1=pbuc1 + lda #str1 + sta print_str.str+1 + jsr print_str + //SEG83 [36] phi from main::@15 main::@16 to main::@1 [phi:main::@15/main::@16->main::@1] + //SEG84 main::@1 + b1: + //SEG85 [37] call keyboard_key_pressed + //SEG86 [71] phi from main::@1 to keyboard_key_pressed [phi:main::@1->keyboard_key_pressed] + jsr keyboard_key_pressed + //SEG87 [38] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 + //SEG88 main::@16 + //SEG89 [39] (byte~) main::$20 ← (byte) keyboard_key_pressed::return#2 + //SEG90 [40] if((byte~) main::$20==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@1 -- vbuaa_eq_0_then_la1 + cmp #0 + beq b1 + //SEG91 [41] phi from main::@16 to main::@2 [phi:main::@16->main::@2] + //SEG92 main::@2 + //SEG93 [42] call print_cls + //SEG94 [65] phi from main::@2 to print_cls [phi:main::@2->print_cls] + jsr print_cls + //SEG95 [43] phi from main::@2 to main::@17 [phi:main::@2->main::@17] + //SEG96 main::@17 + //SEG97 [44] call print_str + //SEG98 [80] phi from main::@17 to print_str [phi:main::@17->print_str] + //SEG99 [80] phi (byte*) print_char_cursor#164 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::@17->print_str#0] -- pbuz1=pbuc1 + lda #<$400 + sta print_char_cursor + lda #>$400 + sta print_char_cursor+1 + //SEG100 [80] phi (byte*) print_str::str#20 = (const string) main::str2 [phi:main::@17->print_str#1] -- pbuz1=pbuc1 + lda #str2 + sta print_str.str+1 + jsr print_str + //SEG101 [45] phi from main::@17 to main::@18 [phi:main::@17->main::@18] + //SEG102 main::@18 + //SEG103 [46] call print_ln + //SEG104 [87] phi from main::@18 to print_ln [phi:main::@18->print_ln] + //SEG105 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#142 [phi:main::@18->print_ln#0] -- register_copy + //SEG106 [87] phi (byte*) print_line_cursor#63 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:main::@18->print_ln#1] -- pbuz1=pbuc1 + lda #<$400 + sta print_line_cursor_63 + lda #>$400 + sta print_line_cursor_63+1 + jsr print_ln + //SEG107 main::@19 + //SEG108 [47] (byte*~) print_line_cursor#161 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_161 + lda print_line_cursor+1 + sta print_line_cursor_161+1 + //SEG109 [48] (byte*~) print_char_cursor#233 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG110 [49] call print_ln + //SEG111 [87] phi from main::@19 to print_ln [phi:main::@19->print_ln] + //SEG112 [87] phi (byte*) print_char_cursor#143 = (byte*~) print_char_cursor#233 [phi:main::@19->print_ln#0] -- register_copy + //SEG113 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#161 [phi:main::@19->print_ln#1] -- register_copy + jsr print_ln + //SEG114 main::@20 + //SEG115 [50] (byte*) printEntry::entry#1 ← (byte*) main::entry2#0 -- pbuz1=pbuz2 + lda entry2 + sta printEntry.entry + lda entry2+1 + sta printEntry.entry+1 + //SEG116 [51] call printEntry + //SEG117 [93] phi from main::@20 to printEntry [phi:main::@20->printEntry] + //SEG118 [93] phi (byte*) printEntry::entryBufDisk1_$0#0 = (byte*) printEntry::entry#1 [phi:main::@20->printEntry#0] -- register_copy + jsr printEntry + //SEG119 main::@21 + //SEG120 [52] (byte*~) print_line_cursor#162 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_162 + lda print_line_cursor+1 + sta print_line_cursor_162+1 + //SEG121 [53] (byte*~) print_char_cursor#234 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG122 [54] call print_ln + //SEG123 [87] phi from main::@21 to print_ln [phi:main::@21->print_ln] + //SEG124 [87] phi (byte*) print_char_cursor#143 = (byte*~) print_char_cursor#234 [phi:main::@21->print_ln#0] -- register_copy + //SEG125 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#162 [phi:main::@21->print_ln#1] -- register_copy + jsr print_ln + //SEG126 main::@22 + //SEG127 [55] (byte*~) print_char_cursor#213 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG128 [56] call print_str + //SEG129 [80] phi from main::@22 to print_str [phi:main::@22->print_str] + //SEG130 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#213 [phi:main::@22->print_str#0] -- register_copy + //SEG131 [80] phi (byte*) print_str::str#20 = (const string) main::str1 [phi:main::@22->print_str#1] -- pbuz1=pbuc1 + lda #str1 + sta print_str.str+1 + jsr print_str + //SEG132 [57] phi from main::@22 main::@23 to main::@3 [phi:main::@22/main::@23->main::@3] + //SEG133 main::@3 + b3: + //SEG134 [58] call keyboard_key_pressed + //SEG135 [71] phi from main::@3 to keyboard_key_pressed [phi:main::@3->keyboard_key_pressed] + jsr keyboard_key_pressed + //SEG136 [59] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 + //SEG137 main::@23 + //SEG138 [60] (byte~) main::$22 ← (byte) keyboard_key_pressed::return#3 + //SEG139 [61] if((byte~) main::$22==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@3 -- vbuaa_eq_0_then_la1 + cmp #0 + beq b3 + //SEG140 [62] phi from main::@23 to main::@4 [phi:main::@23->main::@4] + //SEG141 main::@4 + //SEG142 [63] call print_cls + //SEG143 [65] phi from main::@4 to print_cls [phi:main::@4->print_cls] + jsr print_cls + //SEG144 main::@return + //SEG145 [64] return + rts + str: .text "** entry 1 **@" + str1: .text "- press space -@" + str2: .text "** entry 2 **@" +} +//SEG146 print_cls +// Clear the screen. Also resets current line/char cursor. +print_cls: { + .label sc = 2 + //SEG147 [66] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + //SEG148 [66] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word/dword/signed dword) $400 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + lda #<$400 + sta sc + lda #>$400 + sta sc+1 + //SEG149 [66] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG150 [66] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG151 print_cls::@1 + b1: + //SEG152 [67] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 + lda #' ' + ldy #0 + sta (sc),y + //SEG153 [68] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 + inc sc + bne !+ + inc sc+1 + !: + //SEG154 [69] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) $400+(word/signed word/dword/signed dword) $3e8) goto print_cls::@1 -- pbuz1_neq_pbuc1_then_la1 + lda sc+1 + cmp #>$400+$3e8 + bne b1 + lda sc + cmp #<$400+$3e8 + bne b1 + //SEG155 print_cls::@return + //SEG156 [70] return + rts +} +//SEG157 keyboard_key_pressed +// Determines whether a specific key is currently pressed by accessing the matrix directly +// The key is a keyboard code defined from the keyboard matrix by %00rrrccc, where rrr is the row ID (0-7) and ccc is the column ID (0-7) +// All keys exist as as KEY_XXX constants. +// Returns zero if the key is not pressed and a non-zero value if the key is currently pressed +keyboard_key_pressed: { + .const colidx = KEY_SPACE&7 + .label rowidx = KEY_SPACE>>3 + //SEG158 [72] call keyboard_matrix_read + jsr keyboard_matrix_read + //SEG159 [73] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 + //SEG160 keyboard_key_pressed::@1 + //SEG161 [74] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 + //SEG162 [75] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[8]) keyboard_matrix_col_bitmask#0+(const byte) keyboard_key_pressed::colidx#0) -- vbuaa=vbuaa_band__deref_pbuc1 + and keyboard_matrix_col_bitmask+colidx + //SEG163 keyboard_key_pressed::@return + //SEG164 [76] return + rts +} +//SEG165 keyboard_matrix_read +// Read a single row of the keyboard matrix +// The row ID (0-7) of the keyboard matrix row to read. See the C64 key matrix for row IDs. +// Returns the keys pressed on the row as bits according to the C64 key matrix. +// Notice: If the C64 normal interrupt is still running it will occasionally interrupt right between the read & write +// leading to erroneous readings. You must disable kill the normal interrupt or sei/cli around calls to the keyboard matrix reader. +keyboard_matrix_read: { + //SEG166 [77] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0+(const byte) keyboard_key_pressed::rowidx#0) -- _deref_pbuc1=_deref_pbuc2 + lda keyboard_matrix_row_bitmask+keyboard_key_pressed.rowidx + sta CIA1_PORT_A + //SEG167 [78] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) -- vbuaa=_bnot__deref_pbuc1 + lda CIA1_PORT_B + eor #$ff + //SEG168 keyboard_matrix_read::@return + //SEG169 [79] return + rts +} +//SEG170 print_str +// Print a zero-terminated string +// print_str(byte* zeropage(2) str) +print_str: { + .label str = 2 + //SEG171 [81] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] + //SEG172 [81] phi (byte*) print_char_cursor#142 = (byte*) print_char_cursor#164 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy + //SEG173 [81] phi (byte*) print_str::str#18 = (byte*) print_str::str#20 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy + //SEG174 print_str::@1 + b1: + //SEG175 [82] if(*((byte*) print_str::str#18)!=(byte) '@') goto print_str::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 + ldy #0 + lda (str),y + cmp #'@' + bne b2 + //SEG176 print_str::@return + //SEG177 [83] return + rts + //SEG178 print_str::@2 + b2: + //SEG179 [84] *((byte*) print_char_cursor#142) ← *((byte*) print_str::str#18) -- _deref_pbuz1=_deref_pbuz2 + ldy #0 + lda (str),y + sta (print_char_cursor),y + //SEG180 [85] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#142 -- pbuz1=_inc_pbuz1 + inc print_char_cursor + bne !+ + inc print_char_cursor+1 + !: + //SEG181 [86] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#18 -- pbuz1=_inc_pbuz1 + inc str + bne !+ + inc str+1 + !: + jmp b1 +} +//SEG182 print_ln +// Print a newline +print_ln: { + //SEG183 [88] phi from print_ln print_ln::@2 to print_ln::@1 [phi:print_ln/print_ln::@2->print_ln::@1] + //SEG184 [88] phi (byte*) print_line_cursor#32 = (byte*) print_line_cursor#63 [phi:print_ln/print_ln::@2->print_ln::@1#0] -- register_copy + //SEG185 print_ln::@1 + b1: + //SEG186 [89] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#32 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz2_plus_vbuc1 + lda #$28 + clc + adc print_line_cursor_32 + sta print_line_cursor + lda #0 + adc print_line_cursor_32+1 + sta print_line_cursor+1 + //SEG187 [90] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#143) goto print_ln::@2 -- pbuz1_lt_pbuz2_then_la1 + cmp print_char_cursor+1 + bcc b2 + bne !+ + lda print_line_cursor + cmp print_char_cursor + bcc b2 + !: + //SEG188 print_ln::@return + //SEG189 [91] return + rts + //SEG190 print_ln::@2 + b2: + //SEG191 [92] (byte*~) print_line_cursor#177 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_177 + lda print_line_cursor+1 + sta print_line_cursor_177+1 + jmp b1 +} +//SEG192 printEntry +// Print the contents of a file entry +// printEntry(byte* zeropage(4) entry) +printEntry: { + .label entry = 4 + .label entryBufDisk1__0 = 4 + .label entryBufDisk1_return = 2 + .label entryBufEdit1__0 = 2 + .label entryBufEdit1_return = 2 + .label entryTsLen1__0 = 2 + .label entryTsLen1_return = 2 + .label entryTsOrder1__0 = 2 + .label entryTsOrder1_return = 2 + .label entryTLastLink1_return = 2 + .label entrySLastLink1_return = 2 + .label entryBFlag1_return = 2 + .label entryBError1_return = 2 + .label entryUCross1__0 = 2 + .label entryUCross1_return = 2 + .label entryBAddrLo1_return = 2 + .label entryBAddrHi1_return = 2 + .label entryTHi1_return = 2 + .label entryTLo1_return = 4 + //SEG193 [94] (byte*~) print_char_cursor#214 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG194 [95] call print_str + //SEG195 [80] phi from printEntry to print_str [phi:printEntry->print_str] + //SEG196 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#214 [phi:printEntry->print_str#0] -- register_copy + //SEG197 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str [phi:printEntry->print_str#1] -- pbuz1=pbuc1 + lda #str + sta print_str.str+1 + jsr print_str + //SEG198 printEntry::entryBufDisk1 + //SEG199 [96] (byte**) printEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) printEntry::entryBufDisk1_$0#0 -- pptz1=_ptr_pbuz2 + lda entryBufDisk1__0 + sta entryBufDisk1_return + lda entryBufDisk1__0+1 + sta entryBufDisk1_return+1 + //SEG200 printEntry::@1 + //SEG201 [97] (word~) print_word::w#7 ← (word)*((byte**) printEntry::entryBufDisk1_return#0) -- vwuz1=_deref_pwuz1 + ldy #0 + lda (print_word.w),y + tax + iny + lda (print_word.w),y + sta print_word.w+1 + stx print_word.w + //SEG202 [98] call print_word + //SEG203 [202] phi from printEntry::@1 to print_word [phi:printEntry::@1->print_word] + //SEG204 [202] phi (word) print_word::w#5 = (word~) print_word::w#7 [phi:printEntry::@1->print_word#0] -- register_copy + jsr print_word + //SEG205 printEntry::@14 + //SEG206 [99] (byte*~) print_line_cursor#163 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_163 + lda print_line_cursor+1 + sta print_line_cursor_163+1 + //SEG207 [100] call print_ln + //SEG208 [87] phi from printEntry::@14 to print_ln [phi:printEntry::@14->print_ln] + //SEG209 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@14->print_ln#0] -- register_copy + //SEG210 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#163 [phi:printEntry::@14->print_ln#1] -- register_copy + jsr print_ln + //SEG211 printEntry::@15 + //SEG212 [101] (byte*~) print_char_cursor#215 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG213 [102] call print_str + //SEG214 [80] phi from printEntry::@15 to print_str [phi:printEntry::@15->print_str] + //SEG215 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#215 [phi:printEntry::@15->print_str#0] -- register_copy + //SEG216 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str1 [phi:printEntry::@15->print_str#1] -- pbuz1=pbuc1 + lda #str1 + sta print_str.str+1 + jsr print_str + //SEG217 printEntry::entryBufEdit1 + //SEG218 [103] (byte*) printEntry::entryBufEdit1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz2_plus_2 + lda entryBufDisk1__0 + clc + adc #2 + sta entryBufEdit1__0 + lda entryBufDisk1__0+1 + adc #0 + sta entryBufEdit1__0+1 + //SEG219 [104] (byte**) printEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) printEntry::entryBufEdit1_$0#0 -- pptz1=_ptr_pbuz1 + //SEG220 printEntry::@2 + //SEG221 [105] (word~) print_word::w#8 ← (word)*((byte**) printEntry::entryBufEdit1_return#0) -- vwuz1=_deref_pwuz1 + ldy #0 + lda (print_word.w),y + tax + iny + lda (print_word.w),y + sta print_word.w+1 + stx print_word.w + //SEG222 [106] call print_word + //SEG223 [202] phi from printEntry::@2 to print_word [phi:printEntry::@2->print_word] + //SEG224 [202] phi (word) print_word::w#5 = (word~) print_word::w#8 [phi:printEntry::@2->print_word#0] -- register_copy + jsr print_word + //SEG225 printEntry::@16 + //SEG226 [107] (byte*~) print_line_cursor#164 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_164 + lda print_line_cursor+1 + sta print_line_cursor_164+1 + //SEG227 [108] call print_ln + //SEG228 [87] phi from printEntry::@16 to print_ln [phi:printEntry::@16->print_ln] + //SEG229 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@16->print_ln#0] -- register_copy + //SEG230 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#164 [phi:printEntry::@16->print_ln#1] -- register_copy + jsr print_ln + //SEG231 printEntry::@17 + //SEG232 [109] (byte*~) print_char_cursor#216 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG233 [110] call print_str + //SEG234 [80] phi from printEntry::@17 to print_str [phi:printEntry::@17->print_str] + //SEG235 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#216 [phi:printEntry::@17->print_str#0] -- register_copy + //SEG236 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str2 [phi:printEntry::@17->print_str#1] -- pbuz1=pbuc1 + lda #str2 + sta print_str.str+1 + jsr print_str + //SEG237 printEntry::entryTsLen1 + //SEG238 [111] (byte*) printEntry::entryTsLen1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz2_plus_vbuc1 + lda #4 + clc + adc entryBufDisk1__0 + sta entryTsLen1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsLen1__0+1 + //SEG239 [112] (word*) printEntry::entryTsLen1_return#0 ← ((word*)) (byte*) printEntry::entryTsLen1_$0#0 -- pwuz1=_ptr_pbuz1 + //SEG240 printEntry::@3 + //SEG241 [113] (word) print_word::w#2 ← *((word*) printEntry::entryTsLen1_return#0) -- vwuz1=_deref_pwuz1 + ldy #0 + lda (print_word.w),y + tax + iny + lda (print_word.w),y + sta print_word.w+1 + stx print_word.w + //SEG242 [114] call print_word + //SEG243 [202] phi from printEntry::@3 to print_word [phi:printEntry::@3->print_word] + //SEG244 [202] phi (word) print_word::w#5 = (word) print_word::w#2 [phi:printEntry::@3->print_word#0] -- register_copy + jsr print_word + //SEG245 printEntry::@18 + //SEG246 [115] (byte*~) print_line_cursor#165 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_165 + lda print_line_cursor+1 + sta print_line_cursor_165+1 + //SEG247 [116] call print_ln + //SEG248 [87] phi from printEntry::@18 to print_ln [phi:printEntry::@18->print_ln] + //SEG249 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@18->print_ln#0] -- register_copy + //SEG250 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#165 [phi:printEntry::@18->print_ln#1] -- register_copy + jsr print_ln + //SEG251 printEntry::@19 + //SEG252 [117] (byte*~) print_char_cursor#217 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG253 [118] call print_str + //SEG254 [80] phi from printEntry::@19 to print_str [phi:printEntry::@19->print_str] + //SEG255 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#217 [phi:printEntry::@19->print_str#0] -- register_copy + //SEG256 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str3 [phi:printEntry::@19->print_str#1] -- pbuz1=pbuc1 + lda #str3 + sta print_str.str+1 + jsr print_str + //SEG257 printEntry::entryTsOrder1 + //SEG258 [119] (byte*) printEntry::entryTsOrder1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- pbuz1=pbuz2_plus_vbuc1 + lda #6 + clc + adc entryBufDisk1__0 + sta entryTsOrder1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsOrder1__0+1 + //SEG259 [120] (word**) printEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) printEntry::entryTsOrder1_$0#0 -- pptz1=_ptr_pbuz1 + //SEG260 printEntry::@4 + //SEG261 [121] (word~) print_word::w#10 ← (word)*((word**) printEntry::entryTsOrder1_return#0) -- vwuz1=_deref_pwuz1 + ldy #0 + lda (print_word.w),y + tax + iny + lda (print_word.w),y + sta print_word.w+1 + stx print_word.w + //SEG262 [122] call print_word + //SEG263 [202] phi from printEntry::@4 to print_word [phi:printEntry::@4->print_word] + //SEG264 [202] phi (word) print_word::w#5 = (word~) print_word::w#10 [phi:printEntry::@4->print_word#0] -- register_copy + jsr print_word + //SEG265 printEntry::@20 + //SEG266 [123] (byte*~) print_line_cursor#166 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_166 + lda print_line_cursor+1 + sta print_line_cursor_166+1 + //SEG267 [124] call print_ln + //SEG268 [87] phi from printEntry::@20 to print_ln [phi:printEntry::@20->print_ln] + //SEG269 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@20->print_ln#0] -- register_copy + //SEG270 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#166 [phi:printEntry::@20->print_ln#1] -- register_copy + jsr print_ln + //SEG271 printEntry::@21 + //SEG272 [125] (byte*~) print_char_cursor#218 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG273 [126] call print_str + //SEG274 [80] phi from printEntry::@21 to print_str [phi:printEntry::@21->print_str] + //SEG275 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#218 [phi:printEntry::@21->print_str#0] -- register_copy + //SEG276 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str4 [phi:printEntry::@21->print_str#1] -- pbuz1=pbuc1 + lda #str4 + sta print_str.str+1 + jsr print_str + //SEG277 printEntry::entryTLastLink1 + //SEG278 [127] (byte*) printEntry::entryTLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz2_plus_vbuc1 + lda #8 + clc + adc entryBufDisk1__0 + sta entryTLastLink1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTLastLink1_return+1 + //SEG279 printEntry::@5 + //SEG280 [128] (byte) print_byte::b#2 ← *((byte*) printEntry::entryTLastLink1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entryTLastLink1_return),y + tax + //SEG281 [129] call print_byte + //SEG282 [190] phi from printEntry::@5 to print_byte [phi:printEntry::@5->print_byte] + //SEG283 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@5->print_byte#0] -- register_copy + //SEG284 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#2 [phi:printEntry::@5->print_byte#1] -- register_copy + jsr print_byte + //SEG285 printEntry::@22 + //SEG286 [130] (byte*~) print_line_cursor#167 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_167 + lda print_line_cursor+1 + sta print_line_cursor_167+1 + //SEG287 [131] call print_ln + //SEG288 [87] phi from printEntry::@22 to print_ln [phi:printEntry::@22->print_ln] + //SEG289 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@22->print_ln#0] -- register_copy + //SEG290 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#167 [phi:printEntry::@22->print_ln#1] -- register_copy + jsr print_ln + //SEG291 printEntry::@23 + //SEG292 [132] (byte*~) print_char_cursor#219 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG293 [133] call print_str + //SEG294 [80] phi from printEntry::@23 to print_str [phi:printEntry::@23->print_str] + //SEG295 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#219 [phi:printEntry::@23->print_str#0] -- register_copy + //SEG296 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str5 [phi:printEntry::@23->print_str#1] -- pbuz1=pbuc1 + lda #str5 + sta print_str.str+1 + jsr print_str + //SEG297 printEntry::entrySLastLink1 + //SEG298 [134] (byte*) printEntry::entrySLastLink1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- pbuz1=pbuz2_plus_vbuc1 + lda #9 + clc + adc entryBufDisk1__0 + sta entrySLastLink1_return + lda #0 + adc entryBufDisk1__0+1 + sta entrySLastLink1_return+1 + //SEG299 printEntry::@6 + //SEG300 [135] (byte) print_byte::b#3 ← *((byte*) printEntry::entrySLastLink1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entrySLastLink1_return),y + tax + //SEG301 [136] call print_byte + //SEG302 [190] phi from printEntry::@6 to print_byte [phi:printEntry::@6->print_byte] + //SEG303 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@6->print_byte#0] -- register_copy + //SEG304 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#3 [phi:printEntry::@6->print_byte#1] -- register_copy + jsr print_byte + //SEG305 printEntry::@24 + //SEG306 [137] (byte*~) print_line_cursor#168 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_168 + lda print_line_cursor+1 + sta print_line_cursor_168+1 + //SEG307 [138] call print_ln + //SEG308 [87] phi from printEntry::@24 to print_ln [phi:printEntry::@24->print_ln] + //SEG309 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@24->print_ln#0] -- register_copy + //SEG310 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#168 [phi:printEntry::@24->print_ln#1] -- register_copy + jsr print_ln + //SEG311 printEntry::@25 + //SEG312 [139] (byte*~) print_char_cursor#220 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG313 [140] call print_str + //SEG314 [80] phi from printEntry::@25 to print_str [phi:printEntry::@25->print_str] + //SEG315 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#220 [phi:printEntry::@25->print_str#0] -- register_copy + //SEG316 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str6 [phi:printEntry::@25->print_str#1] -- pbuz1=pbuc1 + lda #str6 + sta print_str.str+1 + jsr print_str + //SEG317 printEntry::entryBFlag1 + //SEG318 [141] (byte*) printEntry::entryBFlag1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a -- pbuz1=pbuz2_plus_vbuc1 + lda #$a + clc + adc entryBufDisk1__0 + sta entryBFlag1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBFlag1_return+1 + //SEG319 printEntry::@7 + //SEG320 [142] (byte) print_byte::b#4 ← *((byte*) printEntry::entryBFlag1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entryBFlag1_return),y + tax + //SEG321 [143] call print_byte + //SEG322 [190] phi from printEntry::@7 to print_byte [phi:printEntry::@7->print_byte] + //SEG323 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@7->print_byte#0] -- register_copy + //SEG324 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#4 [phi:printEntry::@7->print_byte#1] -- register_copy + jsr print_byte + //SEG325 printEntry::@26 + //SEG326 [144] (byte*~) print_line_cursor#169 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_169 + lda print_line_cursor+1 + sta print_line_cursor_169+1 + //SEG327 [145] call print_ln + //SEG328 [87] phi from printEntry::@26 to print_ln [phi:printEntry::@26->print_ln] + //SEG329 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@26->print_ln#0] -- register_copy + //SEG330 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#169 [phi:printEntry::@26->print_ln#1] -- register_copy + jsr print_ln + //SEG331 printEntry::@27 + //SEG332 [146] (byte*~) print_char_cursor#221 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG333 [147] call print_str + //SEG334 [80] phi from printEntry::@27 to print_str [phi:printEntry::@27->print_str] + //SEG335 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#221 [phi:printEntry::@27->print_str#0] -- register_copy + //SEG336 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str7 [phi:printEntry::@27->print_str#1] -- pbuz1=pbuc1 + lda #str7 + sta print_str.str+1 + jsr print_str + //SEG337 printEntry::entryBError1 + //SEG338 [148] (byte*) printEntry::entryBError1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b -- pbuz1=pbuz2_plus_vbuc1 + lda #$b + clc + adc entryBufDisk1__0 + sta entryBError1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBError1_return+1 + //SEG339 printEntry::@8 + //SEG340 [149] (byte) print_byte::b#5 ← *((byte*) printEntry::entryBError1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entryBError1_return),y + tax + //SEG341 [150] call print_byte + //SEG342 [190] phi from printEntry::@8 to print_byte [phi:printEntry::@8->print_byte] + //SEG343 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@8->print_byte#0] -- register_copy + //SEG344 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#5 [phi:printEntry::@8->print_byte#1] -- register_copy + jsr print_byte + //SEG345 printEntry::@28 + //SEG346 [151] (byte*~) print_line_cursor#170 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_170 + lda print_line_cursor+1 + sta print_line_cursor_170+1 + //SEG347 [152] call print_ln + //SEG348 [87] phi from printEntry::@28 to print_ln [phi:printEntry::@28->print_ln] + //SEG349 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@28->print_ln#0] -- register_copy + //SEG350 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#170 [phi:printEntry::@28->print_ln#1] -- register_copy + jsr print_ln + //SEG351 printEntry::@29 + //SEG352 [153] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG353 [154] call print_str + //SEG354 [80] phi from printEntry::@29 to print_str [phi:printEntry::@29->print_str] + //SEG355 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#222 [phi:printEntry::@29->print_str#0] -- register_copy + //SEG356 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str8 [phi:printEntry::@29->print_str#1] -- pbuz1=pbuc1 + lda #str8 + sta print_str.str+1 + jsr print_str + //SEG357 printEntry::entryUCross1 + //SEG358 [155] (byte*) printEntry::entryUCross1_$0#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c -- pbuz1=pbuz2_plus_vbuc1 + lda #$c + clc + adc entryBufDisk1__0 + sta entryUCross1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryUCross1__0+1 + //SEG359 [156] (word*) printEntry::entryUCross1_return#0 ← ((word*)) (byte*) printEntry::entryUCross1_$0#0 -- pwuz1=_ptr_pbuz1 + //SEG360 printEntry::@9 + //SEG361 [157] (word) print_word::w#4 ← *((word*) printEntry::entryUCross1_return#0) -- vwuz1=_deref_pwuz1 + ldy #0 + lda (print_word.w),y + tax + iny + lda (print_word.w),y + sta print_word.w+1 + stx print_word.w + //SEG362 [158] call print_word + //SEG363 [202] phi from printEntry::@9 to print_word [phi:printEntry::@9->print_word] + //SEG364 [202] phi (word) print_word::w#5 = (word) print_word::w#4 [phi:printEntry::@9->print_word#0] -- register_copy + jsr print_word + //SEG365 printEntry::@30 + //SEG366 [159] (byte*~) print_line_cursor#171 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_171 + lda print_line_cursor+1 + sta print_line_cursor_171+1 + //SEG367 [160] call print_ln + //SEG368 [87] phi from printEntry::@30 to print_ln [phi:printEntry::@30->print_ln] + //SEG369 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@30->print_ln#0] -- register_copy + //SEG370 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#171 [phi:printEntry::@30->print_ln#1] -- register_copy + jsr print_ln + //SEG371 printEntry::@31 + //SEG372 [161] (byte*~) print_char_cursor#223 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG373 [162] call print_str + //SEG374 [80] phi from printEntry::@31 to print_str [phi:printEntry::@31->print_str] + //SEG375 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#223 [phi:printEntry::@31->print_str#0] -- register_copy + //SEG376 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str9 [phi:printEntry::@31->print_str#1] -- pbuz1=pbuc1 + lda #str9 + sta print_str.str+1 + jsr print_str + //SEG377 printEntry::entryBAddrLo1 + //SEG378 [163] (byte*) printEntry::entryBAddrLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e -- pbuz1=pbuz2_plus_vbuc1 + lda #$e + clc + adc entryBufDisk1__0 + sta entryBAddrLo1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBAddrLo1_return+1 + //SEG379 printEntry::@10 + //SEG380 [164] (byte) print_byte::b#6 ← *((byte*) printEntry::entryBAddrLo1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entryBAddrLo1_return),y + tax + //SEG381 [165] call print_byte + //SEG382 [190] phi from printEntry::@10 to print_byte [phi:printEntry::@10->print_byte] + //SEG383 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@10->print_byte#0] -- register_copy + //SEG384 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#6 [phi:printEntry::@10->print_byte#1] -- register_copy + jsr print_byte + //SEG385 printEntry::@32 + //SEG386 [166] (byte*~) print_line_cursor#172 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_172 + lda print_line_cursor+1 + sta print_line_cursor_172+1 + //SEG387 [167] call print_ln + //SEG388 [87] phi from printEntry::@32 to print_ln [phi:printEntry::@32->print_ln] + //SEG389 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@32->print_ln#0] -- register_copy + //SEG390 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#172 [phi:printEntry::@32->print_ln#1] -- register_copy + jsr print_ln + //SEG391 printEntry::@33 + //SEG392 [168] (byte*~) print_char_cursor#224 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG393 [169] call print_str + //SEG394 [80] phi from printEntry::@33 to print_str [phi:printEntry::@33->print_str] + //SEG395 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#224 [phi:printEntry::@33->print_str#0] -- register_copy + //SEG396 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str10 [phi:printEntry::@33->print_str#1] -- pbuz1=pbuc1 + lda #str10 + sta print_str.str+1 + jsr print_str + //SEG397 printEntry::entryBAddrHi1 + //SEG398 [170] (byte*) printEntry::entryBAddrHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f -- pbuz1=pbuz2_plus_vbuc1 + lda #$f + clc + adc entryBufDisk1__0 + sta entryBAddrHi1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBAddrHi1_return+1 + //SEG399 printEntry::@11 + //SEG400 [171] (byte) print_byte::b#7 ← *((byte*) printEntry::entryBAddrHi1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entryBAddrHi1_return),y + tax + //SEG401 [172] call print_byte + //SEG402 [190] phi from printEntry::@11 to print_byte [phi:printEntry::@11->print_byte] + //SEG403 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@11->print_byte#0] -- register_copy + //SEG404 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#7 [phi:printEntry::@11->print_byte#1] -- register_copy + jsr print_byte + //SEG405 printEntry::@34 + //SEG406 [173] (byte*~) print_line_cursor#173 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_173 + lda print_line_cursor+1 + sta print_line_cursor_173+1 + //SEG407 [174] call print_ln + //SEG408 [87] phi from printEntry::@34 to print_ln [phi:printEntry::@34->print_ln] + //SEG409 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@34->print_ln#0] -- register_copy + //SEG410 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#173 [phi:printEntry::@34->print_ln#1] -- register_copy + jsr print_ln + //SEG411 printEntry::@35 + //SEG412 [175] (byte*~) print_char_cursor#225 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG413 [176] call print_str + //SEG414 [80] phi from printEntry::@35 to print_str [phi:printEntry::@35->print_str] + //SEG415 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#225 [phi:printEntry::@35->print_str#0] -- register_copy + //SEG416 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str11 [phi:printEntry::@35->print_str#1] -- pbuz1=pbuc1 + lda #str11 + sta print_str.str+1 + jsr print_str + //SEG417 printEntry::entryTHi1 + //SEG418 [177] (byte*) printEntry::entryTHi1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 -- pbuz1=pbuz2_plus_vbuc1 + lda #$10 + clc + adc entryBufDisk1__0 + sta entryTHi1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTHi1_return+1 + //SEG419 printEntry::@12 + //SEG420 [178] (byte) print_byte::b#8 ← *((byte*) printEntry::entryTHi1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entryTHi1_return),y + tax + //SEG421 [179] call print_byte + //SEG422 [190] phi from printEntry::@12 to print_byte [phi:printEntry::@12->print_byte] + //SEG423 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@12->print_byte#0] -- register_copy + //SEG424 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#8 [phi:printEntry::@12->print_byte#1] -- register_copy + jsr print_byte + //SEG425 printEntry::@36 + //SEG426 [180] (byte*~) print_line_cursor#174 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_174 + lda print_line_cursor+1 + sta print_line_cursor_174+1 + //SEG427 [181] call print_ln + //SEG428 [87] phi from printEntry::@36 to print_ln [phi:printEntry::@36->print_ln] + //SEG429 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@36->print_ln#0] -- register_copy + //SEG430 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#174 [phi:printEntry::@36->print_ln#1] -- register_copy + jsr print_ln + //SEG431 printEntry::@37 + //SEG432 [182] (byte*~) print_char_cursor#226 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_char_cursor + lda print_line_cursor+1 + sta print_char_cursor+1 + //SEG433 [183] call print_str + //SEG434 [80] phi from printEntry::@37 to print_str [phi:printEntry::@37->print_str] + //SEG435 [80] phi (byte*) print_char_cursor#164 = (byte*~) print_char_cursor#226 [phi:printEntry::@37->print_str#0] -- register_copy + //SEG436 [80] phi (byte*) print_str::str#20 = (const string) printEntry::str12 [phi:printEntry::@37->print_str#1] -- pbuz1=pbuc1 + lda #str12 + sta print_str.str+1 + jsr print_str + //SEG437 printEntry::entryTLo1 + //SEG438 [184] (byte*) printEntry::entryTLo1_return#0 ← (byte*) printEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 -- pbuz1=pbuz1_plus_vbuc1 + lda #$11 + clc + adc entryTLo1_return + sta entryTLo1_return + bcc !+ + inc entryTLo1_return+1 + !: + //SEG439 printEntry::@13 + //SEG440 [185] (byte) print_byte::b#9 ← *((byte*) printEntry::entryTLo1_return#0) -- vbuxx=_deref_pbuz1 + ldy #0 + lda (entryTLo1_return),y + tax + //SEG441 [186] call print_byte + //SEG442 [190] phi from printEntry::@13 to print_byte [phi:printEntry::@13->print_byte] + //SEG443 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:printEntry::@13->print_byte#0] -- register_copy + //SEG444 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#9 [phi:printEntry::@13->print_byte#1] -- register_copy + jsr print_byte + //SEG445 printEntry::@38 + //SEG446 [187] (byte*~) print_line_cursor#175 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 + lda print_line_cursor + sta print_line_cursor_175 + lda print_line_cursor+1 + sta print_line_cursor_175+1 + //SEG447 [188] call print_ln + //SEG448 [87] phi from printEntry::@38 to print_ln [phi:printEntry::@38->print_ln] + //SEG449 [87] phi (byte*) print_char_cursor#143 = (byte*) print_char_cursor#11 [phi:printEntry::@38->print_ln#0] -- register_copy + //SEG450 [87] phi (byte*) print_line_cursor#63 = (byte*~) print_line_cursor#175 [phi:printEntry::@38->print_ln#1] -- register_copy + jsr print_ln + //SEG451 printEntry::@return + //SEG452 [189] return + rts + str: .text "bufdisk @" + str1: .text "bufedit @" + str2: .text "tslen @" + str3: .text "tsorder @" + str4: .text "tlastlink @" + str5: .text "slastlink @" + str6: .text "bflag @" + str7: .text "berror @" + str8: .text "ucross @" + str9: .text "baddrlo @" + str10: .text "baddrhi @" + str11: .text "thi @" + str12: .text "tlo @" +} +//SEG453 print_byte +// Print a byte as HEX +// print_byte(byte register(X) b) +print_byte: { + //SEG454 [191] (byte~) print_byte::$0 ← (byte) print_byte::b#10 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuxx_ror_4 + txa + lsr + lsr + lsr + lsr + //SEG455 [192] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) -- vbuaa=pbuc1_derefidx_vbuaa + tay + lda print_hextab,y + //SEG456 [193] call print_char + //SEG457 [198] phi from print_byte to print_char [phi:print_byte->print_char] + //SEG458 [198] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#145 [phi:print_byte->print_char#0] -- register_copy + //SEG459 [198] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy + jsr print_char + //SEG460 print_byte::@1 + //SEG461 [194] (byte~) print_byte::$2 ← (byte) print_byte::b#10 & (byte/signed byte/word/signed word/dword/signed dword) $f -- vbuxx=vbuxx_band_vbuc1 + lda #$f + axs #0 + //SEG462 [195] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuaa=pbuc1_derefidx_vbuxx + lda print_hextab,x + //SEG463 [196] call print_char + //SEG464 [198] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] + //SEG465 [198] phi (byte*) print_char_cursor#82 = (byte*) print_char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy + //SEG466 [198] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy + jsr print_char + //SEG467 print_byte::@return + //SEG468 [197] return + rts +} +//SEG469 print_char +// Print a single char +// print_char(byte register(A) ch) +print_char: { + //SEG470 [199] *((byte*) print_char_cursor#82) ← (byte) print_char::ch#2 -- _deref_pbuz1=vbuaa + ldy #0 + sta (print_char_cursor),y + //SEG471 [200] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#82 -- pbuz1=_inc_pbuz1 + inc print_char_cursor + bne !+ + inc print_char_cursor+1 + !: + //SEG472 print_char::@return + //SEG473 [201] return + rts +} +//SEG474 print_word +// Print a word as HEX +// print_word(word zeropage(2) w) +print_word: { + .label w = 2 + //SEG475 [203] (byte) print_byte::b#0 ← > (word) print_word::w#5 -- vbuxx=_hi_vwuz1 + lda w+1 + tax + //SEG476 [204] call print_byte + //SEG477 [190] phi from print_word to print_byte [phi:print_word->print_byte] + //SEG478 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#142 [phi:print_word->print_byte#0] -- register_copy + //SEG479 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy + jsr print_byte + //SEG480 print_word::@1 + //SEG481 [205] (byte) print_byte::b#1 ← < (word) print_word::w#5 -- vbuxx=_lo_vwuz1 + lda w + tax + //SEG482 [206] call print_byte + //SEG483 [190] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] + //SEG484 [190] phi (byte*) print_char_cursor#145 = (byte*) print_char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy + //SEG485 [190] phi (byte) print_byte::b#10 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy + jsr print_byte + //SEG486 print_word::@return + //SEG487 [207] return + rts +} +//SEG488 initEntry +// Set all values in the passed struct +// Sets the values to n, n+1, n... to help test that everything works as intended +// initEntry(byte* zeropage(2) entry, byte zeropage(8) n) +initEntry: { + .label entry = 2 + .label entryBufDisk1__0 = 2 + .label entryBufDisk1_return = 6 + .label entryBufEdit1__0 = 6 + .label entryBufEdit1_return = 6 + .label entryTsLen1__0 = 6 + .label entryTsLen1_return = 6 + .label entryTsOrder1__0 = 6 + .label entryTsOrder1_return = 6 + .label entryTLastLink1_return = 6 + .label entrySLastLink1_return = 6 + .label entryBFlag1_return = 6 + .label entryBError1_return = 6 + .label entryUCross1__0 = 6 + .label entryUCross1_return = 6 + .label entryBAddrLo1_return = 6 + .label entryBAddrHi1_return = 6 + .label entryTHi1_return = 6 + .label entryTLo1_return = 2 + .label n = 8 + //SEG489 initEntry::entryBufDisk1 + //SEG490 [209] (byte**) initEntry::entryBufDisk1_return#0 ← ((byte**)) (byte*) initEntry::entryBufDisk1_$0#0 -- pptz1=_ptr_pbuz2 + lda entryBufDisk1__0 + sta entryBufDisk1_return + lda entryBufDisk1__0+1 + sta entryBufDisk1_return+1 + //SEG491 initEntry::@1 + //SEG492 [210] (byte/signed word/word/dword/signed dword~) initEntry::$1 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuz1_plus_1 + lda n + clc + adc #1 + //SEG493 [211] *((byte**) initEntry::entryBufDisk1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$1 -- _deref_pptz1=_ptr_vbuaa + ldy #0 + sta (entryBufDisk1_return),y + tya + iny + sta (entryBufDisk1_return),y + //SEG494 initEntry::entryBufEdit1 + //SEG495 [212] (byte*) initEntry::entryBufEdit1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- pbuz1=pbuz2_plus_2 + lda entryBufDisk1__0 + clc + adc #2 + sta entryBufEdit1__0 + lda entryBufDisk1__0+1 + adc #0 + sta entryBufEdit1__0+1 + //SEG496 [213] (byte**) initEntry::entryBufEdit1_return#0 ← ((byte**)) (byte*) initEntry::entryBufEdit1_$0#0 -- pptz1=_ptr_pbuz1 + //SEG497 initEntry::@2 + //SEG498 [214] (byte/signed word/word/dword/signed dword~) initEntry::$3 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 -- vbuaa=vbuz1_plus_2 + lda n + clc + adc #2 + //SEG499 [215] *((byte**) initEntry::entryBufEdit1_return#0) ← ((byte*)) (byte/signed word/word/dword/signed dword~) initEntry::$3 -- _deref_pptz1=_ptr_vbuaa + ldy #0 + sta (entryBufEdit1_return),y + tya + iny + sta (entryBufEdit1_return),y + //SEG500 initEntry::entryTsLen1 + //SEG501 [216] (byte*) initEntry::entryTsLen1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz2_plus_vbuc1 + lda #4 + clc + adc entryBufDisk1__0 + sta entryTsLen1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsLen1__0+1 + //SEG502 [217] (word*) initEntry::entryTsLen1_return#0 ← ((word*)) (byte*) initEntry::entryTsLen1_$0#0 -- pwuz1=_ptr_pbuz1 + //SEG503 initEntry::@3 + //SEG504 [218] (byte/signed word/word/dword/signed dword~) initEntry::$5 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 3 -- vbuaa=vbuz1_plus_vbuc1 + lda #3 + clc + adc n + //SEG505 [219] *((word*) initEntry::entryTsLen1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$5 -- _deref_pwuz1=vbuaa + ldy #0 + sta (entryTsLen1_return),y + tya + iny + sta (entryTsLen1_return),y + //SEG506 initEntry::entryTsOrder1 + //SEG507 [220] (byte*) initEntry::entryTsOrder1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- pbuz1=pbuz2_plus_vbuc1 + lda #6 + clc + adc entryBufDisk1__0 + sta entryTsOrder1__0 + lda #0 + adc entryBufDisk1__0+1 + sta entryTsOrder1__0+1 + //SEG508 [221] (word**) initEntry::entryTsOrder1_return#0 ← ((word**)) (byte*) initEntry::entryTsOrder1_$0#0 -- pptz1=_ptr_pbuz1 + //SEG509 initEntry::@4 + //SEG510 [222] (byte/signed word/word/dword/signed dword~) initEntry::$7 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuz1_plus_vbuc1 + lda #4 + clc + adc n + //SEG511 [223] *((word**) initEntry::entryTsOrder1_return#0) ← ((word*)) (byte/signed word/word/dword/signed dword~) initEntry::$7 -- _deref_pptz1=_ptr_vbuaa + ldy #0 + sta (entryTsOrder1_return),y + tya + iny + sta (entryTsOrder1_return),y + //SEG512 initEntry::entryTLastLink1 + //SEG513 [224] (byte*) initEntry::entryTLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz2_plus_vbuc1 + lda #8 + clc + adc entryBufDisk1__0 + sta entryTLastLink1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryTLastLink1_return+1 + //SEG514 initEntry::@5 + //SEG515 [225] (byte/signed word/word/dword/signed dword~) initEntry::$9 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 5 -- vbuaa=vbuz1_plus_vbuc1 + lda #5 + clc + adc n + //SEG516 [226] *((byte*) initEntry::entryTLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$9 -- _deref_pbuz1=vbuaa + ldy #0 + sta (entryTLastLink1_return),y + //SEG517 initEntry::entrySLastLink1 + //SEG518 [227] (byte*) initEntry::entrySLastLink1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- pbuz1=pbuz2_plus_vbuc1 + lda #9 + clc + adc entryBufDisk1__0 + sta entrySLastLink1_return + tya + adc entryBufDisk1__0+1 + sta entrySLastLink1_return+1 + //SEG519 initEntry::@6 + //SEG520 [228] (byte/signed word/word/dword/signed dword~) initEntry::$11 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- vbuaa=vbuz1_plus_vbuc1 + lda #6 + clc + adc n + //SEG521 [229] *((byte*) initEntry::entrySLastLink1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$11 -- _deref_pbuz1=vbuaa + sta (entrySLastLink1_return),y + //SEG522 initEntry::entryBFlag1 + //SEG523 [230] (byte*) initEntry::entryBFlag1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $a -- pbuz1=pbuz2_plus_vbuc1 + lda #$a + clc + adc entryBufDisk1__0 + sta entryBFlag1_return + tya + adc entryBufDisk1__0+1 + sta entryBFlag1_return+1 + //SEG524 initEntry::@7 + //SEG525 [231] (byte/signed word/word/dword/signed dword~) initEntry::$13 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 7 -- vbuaa=vbuz1_plus_vbuc1 + lda #7 + clc + adc n + //SEG526 [232] *((byte*) initEntry::entryBFlag1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$13 -- _deref_pbuz1=vbuaa + sta (entryBFlag1_return),y + //SEG527 initEntry::entryBError1 + //SEG528 [233] (byte*) initEntry::entryBError1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $b -- pbuz1=pbuz2_plus_vbuc1 + lda #$b + clc + adc entryBufDisk1__0 + sta entryBError1_return + tya + adc entryBufDisk1__0+1 + sta entryBError1_return+1 + //SEG529 initEntry::@8 + //SEG530 [234] (byte/signed word/word/dword/signed dword~) initEntry::$15 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- vbuaa=vbuz1_plus_vbuc1 + lda #8 + clc + adc n + //SEG531 [235] *((byte*) initEntry::entryBError1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$15 -- _deref_pbuz1=vbuaa + sta (entryBError1_return),y + //SEG532 initEntry::entryUCross1 + //SEG533 [236] (byte*) initEntry::entryUCross1_$0#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $c -- pbuz1=pbuz2_plus_vbuc1 + lda #$c + clc + adc entryBufDisk1__0 + sta entryUCross1__0 + tya + adc entryBufDisk1__0+1 + sta entryUCross1__0+1 + //SEG534 [237] (word*) initEntry::entryUCross1_return#0 ← ((word*)) (byte*) initEntry::entryUCross1_$0#0 -- pwuz1=_ptr_pbuz1 + //SEG535 initEntry::@9 + //SEG536 [238] (byte/signed word/word/dword/signed dword~) initEntry::$17 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) 9 -- vbuaa=vbuz1_plus_vbuc1 + lda #9 + clc + adc n + //SEG537 [239] *((word*) initEntry::entryUCross1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$17 -- _deref_pwuz1=vbuaa + sta (entryUCross1_return),y + tya + iny + sta (entryUCross1_return),y + //SEG538 initEntry::entryBAddrLo1 + //SEG539 [240] (byte*) initEntry::entryBAddrLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $e -- pbuz1=pbuz2_plus_vbuc1 + lda #$e + clc + adc entryBufDisk1__0 + sta entryBAddrLo1_return + lda #0 + adc entryBufDisk1__0+1 + sta entryBAddrLo1_return+1 + //SEG540 initEntry::@10 + //SEG541 [241] (byte/signed word/word/dword/signed dword~) initEntry::$19 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $a -- vbuaa=vbuz1_plus_vbuc1 + lda #$a + clc + adc n + //SEG542 [242] *((byte*) initEntry::entryBAddrLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$19 -- _deref_pbuz1=vbuaa + ldy #0 + sta (entryBAddrLo1_return),y + //SEG543 initEntry::entryBAddrHi1 + //SEG544 [243] (byte*) initEntry::entryBAddrHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $f -- pbuz1=pbuz2_plus_vbuc1 + lda #$f + clc + adc entryBufDisk1__0 + sta entryBAddrHi1_return + tya + adc entryBufDisk1__0+1 + sta entryBAddrHi1_return+1 + //SEG545 initEntry::@11 + //SEG546 [244] (byte/signed word/word/dword/signed dword~) initEntry::$21 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $b -- vbuaa=vbuz1_plus_vbuc1 + lda #$b + clc + adc n + //SEG547 [245] *((byte*) initEntry::entryBAddrHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$21 -- _deref_pbuz1=vbuaa + sta (entryBAddrHi1_return),y + //SEG548 initEntry::entryTHi1 + //SEG549 [246] (byte*) initEntry::entryTHi1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $10 -- pbuz1=pbuz2_plus_vbuc1 + lda #$10 + clc + adc entryBufDisk1__0 + sta entryTHi1_return + tya + adc entryBufDisk1__0+1 + sta entryTHi1_return+1 + //SEG550 initEntry::@12 + //SEG551 [247] (byte/signed word/word/dword/signed dword~) initEntry::$23 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $c -- vbuaa=vbuz1_plus_vbuc1 + lda #$c + clc + adc n + //SEG552 [248] *((byte*) initEntry::entryTHi1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$23 -- _deref_pbuz1=vbuaa + sta (entryTHi1_return),y + //SEG553 initEntry::entryTLo1 + //SEG554 [249] (byte*) initEntry::entryTLo1_return#0 ← (byte*) initEntry::entryBufDisk1_$0#0 + (byte/signed byte/word/signed word/dword/signed dword) $11 -- pbuz1=pbuz1_plus_vbuc1 + lda #$11 + clc + adc entryTLo1_return + sta entryTLo1_return + bcc !+ + inc entryTLo1_return+1 + !: + //SEG555 initEntry::@13 + //SEG556 [250] (byte/signed word/word/dword/signed dword~) initEntry::$25 ← (byte) initEntry::n#10 + (byte/signed byte/word/signed word/dword/signed dword) $d -- vbuaa=vbuz1_plus_vbuc1 + lda #$d + clc + adc n + //SEG557 [251] *((byte*) initEntry::entryTLo1_return#0) ← (byte/signed word/word/dword/signed dword~) initEntry::$25 -- _deref_pbuz1=vbuaa + ldy #0 + sta (entryTLo1_return),y + //SEG558 initEntry::@return + //SEG559 [252] return + rts +} +//SEG560 mul8u +// Perform binary multiplication of two unsigned 8-bit bytes into a 16-bit unsigned word +// mul8u(byte register(X) a) +mul8u: { + .label mb = 2 + .label res = 9 + .label return = 9 + //SEG561 [254] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] + //SEG562 [254] phi (word) mul8u::mb#2 = ((word))(const byte) ENTRY_SIZE#0 [phi:mul8u->mul8u::@1#0] -- vwuz1=vbuc1 + lda #ENTRY_SIZE + sta mb + lda #0 + sta mb+1 + //SEG563 [254] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 + sta res + sta res+1 + //SEG564 [254] phi (byte) mul8u::a#3 = (byte) mul8u::a#6 [phi:mul8u->mul8u::@1#2] -- register_copy + //SEG565 mul8u::@1 + b1: + //SEG566 [255] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 -- vbuxx_neq_0_then_la1 + cpx #0 + bne b2 + //SEG567 mul8u::@return + //SEG568 [256] return + rts + //SEG569 mul8u::@2 + b2: + //SEG570 [257] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuaa=vbuxx_band_vbuc1 + txa + and #1 + //SEG571 [258] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@3 -- vbuaa_eq_0_then_la1 + cmp #0 + beq b3 + //SEG572 mul8u::@4 + //SEG573 [259] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 -- vwuz1=vwuz1_plus_vwuz2 + lda res + clc + adc mb + sta res + lda res+1 + adc mb+1 + sta res+1 + //SEG574 [260] phi from mul8u::@2 mul8u::@4 to mul8u::@3 [phi:mul8u::@2/mul8u::@4->mul8u::@3] + //SEG575 [260] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@4->mul8u::@3#0] -- register_copy + //SEG576 mul8u::@3 + b3: + //SEG577 [261] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuxx=vbuxx_ror_1 + txa + lsr + tax + //SEG578 [262] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vwuz1=vwuz1_rol_1 + asl mb + rol mb+1 + //SEG579 [254] phi from mul8u::@3 to mul8u::@1 [phi:mul8u::@3->mul8u::@1] + //SEG580 [254] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@3->mul8u::@1#0] -- register_copy + //SEG581 [254] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@3->mul8u::@1#1] -- register_copy + //SEG582 [254] phi (byte) mul8u::a#3 = (byte) mul8u::a#0 [phi:mul8u::@3->mul8u::@1#2] -- register_copy + jmp b1 +} +//SEG583 keyboard_init +// Initialize keyboard reading by setting CIA#$ Data Direction Registers +keyboard_init: { + //SEG584 [263] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) $ff -- _deref_pbuc1=vbuc2 + // Keyboard Matrix Columns Write Mode + lda #$ff + sta CIA1_PORT_A_DDR + //SEG585 [264] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 -- _deref_pbuc1=vbuc2 + // Keyboard Matrix Columns Read Mode + lda #0 + sta CIA1_PORT_B_DDR + //SEG586 keyboard_init::@return + //SEG587 [265] return + rts +} + print_hextab: .text "0123456789abcdef" + // Keyboard row bitmask as expected by CIA#1 Port A when reading a specific keyboard matrix row (rows are numbered 0-7) + keyboard_matrix_row_bitmask: .byte $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f + // Keyboard matrix column bitmasks for a specific keybooard matrix column when reading the keyboard. (columns are numbered 0-7) + keyboard_matrix_col_bitmask: .byte 1, 2, 4, 8, $10, $20, $40, $80 + // All files + files: .fill MAX_FILES*ENTRY_SIZE, 0 + diff --git a/src/test/ref/semi-struct-2.sym b/src/test/ref/semi-struct-2.sym new file mode 100644 index 000000000..07d75b243 --- /dev/null +++ b/src/test/ref/semi-struct-2.sym @@ -0,0 +1,491 @@ +(label) @1 +(label) @begin +(label) @end +(byte*) CIA1_PORT_A +(const byte*) CIA1_PORT_A#0 CIA1_PORT_A = ((byte*))(word/dword/signed dword) $dc00 +(byte*) CIA1_PORT_A_DDR +(const byte*) CIA1_PORT_A_DDR#0 CIA1_PORT_A_DDR = ((byte*))(word/dword/signed dword) $dc02 +(byte*) CIA1_PORT_B +(const byte*) CIA1_PORT_B#0 CIA1_PORT_B = ((byte*))(word/dword/signed dword) $dc01 +(byte*) CIA1_PORT_B_DDR +(const byte*) CIA1_PORT_B_DDR#0 CIA1_PORT_B_DDR = ((byte*))(word/dword/signed dword) $dc03 +(byte) ENTRY_SIZE +(const byte) ENTRY_SIZE#0 ENTRY_SIZE = (byte/signed byte/word/signed word/dword/signed dword) $12 +(byte) KEY_SPACE +(const byte) KEY_SPACE#0 KEY_SPACE = (byte/signed byte/word/signed word/dword/signed dword) $3c +(byte) MAX_FILES +(const byte) MAX_FILES#0 MAX_FILES = (byte/word/signed word/dword/signed dword) $90 +(byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files +(const byte[((word))MAX_FILES#0*ENTRY_SIZE#0]) files#0 files = { fill( ((word))MAX_FILES#0*ENTRY_SIZE#0, 0) } +(void()) initEntry((byte*) initEntry::entry , (byte) initEntry::n) +(byte/signed word/word/dword/signed dword~) initEntry::$1 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$11 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$13 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$15 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$17 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$19 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$21 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$23 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$25 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$3 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$5 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$7 reg byte a 4.0 +(byte/signed word/word/dword/signed dword~) initEntry::$9 reg byte a 4.0 +(label) initEntry::@1 +(label) initEntry::@10 +(label) initEntry::@11 +(label) initEntry::@12 +(label) initEntry::@13 +(label) initEntry::@2 +(label) initEntry::@3 +(label) initEntry::@4 +(label) initEntry::@5 +(label) initEntry::@6 +(label) initEntry::@7 +(label) initEntry::@8 +(label) initEntry::@9 +(label) initEntry::@return +(byte*) initEntry::entry +(byte*) initEntry::entry#0 entry zp ZP_WORD:2 4.0 +(byte*) initEntry::entry#1 entry zp ZP_WORD:2 4.0 +(label) initEntry::entryBAddrHi1 +(byte*~) initEntry::entryBAddrHi1_$0 +(byte*) initEntry::entryBAddrHi1_entry +(byte*) initEntry::entryBAddrHi1_return +(byte*) initEntry::entryBAddrHi1_return#0 entryBAddrHi1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryBAddrLo1 +(byte*~) initEntry::entryBAddrLo1_$0 +(byte*) initEntry::entryBAddrLo1_entry +(byte*) initEntry::entryBAddrLo1_return +(byte*) initEntry::entryBAddrLo1_return#0 entryBAddrLo1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryBError1 +(byte*~) initEntry::entryBError1_$0 +(byte*) initEntry::entryBError1_entry +(byte*) initEntry::entryBError1_return +(byte*) initEntry::entryBError1_return#0 entryBError1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryBFlag1 +(byte*~) initEntry::entryBFlag1_$0 +(byte*) initEntry::entryBFlag1_entry +(byte*) initEntry::entryBFlag1_return +(byte*) initEntry::entryBFlag1_return#0 entryBFlag1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryBufDisk1 +(byte*~) initEntry::entryBufDisk1_$0 +(byte*) initEntry::entryBufDisk1_$0#0 entryBufDisk1_$0 zp ZP_WORD:2 0.7317073170731708 +(byte**~) initEntry::entryBufDisk1_$1 +(byte*) initEntry::entryBufDisk1_entry +(byte**) initEntry::entryBufDisk1_return +(byte**) initEntry::entryBufDisk1_return#0 entryBufDisk1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryBufEdit1 +(byte*~) initEntry::entryBufEdit1_$0 +(byte*) initEntry::entryBufEdit1_$0#0 entryBufEdit1_$0 zp ZP_WORD:6 4.0 +(byte**~) initEntry::entryBufEdit1_$1 +(byte*) initEntry::entryBufEdit1_entry +(byte**) initEntry::entryBufEdit1_return +(byte**) initEntry::entryBufEdit1_return#0 entryBufEdit1_return zp ZP_WORD:6 2.0 +(label) initEntry::entrySLastLink1 +(byte*~) initEntry::entrySLastLink1_$0 +(byte*) initEntry::entrySLastLink1_entry +(byte*) initEntry::entrySLastLink1_return +(byte*) initEntry::entrySLastLink1_return#0 entrySLastLink1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryTHi1 +(byte*~) initEntry::entryTHi1_$0 +(byte*) initEntry::entryTHi1_entry +(byte*) initEntry::entryTHi1_return +(byte*) initEntry::entryTHi1_return#0 entryTHi1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryTLastLink1 +(byte*~) initEntry::entryTLastLink1_$0 +(byte*) initEntry::entryTLastLink1_entry +(byte*) initEntry::entryTLastLink1_return +(byte*) initEntry::entryTLastLink1_return#0 entryTLastLink1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryTLo1 +(byte*~) initEntry::entryTLo1_$0 +(byte*) initEntry::entryTLo1_entry +(byte*) initEntry::entryTLo1_return +(byte*) initEntry::entryTLo1_return#0 entryTLo1_return zp ZP_WORD:2 2.0 +(label) initEntry::entryTsLen1 +(byte*~) initEntry::entryTsLen1_$0 +(byte*) initEntry::entryTsLen1_$0#0 entryTsLen1_$0 zp ZP_WORD:6 4.0 +(word*~) initEntry::entryTsLen1_$1 +(byte*) initEntry::entryTsLen1_entry +(word*) initEntry::entryTsLen1_return +(word*) initEntry::entryTsLen1_return#0 entryTsLen1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryTsOrder1 +(byte*~) initEntry::entryTsOrder1_$0 +(byte*) initEntry::entryTsOrder1_$0#0 entryTsOrder1_$0 zp ZP_WORD:6 4.0 +(word**~) initEntry::entryTsOrder1_$1 +(byte*) initEntry::entryTsOrder1_entry +(word**) initEntry::entryTsOrder1_return +(word**) initEntry::entryTsOrder1_return#0 entryTsOrder1_return zp ZP_WORD:6 2.0 +(label) initEntry::entryUCross1 +(byte*~) initEntry::entryUCross1_$0 +(byte*) initEntry::entryUCross1_$0#0 entryUCross1_$0 zp ZP_WORD:6 4.0 +(word*~) initEntry::entryUCross1_$1 +(byte*) initEntry::entryUCross1_entry +(word*) initEntry::entryUCross1_return +(word*) initEntry::entryUCross1_return#0 entryUCross1_return zp ZP_WORD:6 2.0 +(byte) initEntry::n +(byte) initEntry::n#10 n zp ZP_BYTE:8 0.6190476190476191 +(void()) keyboard_init() +(label) keyboard_init::@return +(byte()) keyboard_key_pressed((byte) keyboard_key_pressed::key) +(byte~) keyboard_key_pressed::$2 reg byte a 4.0 +(label) keyboard_key_pressed::@1 +(label) keyboard_key_pressed::@return +(byte) keyboard_key_pressed::colidx +(const byte) keyboard_key_pressed::colidx#0 colidx = (const byte) KEY_SPACE#0&(byte/signed byte/word/signed word/dword/signed dword) 7 +(byte) keyboard_key_pressed::key +(byte) keyboard_key_pressed::return +(byte) keyboard_key_pressed::return#0 reg byte a 6.0 +(byte) keyboard_key_pressed::return#2 reg byte a 22.0 +(byte) keyboard_key_pressed::return#3 reg byte a 22.0 +(byte) keyboard_key_pressed::rowidx +(const byte) keyboard_key_pressed::rowidx#0 rowidx = (const byte) KEY_SPACE#0>>(byte/signed byte/word/signed word/dword/signed dword) 3 +(byte[8]) keyboard_matrix_col_bitmask +(const byte[8]) keyboard_matrix_col_bitmask#0 keyboard_matrix_col_bitmask = { (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) $10, (byte/signed byte/word/signed word/dword/signed dword) $20, (byte/signed byte/word/signed word/dword/signed dword) $40, (byte/word/signed word/dword/signed dword) $80 } +(byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) +(label) keyboard_matrix_read::@return +(byte) keyboard_matrix_read::return +(byte) keyboard_matrix_read::return#0 reg byte a 1.3333333333333333 +(byte) keyboard_matrix_read::return#2 reg byte a 4.0 +(byte) keyboard_matrix_read::row_pressed_bits +(byte) keyboard_matrix_read::rowid +(byte[8]) keyboard_matrix_row_bitmask +(const byte[8]) keyboard_matrix_row_bitmask#0 keyboard_matrix_row_bitmask = { (byte/word/signed word/dword/signed dword) $fe, (byte/word/signed word/dword/signed dword) $fd, (byte/word/signed word/dword/signed dword) $fb, (byte/word/signed word/dword/signed dword) $f7, (byte/word/signed word/dword/signed dword) $ef, (byte/word/signed word/dword/signed dword) $df, (byte/word/signed word/dword/signed dword) $bf, (byte/signed byte/word/signed word/dword/signed dword) $7f } +(void()) main() +(byte~) main::$20 reg byte a 22.0 +(byte~) main::$22 reg byte a 22.0 +(label) main::@1 +(label) main::@10 +(label) main::@11 +(label) main::@12 +(label) main::@13 +(label) main::@14 +(label) main::@15 +(label) main::@16 +(label) main::@17 +(label) main::@18 +(label) main::@19 +(label) main::@2 +(label) main::@20 +(label) main::@21 +(label) main::@22 +(label) main::@23 +(label) main::@3 +(label) main::@4 +(label) main::@5 +(label) main::@6 +(label) main::@7 +(label) main::@8 +(label) main::@9 +(label) main::@return +(byte*) main::entry1 +(byte*) main::entry1#0 entry1 zp ZP_WORD:4 0.3157894736842105 +(byte*) main::entry2 +(byte*) main::entry2#0 entry2 zp ZP_WORD:9 0.17142857142857143 +(label) main::fileEntry1 +(word~) main::fileEntry1_$0 +(word) main::fileEntry1_$0#0 fileEntry1_$0 zp ZP_WORD:4 4.0 +(byte*~) main::fileEntry1_$1 +(byte) main::fileEntry1_idx +(const byte) main::fileEntry1_idx#0 fileEntry1_idx = (byte/signed byte/word/signed word/dword/signed dword) 1 +(byte*) main::fileEntry1_return +(label) main::fileEntry2 +(word~) main::fileEntry2_$0 +(word) main::fileEntry2_$0#0 fileEntry2_$0 zp ZP_WORD:9 4.0 +(byte*~) main::fileEntry2_$1 +(byte) main::fileEntry2_idx +(const byte) main::fileEntry2_idx#0 fileEntry2_idx = (byte/signed byte/word/signed word/dword/signed dword) 2 +(byte*) main::fileEntry2_return +(const string) main::str str = (string) "** entry 1 **@" +(const string) main::str1 str1 = (string) "- press space -@" +(const string) main::str2 str2 = (string) "** entry 2 **@" +(word()) mul8u((byte) mul8u::a , (byte) mul8u::b) +(byte~) mul8u::$1 reg byte a 22.0 +(label) mul8u::@1 +(label) mul8u::@2 +(label) mul8u::@3 +(label) mul8u::@4 +(label) mul8u::@return +(byte) mul8u::a +(byte) mul8u::a#0 reg byte x 11.0 +(byte) mul8u::a#3 reg byte x 7.666666666666666 +(byte) mul8u::a#6 reg byte x 2.0 +(byte) mul8u::b +(word) mul8u::mb +(word) mul8u::mb#1 mb zp ZP_WORD:2 22.0 +(word) mul8u::mb#2 mb zp ZP_WORD:2 4.714285714285714 +(word) mul8u::res +(word) mul8u::res#1 res zp ZP_WORD:9 22.0 +(word) mul8u::res#2 res zp ZP_WORD:9 5.285714285714286 +(word) mul8u::res#6 res zp ZP_WORD:9 11.0 +(word) mul8u::return +(word) mul8u::return#2 return zp ZP_WORD:9 4.0 +(word) mul8u::return#3 return zp ZP_WORD:9 4.0 +(void()) printEntry((byte*) printEntry::entry) +(label) printEntry::@1 +(label) printEntry::@10 +(label) printEntry::@11 +(label) printEntry::@12 +(label) printEntry::@13 +(label) printEntry::@14 +(label) printEntry::@15 +(label) printEntry::@16 +(label) printEntry::@17 +(label) printEntry::@18 +(label) printEntry::@19 +(label) printEntry::@2 +(label) printEntry::@20 +(label) printEntry::@21 +(label) printEntry::@22 +(label) printEntry::@23 +(label) printEntry::@24 +(label) printEntry::@25 +(label) printEntry::@26 +(label) printEntry::@27 +(label) printEntry::@28 +(label) printEntry::@29 +(label) printEntry::@3 +(label) printEntry::@30 +(label) printEntry::@31 +(label) printEntry::@32 +(label) printEntry::@33 +(label) printEntry::@34 +(label) printEntry::@35 +(label) printEntry::@36 +(label) printEntry::@37 +(label) printEntry::@38 +(label) printEntry::@4 +(label) printEntry::@5 +(label) printEntry::@6 +(label) printEntry::@7 +(label) printEntry::@8 +(label) printEntry::@9 +(label) printEntry::@return +(byte*) printEntry::entry +(byte*) printEntry::entry#0 entry zp ZP_WORD:4 4.0 +(byte*) printEntry::entry#1 entry zp ZP_WORD:4 4.0 +(label) printEntry::entryBAddrHi1 +(byte*~) printEntry::entryBAddrHi1_$0 +(byte*) printEntry::entryBAddrHi1_entry +(byte*) printEntry::entryBAddrHi1_return +(byte*) printEntry::entryBAddrHi1_return#0 entryBAddrHi1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryBAddrLo1 +(byte*~) printEntry::entryBAddrLo1_$0 +(byte*) printEntry::entryBAddrLo1_entry +(byte*) printEntry::entryBAddrLo1_return +(byte*) printEntry::entryBAddrLo1_return#0 entryBAddrLo1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryBError1 +(byte*~) printEntry::entryBError1_$0 +(byte*) printEntry::entryBError1_entry +(byte*) printEntry::entryBError1_return +(byte*) printEntry::entryBError1_return#0 entryBError1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryBFlag1 +(byte*~) printEntry::entryBFlag1_$0 +(byte*) printEntry::entryBFlag1_entry +(byte*) printEntry::entryBFlag1_return +(byte*) printEntry::entryBFlag1_return#0 entryBFlag1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryBufDisk1 +(byte*~) printEntry::entryBufDisk1_$0 +(byte*) printEntry::entryBufDisk1_$0#0 entryBufDisk1_$0 zp ZP_WORD:4 0.3296703296703296 +(byte**~) printEntry::entryBufDisk1_$1 +(byte*) printEntry::entryBufDisk1_entry +(byte**) printEntry::entryBufDisk1_return +(byte**) printEntry::entryBufDisk1_return#0 entryBufDisk1_return zp ZP_WORD:2 2.0 +(label) printEntry::entryBufEdit1 +(byte*~) printEntry::entryBufEdit1_$0 +(byte*) printEntry::entryBufEdit1_$0#0 entryBufEdit1_$0 zp ZP_WORD:2 4.0 +(byte**~) printEntry::entryBufEdit1_$1 +(byte*) printEntry::entryBufEdit1_entry +(byte**) printEntry::entryBufEdit1_return +(byte**) printEntry::entryBufEdit1_return#0 entryBufEdit1_return zp ZP_WORD:2 2.0 +(label) printEntry::entrySLastLink1 +(byte*~) printEntry::entrySLastLink1_$0 +(byte*) printEntry::entrySLastLink1_entry +(byte*) printEntry::entrySLastLink1_return +(byte*) printEntry::entrySLastLink1_return#0 entrySLastLink1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryTHi1 +(byte*~) printEntry::entryTHi1_$0 +(byte*) printEntry::entryTHi1_entry +(byte*) printEntry::entryTHi1_return +(byte*) printEntry::entryTHi1_return#0 entryTHi1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryTLastLink1 +(byte*~) printEntry::entryTLastLink1_$0 +(byte*) printEntry::entryTLastLink1_entry +(byte*) printEntry::entryTLastLink1_return +(byte*) printEntry::entryTLastLink1_return#0 entryTLastLink1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryTLo1 +(byte*~) printEntry::entryTLo1_$0 +(byte*) printEntry::entryTLo1_entry +(byte*) printEntry::entryTLo1_return +(byte*) printEntry::entryTLo1_return#0 entryTLo1_return zp ZP_WORD:4 4.0 +(label) printEntry::entryTsLen1 +(byte*~) printEntry::entryTsLen1_$0 +(byte*) printEntry::entryTsLen1_$0#0 entryTsLen1_$0 zp ZP_WORD:2 4.0 +(word*~) printEntry::entryTsLen1_$1 +(byte*) printEntry::entryTsLen1_entry +(word*) printEntry::entryTsLen1_return +(word*) printEntry::entryTsLen1_return#0 entryTsLen1_return zp ZP_WORD:2 4.0 +(label) printEntry::entryTsOrder1 +(byte*~) printEntry::entryTsOrder1_$0 +(byte*) printEntry::entryTsOrder1_$0#0 entryTsOrder1_$0 zp ZP_WORD:2 4.0 +(word**~) printEntry::entryTsOrder1_$1 +(byte*) printEntry::entryTsOrder1_entry +(word**) printEntry::entryTsOrder1_return +(word**) printEntry::entryTsOrder1_return#0 entryTsOrder1_return zp ZP_WORD:2 2.0 +(label) printEntry::entryUCross1 +(byte*~) printEntry::entryUCross1_$0 +(byte*) printEntry::entryUCross1_$0#0 entryUCross1_$0 zp ZP_WORD:2 4.0 +(word*~) printEntry::entryUCross1_$1 +(byte*) printEntry::entryUCross1_entry +(word*) printEntry::entryUCross1_return +(word*) printEntry::entryUCross1_return#0 entryUCross1_return zp ZP_WORD:2 4.0 +(const string) printEntry::str str = (string) "bufdisk @" +(const string) printEntry::str1 str1 = (string) "bufedit @" +(const string) printEntry::str10 str10 = (string) "baddrhi @" +(const string) printEntry::str11 str11 = (string) "thi @" +(const string) printEntry::str12 str12 = (string) "tlo @" +(const string) printEntry::str2 str2 = (string) "tslen @" +(const string) printEntry::str3 str3 = (string) "tsorder @" +(const string) printEntry::str4 str4 = (string) "tlastlink @" +(const string) printEntry::str5 str5 = (string) "slastlink @" +(const string) printEntry::str6 str6 = (string) "bflag @" +(const string) printEntry::str7 str7 = (string) "berror @" +(const string) printEntry::str8 str8 = (string) "ucross @" +(const string) printEntry::str9 str9 = (string) "baddrlo @" +(void()) print_byte((byte) print_byte::b) +(byte~) print_byte::$0 reg byte a 4.0 +(byte~) print_byte::$2 reg byte x 4.0 +(label) print_byte::@1 +(label) print_byte::@return +(byte) print_byte::b +(byte) print_byte::b#0 reg byte x 4.0 +(byte) print_byte::b#1 reg byte x 4.0 +(byte) print_byte::b#10 reg byte x 6.0 +(byte) print_byte::b#2 reg byte x 4.0 +(byte) print_byte::b#3 reg byte x 4.0 +(byte) print_byte::b#4 reg byte x 4.0 +(byte) print_byte::b#5 reg byte x 4.0 +(byte) print_byte::b#6 reg byte x 4.0 +(byte) print_byte::b#7 reg byte x 4.0 +(byte) print_byte::b#8 reg byte x 4.0 +(byte) print_byte::b#9 reg byte x 4.0 +(void()) print_char((byte) print_char::ch) +(label) print_char::@return +(byte) print_char::ch +(byte) print_char::ch#0 reg byte a 4.0 +(byte) print_char::ch#1 reg byte a 4.0 +(byte) print_char::ch#2 reg byte a 6.0 +(byte*) print_char_cursor +(byte*) print_char_cursor#1 print_char_cursor zp ZP_WORD:6 11.0 +(byte*) print_char_cursor#11 print_char_cursor zp ZP_WORD:6 0.8648648648648649 +(byte*) print_char_cursor#142 print_char_cursor zp ZP_WORD:6 1.0754716981132075 +(byte*) print_char_cursor#143 print_char_cursor zp ZP_WORD:6 9.800000000000002 +(byte*) print_char_cursor#145 print_char_cursor zp ZP_WORD:6 7.333333333333334 +(byte*) print_char_cursor#164 print_char_cursor zp ZP_WORD:6 32.0 +(byte*~) print_char_cursor#212 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#213 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#214 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#215 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#216 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#217 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#218 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#219 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#220 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#221 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#222 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#223 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#224 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#225 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#226 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#230 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#231 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#233 print_char_cursor zp ZP_WORD:6 4.0 +(byte*~) print_char_cursor#234 print_char_cursor zp ZP_WORD:6 4.0 +(byte*) print_char_cursor#82 print_char_cursor zp ZP_WORD:6 4.0 +(void()) print_cls() +(label) print_cls::@1 +(label) print_cls::@return +(byte*) print_cls::sc +(byte*) print_cls::sc#1 sc zp ZP_WORD:2 16.5 +(byte*) print_cls::sc#2 sc zp ZP_WORD:2 16.5 +(byte[]) print_hextab +(const byte[]) print_hextab#0 print_hextab = (string) "0123456789abcdef" +(byte*) print_line_cursor +(byte*) print_line_cursor#1 print_line_cursor zp ZP_WORD:11 1.03960396039604 +(byte*~) print_line_cursor#159 print_line_cursor#159 zp ZP_WORD:2 2.0 +(byte*~) print_line_cursor#160 print_line_cursor#160 zp ZP_WORD:2 2.0 +(byte*~) print_line_cursor#161 print_line_cursor#161 zp ZP_WORD:2 2.0 +(byte*~) print_line_cursor#162 print_line_cursor#162 zp ZP_WORD:2 2.0 +(byte*~) print_line_cursor#163 print_line_cursor#163 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#164 print_line_cursor#164 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#165 print_line_cursor#165 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#166 print_line_cursor#166 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#167 print_line_cursor#167 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#168 print_line_cursor#168 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#169 print_line_cursor#169 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#170 print_line_cursor#170 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#171 print_line_cursor#171 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#172 print_line_cursor#172 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#173 print_line_cursor#173 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#174 print_line_cursor#174 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#175 print_line_cursor#175 zp ZP_WORD:2 4.0 +(byte*~) print_line_cursor#177 print_line_cursor#177 zp ZP_WORD:2 22.0 +(byte*) print_line_cursor#32 print_line_cursor#32 zp ZP_WORD:2 24.0 +(byte*) print_line_cursor#63 print_line_cursor#63 zp ZP_WORD:2 36.0 +(void()) print_ln() +(label) print_ln::@1 +(label) print_ln::@2 +(label) print_ln::@return +(byte*) print_screen +(void()) print_str((byte*) print_str::str) +(label) print_str::@1 +(label) print_str::@2 +(label) print_str::@return +(byte*) print_str::str +(byte*) print_str::str#0 str zp ZP_WORD:2 22.0 +(byte*) print_str::str#18 str zp ZP_WORD:2 11.5 +(byte*) print_str::str#20 str zp ZP_WORD:2 2.0 +(void()) print_word((word) print_word::w) +(label) print_word::@1 +(label) print_word::@return +(word) print_word::w +(word~) print_word::w#10 w zp ZP_WORD:2 4.0 +(word) print_word::w#2 w zp ZP_WORD:2 4.0 +(word) print_word::w#4 w zp ZP_WORD:2 4.0 +(word) print_word::w#5 w zp ZP_WORD:2 4.666666666666666 +(word~) print_word::w#7 w zp ZP_WORD:2 4.0 +(word~) print_word::w#8 w zp ZP_WORD:2 4.0 + +zp ZP_WORD:2 [ print_cls::sc#2 print_cls::sc#1 print_str::str#18 print_str::str#20 print_str::str#0 print_line_cursor#32 print_line_cursor#63 print_line_cursor#159 print_line_cursor#160 print_line_cursor#161 print_line_cursor#162 print_line_cursor#163 print_line_cursor#164 print_line_cursor#165 print_line_cursor#166 print_line_cursor#167 print_line_cursor#168 print_line_cursor#169 print_line_cursor#170 print_line_cursor#171 print_line_cursor#172 print_line_cursor#173 print_line_cursor#174 print_line_cursor#175 print_line_cursor#177 print_word::w#5 print_word::w#7 print_word::w#8 print_word::w#2 print_word::w#10 print_word::w#4 printEntry::entryBufDisk1_return#0 printEntry::entryBufEdit1_return#0 printEntry::entryTsLen1_return#0 printEntry::entryTsOrder1_return#0 printEntry::entryUCross1_return#0 printEntry::entryBufEdit1_$0#0 printEntry::entryTsLen1_$0#0 printEntry::entryTsOrder1_$0#0 printEntry::entryUCross1_$0#0 initEntry::entryBufDisk1_$0#0 initEntry::entry#0 initEntry::entry#1 initEntry::entryTLo1_return#0 mul8u::mb#2 mul8u::mb#1 printEntry::entryTLastLink1_return#0 printEntry::entrySLastLink1_return#0 printEntry::entryBFlag1_return#0 printEntry::entryBError1_return#0 printEntry::entryBAddrLo1_return#0 printEntry::entryBAddrHi1_return#0 printEntry::entryTHi1_return#0 ] +zp ZP_WORD:4 [ printEntry::entryBufDisk1_$0#0 printEntry::entry#0 printEntry::entry#1 main::entry1#0 printEntry::entryTLo1_return#0 main::fileEntry1_$0#0 ] +reg byte x [ print_byte::b#10 print_byte::b#6 print_byte::b#7 print_byte::b#8 print_byte::b#9 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#0 print_byte::b#1 ] +reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] +zp ZP_WORD:6 [ print_char_cursor#82 print_char_cursor#145 print_char_cursor#143 print_char_cursor#142 print_char_cursor#164 print_char_cursor#212 print_char_cursor#213 print_char_cursor#214 print_char_cursor#215 print_char_cursor#216 print_char_cursor#217 print_char_cursor#218 print_char_cursor#219 print_char_cursor#220 print_char_cursor#221 print_char_cursor#222 print_char_cursor#223 print_char_cursor#224 print_char_cursor#225 print_char_cursor#226 print_char_cursor#1 print_char_cursor#230 print_char_cursor#231 print_char_cursor#233 print_char_cursor#234 print_char_cursor#11 initEntry::entryBufDisk1_return#0 initEntry::entryBufEdit1_$0#0 initEntry::entryBufEdit1_return#0 initEntry::entryTsLen1_$0#0 initEntry::entryTsLen1_return#0 initEntry::entryTsOrder1_$0#0 initEntry::entryTsOrder1_return#0 initEntry::entryTLastLink1_return#0 initEntry::entrySLastLink1_return#0 initEntry::entryBFlag1_return#0 initEntry::entryBError1_return#0 initEntry::entryUCross1_$0#0 initEntry::entryUCross1_return#0 initEntry::entryBAddrLo1_return#0 initEntry::entryBAddrHi1_return#0 initEntry::entryTHi1_return#0 ] +zp ZP_BYTE:8 [ initEntry::n#10 ] +reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#0 ] +zp ZP_WORD:9 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 mul8u::return#3 main::fileEntry2_$0#0 main::entry2#0 ] +reg byte a [ keyboard_key_pressed::return#2 ] +reg byte a [ main::$20 ] +reg byte a [ keyboard_key_pressed::return#3 ] +reg byte a [ main::$22 ] +reg byte a [ keyboard_matrix_read::return#2 ] +reg byte a [ keyboard_key_pressed::$2 ] +reg byte a [ keyboard_key_pressed::return#0 ] +reg byte a [ keyboard_matrix_read::return#0 ] +zp ZP_WORD:11 [ print_line_cursor#1 ] +reg byte a [ print_byte::$0 ] +reg byte x [ print_byte::$2 ] +reg byte a [ initEntry::$1 ] +reg byte a [ initEntry::$3 ] +reg byte a [ initEntry::$5 ] +reg byte a [ initEntry::$7 ] +reg byte a [ initEntry::$9 ] +reg byte a [ initEntry::$11 ] +reg byte a [ initEntry::$13 ] +reg byte a [ initEntry::$15 ] +reg byte a [ initEntry::$17 ] +reg byte a [ initEntry::$19 ] +reg byte a [ initEntry::$21 ] +reg byte a [ initEntry::$23 ] +reg byte a [ initEntry::$25 ] +reg byte a [ mul8u::$1 ]