summaryrefslogtreecommitdiffstats
path: root/src/dist/default/production/src.production.lst
diff options
context:
space:
mode:
Diffstat (limited to 'src/dist/default/production/src.production.lst')
-rw-r--r--src/dist/default/production/src.production.lst1090
1 files changed, 864 insertions, 226 deletions
diff --git a/src/dist/default/production/src.production.lst b/src/dist/default/production/src.production.lst
index 01c9d84..fd44914 100644
--- a/src/dist/default/production/src.production.lst
+++ b/src/dist/default/production/src.production.lst
@@ -1,10 +1,10 @@
Microchip Technology PIC18 LITE Macro Assembler V1.44 build -154322312
- Mon Jan 08 09:28:26 2018
+ Thu Feb 01 17:09:31 2018
Microchip Technology Omniscient Code Generator v1.44 (Free mode) build 201709140600
- 1 processor 18F44K22
+ 1 processor 18F45K22
2 fnconf rparam,??,?,0
3 opt pw 120
4 opt lm
@@ -12,202 +12,759 @@ Microchip Technology Omniscient Code Generator v1.44 (Free mode) build 201709140
6 psect cstackCOMRAM,global,class=COMRAM,space=1,delta=1,noexec
7 psect text0,global,reloc=2,class=CODE,delta=1
8 psect text1,global,reloc=2,class=CODE,delta=1
- 9 psect intsave_regs,global,class=BIGRAM,space=1,delta=1,noexec
- 10 psect rparam,global,class=COMRAM,space=1,delta=1,noexec
- 11 0000
- 12 ; Version 1.44
- 13 ; Generated 14/09/2017 GMT
- 14 ;
- 15 ; Copyright © 2017, Microchip Technology Inc. and its subsidiaries ("Microchip")
- 16 ; All rights reserved.
- 17 ;
- 18 ; This software is developed by Microchip Technology Inc. and its subsidiaries ("Microch
- + ip").
+ 9 psect text2,global,reloc=2,class=CODE,delta=1
+ 10 psect text3,global,reloc=2,class=CODE,delta=1
+ 11 psect text4,global,reloc=2,class=CODE,delta=1
+ 12 psect text5,global,reloc=2,class=CODE,delta=1
+ 13 psect text6,global,reloc=2,class=CODE,delta=1
+ 14 psect intsave_regs,global,class=BIGRAM,space=1,delta=1,noexec
+ 15 psect rparam,global,class=COMRAM,space=1,delta=1,noexec
+ 16 0000
+ 17 ; Version 1.44
+ 18 ; Generated 14/09/2017 GMT
19 ;
- 20 ; Redistribution and use in source and binary forms, with or without modification, are
- 21 ; permitted provided that the following conditions are met:
+ 20 ; Copyright © 2017, Microchip Technology Inc. and its subsidiaries ("Microchip")
+ 21 ; All rights reserved.
22 ;
- 23 ; 1. Redistributions of source code must retain the above copyright notice, this lis
+ 23 ; This software is developed by Microchip Technology Inc. and its subsidiaries ("Microch
+ + ip").
+ 24 ;
+ 25 ; Redistribution and use in source and binary forms, with or without modification, are
+ 26 ; permitted provided that the following conditions are met:
+ 27 ;
+ 28 ; 1. Redistributions of source code must retain the above copyright notice, this lis
+ t of
- 24 ; conditions and the following disclaimer.
- 25 ;
- 26 ; 2. Redistributions in binary form must reproduce the above copyright notice, this
+ 29 ; conditions and the following disclaimer.
+ 30 ;
+ 31 ; 2. Redistributions in binary form must reproduce the above copyright notice, this
+ list
- 27 ; of conditions and the following disclaimer in the documentation and/or other
- 28 ; materials provided with the distribution.
- 29 ;
- 30 ; 3. Microchip's name may not be used to endorse or promote products derived from th
+ 32 ; of conditions and the following disclaimer in the documentation and/or other
+ 33 ; materials provided with the distribution.
+ 34 ;
+ 35 ; 3. Microchip's name may not be used to endorse or promote products derived from th
+ is
- 31 ; software without specific prior written permission.
- 32 ;
- 33 ; THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- 34 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS F
+ 36 ; software without specific prior written permission.
+ 37 ;
+ 38 ; THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ 39 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS F
+ OR
- 35 ; PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MICROCHIP BE LIABLE FOR ANY DIRECT, INDIREC
+ 40 ; PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MICROCHIP BE LIABLE FOR ANY DIRECT, INDIREC
+ T,
- 36 ; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO
- 37 ; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS
- 38 ; INTERRUPTION) HOWSOEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ST
+ 41 ; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO
+ 42 ; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS
+ 43 ; INTERRUPTION) HOWSOEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ST
+ RICT
- 39 ; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE U
+ 44 ; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE U
+ SE OF
- 40 ; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- 41 ;
- 42 ;
- 43 ; Code-generator required, PIC18F44K22 Definitions
- 44 ;
- 45 ; SFR Addresses
- 46 0000 _RCREG set 4014
- 47 0000 _TXREG set 4013
- 48 0000 _BAUDCONbits set 4024
- 49 0000 _SPBRG set 4015
- 50 0000 _RCSTAbits set 4011
- 51 0000 _TXSTAbits set 4012
- 52 0000 _RCIF set 31989
- 53 0000 _TXIF set 31988
- 54 0000 _TRISC6 set 31910
- 55 0000 _TRISC7 set 31911
- 56
- 57 ; #config settings
- 58 0000
- 59 psect cinit
- 60 003FE2 __pcinit:
- 61 opt stack 0
- 62 003FE2 start_initialization:
- 63 opt stack 0
- 64 003FE2 __initialization:
- 65 opt stack 0
- 66 003FE2 end_of_initialization:
- 67 opt stack 0
- 68 003FE2 __end_of__initialization:
- 69 opt stack 0
- 70 003FE2 0100 movlb 0
- 71 003FE4 EFEE F01F goto _main ;jump to C main() function
- 72
- 73 psect cstackCOMRAM
- 74 000000 __pcstackCOMRAM:
- 75 opt stack 0
- 76 000000
- 77 ; 1 bytes @ 0x0
- 78 ;;
- 79 ;;Main: autosize = 0, tempsize = 0, incstack = 0, save=0
- 80 ;;
- 81 ;; *************** function _main *****************
- 82 ;; Defined at:
- 83 ;; line 83 in file "main.c"
- 84 ;; Parameters: Size Location Type
- 85 ;; None
- 86 ;; Auto vars: Size Location Type
- 87 ;; None
- 88 ;; Return value: Size Location Type
- 89 ;; 1 wreg void
- 90 ;; Registers used:
- 91 ;; wreg, status,2, cstack
- 92 ;; Tracked objects:
- 93 ;; On entry : 0/0
- 94 ;; On exit : 0/0
- 95 ;; Unchanged: 0/0
- 96 ;; Data sizes: COMRAM BANK0 BANK1 BANK2
- 97 ;; Params: 0 0 0 0
- 98 ;; Locals: 0 0 0 0
- 99 ;; Temps: 0 0 0 0
- 100 ;; Totals: 0 0 0 0
- 101 ;;Total ram usage: 0 bytes
- 102 ;; Hardware stack levels required when called: 1
- 103 ;; This function calls:
- 104 ;; _eusart_init
- 105 ;; This function is called by:
- 106 ;; Startup code after reset
- 107 ;; This function uses a non-reentrant model
- 108 ;;
- 109
- 110 psect text0
- 111 003FDC __ptext0:
+ 45 ; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ 46 ;
+ 47 ;
+ 48 ; Code-generator required, PIC18F45K22 Definitions
+ 49 ;
+ 50 ; SFR Addresses
+ 51 0000 _RCREG set 4014
+ 52 0000 _TXREG set 4013
+ 53 0000 _BAUDCONbits set 4024
+ 54 0000 _SPBRG set 4015
+ 55 0000 _RCSTAbits set 4011
+ 56 0000 _TXSTAbits set 4012
+ 57 0000 _RCIF set 31989
+ 58 0000 _TXIF set 31988
+ 59 0000 _TRISC6 set 31910
+ 60 0000 _TRISC7 set 31911
+ 61
+ 62 ; #config settings
+ 63 0000
+ 64 psect cinit
+ 65 007E60 __pcinit:
+ 66 opt stack 0
+ 67 007E60 start_initialization:
+ 68 opt stack 0
+ 69 007E60 __initialization:
+ 70 opt stack 0
+ 71 007E60 end_of_initialization:
+ 72 opt stack 0
+ 73 007E60 __end_of__initialization:
+ 74 opt stack 0
+ 75 007E60 0100 movlb 0
+ 76 007E62 EF6A F03F goto _main ;jump to C main() function
+ 77
+ 78 psect cstackCOMRAM
+ 79 000001 __pcstackCOMRAM:
+ 80 opt stack 0
+ 81 000001 putch@c:
+ 82 opt stack 0
+ 83 000001 midi_set_status@pkt:
+ 84 opt stack 0
+ 85 000001 midi_set_channel@pkt:
+ 86 opt stack 0
+ 87
+ 88 ; 2 bytes @ 0x0
+ 89 000001 ds 1
+ 90 000002 eusart_write_midi@pkt:
+ 91 opt stack 0
+ 92
+ 93 ; 2 bytes @ 0x1
+ 94 000002 ds 1
+ 95 000003 midi_set_status@status:
+ 96 opt stack 0
+ 97 000003 midi_set_channel@channel:
+ 98 opt stack 0
+ 99
+ 100 ; 2 bytes @ 0x2
+ 101 000003 ds 1
+ 102 000004 ??_eusart_write_midi:
+ 103 000004 ??_midi_set_status:
+ 104
+ 105 ; 1 bytes @ 0x3
+ 106 000004 ds 1
+ 107 000005 ??_midi_set_channel:
+ 108
+ 109 ; 1 bytes @ 0x4
+ 110 000005 ds 1
+ 111 000006 eusart_write_midi@length:
112 opt stack 0
- 113 003FDC _main:
- 114 opt stack 30
+ 113 000006 midi_note_on@pkt:
+ 114 opt stack 0
115
- 116 ;main.c: 85: eusart_init();
- 117
- 118 ;incstack = 0
- 119 003FDC ECF4 F01F call _eusart_init ;wreg free
- 120 003FE0 l7:
- 121 003FE0 D7FF goto l7
- 122 003FE2 __end_of_main:
- 123 opt stack 0
- 124
- 125 ;; *************** function _eusart_init *****************
- 126 ;; Defined at:
- 127 ;; line 4 in file "rs232.c"
- 128 ;; Parameters: Size Location Type
- 129 ;; None
- 130 ;; Auto vars: Size Location Type
- 131 ;; None
- 132 ;; Return value: Size Location Type
- 133 ;; 1 wreg void
- 134 ;; Registers used:
- 135 ;; wreg, status,2
- 136 ;; Tracked objects:
- 137 ;; On entry : 0/0
- 138 ;; On exit : 0/0
- 139 ;; Unchanged: 0/0
- 140 ;; Data sizes: COMRAM BANK0 BANK1 BANK2
- 141 ;; Params: 0 0 0 0
- 142 ;; Locals: 0 0 0 0
- 143 ;; Temps: 0 0 0 0
- 144 ;; Totals: 0 0 0 0
- 145 ;;Total ram usage: 0 bytes
- 146 ;; Hardware stack levels used: 1
- 147 ;; This function calls:
- 148 ;; Nothing
- 149 ;; This function is called by:
- 150 ;; _main
- 151 ;; This function uses a non-reentrant model
- 152 ;;
- 153
- 154 psect text1
- 155 003FE8 __ptext1:
- 156 opt stack 0
- 157 003FE8 _eusart_init:
- 158 opt stack 30
- 159
- 160 ;rs232.c: 7: TXSTAbits.SYNC = 0;
- 161
- 162 ;incstack = 0
- 163 003FE8 98AC bcf 4012,4,c ;volatile
- 164
- 165 ;rs232.c: 8: TXSTAbits.TX9 = 0;
- 166 003FEA 9CAC bcf 4012,6,c ;volatile
- 167
- 168 ;rs232.c: 11: RCSTAbits.SPEN = 1;
- 169 003FEC 8EAB bsf 4011,7,c ;volatile
- 170
- 171 ;rs232.c: 12: SPBRG = 129;
- 172 003FEE 0E81 movlw 129
- 173 003FF0 6EAF movwf 4015,c ;volatile
- 174
- 175 ;rs232.c: 13: TXSTAbits.BRGH = 1;
- 176 003FF2 84AC bsf 4012,2,c ;volatile
- 177
- 178 ;rs232.c: 14: BAUDCONbits.BRG16 = 0;
- 179 003FF4 96B8 bcf 4024,3,c ;volatile
- 180
- 181 ;rs232.c: 17: TRISC7 = 1;
- 182 003FF6 8E94 bsf 3988,7,c ;volatile
- 183
- 184 ;rs232.c: 18: TRISC6 = 1;
- 185 003FF8 8C94 bsf 3988,6,c ;volatile
- 186
- 187 ;rs232.c: 19: RCSTAbits.CREN = 1;
- 188 003FFA 88AB bsf 4011,4,c ;volatile
- 189
- 190 ;rs232.c: 20: TXSTAbits.TXEN = 1;
- 191 003FFC 8AAC bsf 4012,5,c ;volatile
- 192 003FFE 0012 return ;funcret
- 193 004000 __end_of_eusart_init:
- 194 opt stack 0
- 195 0000
- 196 psect rparam
+ 116 ; 2 bytes @ 0x5
+ 117 000006 ds 2
+ 118 000008 eusart_write_midi@data:
+ 119 opt stack 0
+ 120 000008 midi_note_on@channel:
+ 121 opt stack 0
+ 122
+ 123 ; 2 bytes @ 0x7
+ 124 000008 ds 2
+ 125 00000A midi_note_on@note:
+ 126 opt stack 0
+ 127
+ 128 ; 1 bytes @ 0x9
+ 129 00000A ds 1
+ 130 00000B midi_note_on@velocity:
+ 131 opt stack 0
+ 132
+ 133 ; 1 bytes @ 0xA
+ 134 00000B ds 1
+ 135 00000C ??_midi_note_on:
+ 136
+ 137 ; 1 bytes @ 0xB
+ 138 00000C ds 2
+ 139 00000E main@sample_message:
+ 140 opt stack 0
+ 141
+ 142 ; 7 bytes @ 0xD
+ 143 00000E ds 7
+ 144
+ 145 ;;
+ 146 ;;Main: autosize = 0, tempsize = 0, incstack = 0, save=0
+ 147 ;;
+ 148 ;; *************** function _main *****************
+ 149 ;; Defined at:
+ 150 ;; line 105 in file "main.c"
+ 151 ;; Parameters: Size Location Type
+ 152 ;; None
+ 153 ;; Auto vars: Size Location Type
+ 154 ;; sample_messa 7 13[COMRAM] struct .
+ 155 ;; Return value: Size Location Type
+ 156 ;; 1 wreg void
+ 157 ;; Registers used:
+ 158 ;; wreg, fsr2l, fsr2h, status,2, status,0, cstack
+ 159 ;; Tracked objects:
+ 160 ;; On entry : 0/0
+ 161 ;; On exit : 0/0
+ 162 ;; Unchanged: 0/0
+ 163 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 164 ;; Params: 0 0 0 0 0 0 0
+ 165 ;; Locals: 7 0 0 0 0 0 0
+ 166 ;; Temps: 0 0 0 0 0 0 0
+ 167 ;; Totals: 7 0 0 0 0 0 0
+ 168 ;;Total ram usage: 7 bytes
+ 169 ;; Hardware stack levels required when called: 2
+ 170 ;; This function calls:
+ 171 ;; _eusart_init
+ 172 ;; _eusart_write_midi
+ 173 ;; _midi_note_on
+ 174 ;; This function is called by:
+ 175 ;; Startup code after reset
+ 176 ;; This function uses a non-reentrant model
+ 177 ;;
+ 178
+ 179 psect text0
+ 180 007ED4 __ptext0:
+ 181 opt stack 0
+ 182 007ED4 _main:
+ 183 opt stack 29
+ 184
+ 185 ;main.c: 107: midi_message_t sample_message;
+ 186 ;main.c: 108: midi_note_on(&sample_message, 0x0, 0x3C, 0x7F);
+ 187
+ 188 ;incstack = 0
+ 189 007ED4 0E0E movlw low main@sample_message
+ 190 007ED6 6E06 movwf midi_note_on@pkt,c
+ 191 007ED8 0E00 movlw high main@sample_message
+ 192 007EDA 6E07 movwf midi_note_on@pkt+1,c
+ 193 007EDC 0E00 movlw 0
+ 194 007EDE 6E09 movwf midi_note_on@channel+1,c
+ 195 007EE0 0E00 movlw 0
+ 196 007EE2 6E08 movwf midi_note_on@channel,c
+ 197 007EE4 0E3C movlw 60
+ 198 007EE6 6E0A movwf midi_note_on@note,c
+ 199 007EE8 0E7F movlw 127
+ 200 007EEA 6E0B movwf midi_note_on@velocity,c
+ 201 007EEC EC81 F03F call _midi_note_on ;wreg free
+ 202
+ 203 ;main.c: 110: eusart_init();
+ 204 007EF0 EC39 F03F call _eusart_init ;wreg free
+ 205 007EF4
+ 206 ;main.c: 114: eusart_write_midi(&sample_message);
+ 207 007EF4 0E0E movlw low main@sample_message
+ 208 007EF6 6E02 movwf eusart_write_midi@pkt,c
+ 209 007EF8 0E00 movlw high main@sample_message
+ 210 007EFA 6E03 movwf eusart_write_midi@pkt+1,c
+ 211 007EFC ECBC F03F call _eusart_write_midi ;wreg free
+ 212 007F00 D7F9 goto l19
+ 213 007F02 __end_of_main:
+ 214 opt stack 0
+ 215
+ 216 ;; *************** function _midi_note_on *****************
+ 217 ;; Defined at:
+ 218 ;; line 64 in file "midi.c"
+ 219 ;; Parameters: Size Location Type
+ 220 ;; pkt 2 5[COMRAM] PTR struct .
+ 221 ;; -> main@sample_message(7),
+ 222 ;; channel 2 7[COMRAM] unsigned int
+ 223 ;; note 1 9[COMRAM] enum E31
+ 224 ;; velocity 1 10[COMRAM] unsigned char
+ 225 ;; Auto vars: Size Location Type
+ 226 ;; None
+ 227 ;; Return value: Size Location Type
+ 228 ;; 2 5[COMRAM] int
+ 229 ;; Registers used:
+ 230 ;; wreg, fsr2l, fsr2h, status,2, status,0, cstack
+ 231 ;; Tracked objects:
+ 232 ;; On entry : 0/0
+ 233 ;; On exit : 0/0
+ 234 ;; Unchanged: 0/0
+ 235 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 236 ;; Params: 6 0 0 0 0 0 0
+ 237 ;; Locals: 0 0 0 0 0 0 0
+ 238 ;; Temps: 2 0 0 0 0 0 0
+ 239 ;; Totals: 8 0 0 0 0 0 0
+ 240 ;;Total ram usage: 8 bytes
+ 241 ;; Hardware stack levels used: 1
+ 242 ;; Hardware stack levels required when called: 1
+ 243 ;; This function calls:
+ 244 ;; _midi_set_channel
+ 245 ;; _midi_set_status
+ 246 ;; This function is called by:
+ 247 ;; _main
+ 248 ;; This function uses a non-reentrant model
+ 249 ;;
+ 250
+ 251 psect text1
+ 252 007F02 __ptext1:
+ 253 opt stack 0
+ 254 007F02 _midi_note_on:
+ 255 opt stack 29
+ 256
+ 257 ;midi.c: 66: if (pkt == (0)) {
+ 258
+ 259 ;incstack = 0
+ 260 007F02 5006 movf midi_note_on@pkt,w,c
+ 261 007F04 1007 iorwf midi_note_on@pkt+1,w,c
+ 262 007F06 B4D8 btfsc status,2,c
+ 263 007F08 0012 return
+ 264
+ 265 ;midi.c: 68: }
+ 266 ;midi.c: 70: midi_set_status(pkt, NOTE_ON);
+ 267
+ 268 ;midi.c: 67: return -1;
+ 269 ; Return value of _midi_note_on is never used
+ 270 007F0A C006 F001 movff midi_note_on@pkt,midi_set_status@pkt
+ 271 007F0E C007 F002 movff midi_note_on@pkt+1,midi_set_status@pkt+1
+ 272 007F12 0E08 movlw 8
+ 273 007F14 6E03 movwf midi_set_status@status,c
+ 274 007F16 EC45 F03F call _midi_set_status ;wreg free
+ 275
+ 276 ;midi.c: 71: midi_set_channel(pkt, channel);
+ 277 007F1A C006 F001 movff midi_note_on@pkt,midi_set_channel@pkt
+ 278 007F1E C007 F002 movff midi_note_on@pkt+1,midi_set_channel@pkt+1
+ 279 007F22 C008 F003 movff midi_note_on@channel,midi_set_channel@channel
+ 280 007F26 C009 F004 movff midi_note_on@channel+1,midi_set_channel@channel+1
+ 281 007F2A EC57 F03F call _midi_set_channel ;wreg free
+ 282
+ 283 ;midi.c: 73: if (pkt->data == (0)) {
+ 284 007F2E 0E03 movlw 3
+ 285 007F30 2406 addwf midi_note_on@pkt,w,c
+ 286 007F32 6E0C movwf ??_midi_note_on& (0+255),c
+ 287 007F34 0E00 movlw 0
+ 288 007F36 2007 addwfc midi_note_on@pkt+1,w,c
+ 289 007F38 6E0D movwf (??_midi_note_on+1)& (0+255),c
+ 290 007F3A 500C movf ??_midi_note_on,w,c
+ 291 007F3C 100D iorwf ??_midi_note_on+1,w,c
+ 292 007F3E B4D8 btfsc status,2,c
+ 293 007F40 0012 return
+ 294
+ 295 ;midi.c: 75: }
+ 296 ;midi.c: 77: pkt->data[0] = note;
+ 297
+ 298 ;midi.c: 74: return -2;
+ 299 ; Return value of _midi_note_on is never used
+ 300 007F42 EE20 F003 lfsr 2,3
+ 301 007F46 5006 movf midi_note_on@pkt,w,c
+ 302 007F48 26D9 addwf fsr2l,f,c
+ 303 007F4A 5007 movf midi_note_on@pkt+1,w,c
+ 304 007F4C 22DA addwfc fsr2h,f,c
+ 305 007F4E C00A FFDF movff midi_note_on@note,indf2
+ 306
+ 307 ;midi.c: 78: pkt->data[1] = velocity;
+ 308 007F52 EE20 F004 lfsr 2,4
+ 309 007F56 5006 movf midi_note_on@pkt,w,c
+ 310 007F58 26D9 addwf fsr2l,f,c
+ 311 007F5A 5007 movf midi_note_on@pkt+1,w,c
+ 312 007F5C 22DA addwfc fsr2h,f,c
+ 313 007F5E C00B FFDF movff midi_note_on@velocity,indf2
+ 314
+ 315 ;midi.c: 81: pkt->data_size = 2;
+ 316 007F62 EE20 F001 lfsr 2,1
+ 317 007F66 5006 movf midi_note_on@pkt,w,c
+ 318 007F68 26D9 addwf fsr2l,f,c
+ 319 007F6A 5007 movf midi_note_on@pkt+1,w,c
+ 320 007F6C 22DA addwfc fsr2h,f,c
+ 321 007F6E 0E02 movlw 2
+ 322 007F70 6EDE movwf postinc2,c
+ 323 007F72 0E00 movlw 0
+ 324 007F74 6EDD movwf postdec2,c
+ 325 007F76 0012 return
+ 326 007F78 __end_of_midi_note_on:
+ 327 opt stack 0
+ 328 indf2 equ 0xFDF
+ 329 postinc2 equ 0xFDE
+ 330 postdec2 equ 0xFDD
+ 331 fsr2h equ 0xFDA
+ 332 fsr2l equ 0xFD9
+ 333 status equ 0xFD8
+ 334
+ 335 ;; *************** function _midi_set_status *****************
+ 336 ;; Defined at:
+ 337 ;; line 42 in file "midi.c"
+ 338 ;; Parameters: Size Location Type
+ 339 ;; pkt 2 0[COMRAM] PTR struct .
+ 340 ;; -> main@sample_message(7),
+ 341 ;; status 1 2[COMRAM] enum E40
+ 342 ;; Auto vars: Size Location Type
+ 343 ;; None
+ 344 ;; Return value: Size Location Type
+ 345 ;; 2 0[COMRAM] int
+ 346 ;; Registers used:
+ 347 ;; wreg, fsr2l, fsr2h, status,2, status,0
+ 348 ;; Tracked objects:
+ 349 ;; On entry : 0/0
+ 350 ;; On exit : 0/0
+ 351 ;; Unchanged: 0/0
+ 352 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 353 ;; Params: 3 0 0 0 0 0 0
+ 354 ;; Locals: 0 0 0 0 0 0 0
+ 355 ;; Temps: 1 0 0 0 0 0 0
+ 356 ;; Totals: 4 0 0 0 0 0 0
+ 357 ;;Total ram usage: 4 bytes
+ 358 ;; Hardware stack levels used: 1
+ 359 ;; This function calls:
+ 360 ;; Nothing
+ 361 ;; This function is called by:
+ 362 ;; _midi_note_on
+ 363 ;; _midi_note_off
+ 364 ;; This function uses a non-reentrant model
+ 365 ;;
+ 366
+ 367 psect text2
+ 368 007E8A __ptext2:
+ 369 opt stack 0
+ 370 007E8A _midi_set_status:
+ 371 opt stack 29
+ 372
+ 373 ;midi.c: 44: if (pkt == (0)) {
+ 374
+ 375 ;incstack = 0
+ 376 007E8A 5001 movf midi_set_status@pkt,w,c
+ 377 007E8C 1002 iorwf midi_set_status@pkt+1,w,c
+ 378 007E8E B4D8 btfsc status,2,c
+ 379 007E90 0012 return
+ 380
+ 381 ;midi.c: 46: }
+ 382 ;midi.c: 48: pkt->status = status & 0x0F;
+ 383
+ 384 ;midi.c: 45: return -1;
+ 385 ; Return value of _midi_set_status is never used
+ 386 007E92 C003 F004 movff midi_set_status@status,??_midi_set_status
+ 387 007E96 0E0F movlw 15
+ 388 007E98 1604 andwf ??_midi_set_status,f,c
+ 389 007E9A C001 FFD9 movff midi_set_status@pkt,fsr2l
+ 390 007E9E C002 FFDA movff midi_set_status@pkt+1,fsr2h
+ 391 007EA2 50DF movf indf2,w,c
+ 392 007EA4 1804 xorwf ??_midi_set_status,w,c
+ 393 007EA6 0BF0 andlw -16
+ 394 007EA8 1804 xorwf ??_midi_set_status,w,c
+ 395 007EAA 6EDF movwf indf2,c
+ 396 007EAC 0012 return
+ 397 007EAE __end_of_midi_set_status:
+ 398 opt stack 0
+ 399 indf2 equ 0xFDF
+ 400 postinc2 equ 0xFDE
+ 401 postdec2 equ 0xFDD
+ 402 fsr2h equ 0xFDA
+ 403 fsr2l equ 0xFD9
+ 404 status equ 0xFD8
+ 405
+ 406 ;; *************** function _midi_set_channel *****************
+ 407 ;; Defined at:
+ 408 ;; line 53 in file "midi.c"
+ 409 ;; Parameters: Size Location Type
+ 410 ;; pkt 2 0[COMRAM] PTR struct .
+ 411 ;; -> main@sample_message(7),
+ 412 ;; channel 2 2[COMRAM] unsigned int
+ 413 ;; Auto vars: Size Location Type
+ 414 ;; None
+ 415 ;; Return value: Size Location Type
+ 416 ;; 2 0[COMRAM] int
+ 417 ;; Registers used:
+ 418 ;; wreg, fsr2l, fsr2h, status,2, status,0
+ 419 ;; Tracked objects:
+ 420 ;; On entry : 0/0
+ 421 ;; On exit : 0/0
+ 422 ;; Unchanged: 0/0
+ 423 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 424 ;; Params: 4 0 0 0 0 0 0
+ 425 ;; Locals: 0 0 0 0 0 0 0
+ 426 ;; Temps: 1 0 0 0 0 0 0
+ 427 ;; Totals: 5 0 0 0 0 0 0
+ 428 ;;Total ram usage: 5 bytes
+ 429 ;; Hardware stack levels used: 1
+ 430 ;; This function calls:
+ 431 ;; Nothing
+ 432 ;; This function is called by:
+ 433 ;; _midi_note_on
+ 434 ;; _midi_note_off
+ 435 ;; This function uses a non-reentrant model
+ 436 ;;
+ 437
+ 438 psect text3
+ 439 007EAE __ptext3:
+ 440 opt stack 0
+ 441 007EAE _midi_set_channel:
+ 442 opt stack 29
+ 443
+ 444 ;midi.c: 55: if (pkt == (0)) {
+ 445
+ 446 ;incstack = 0
+ 447 007EAE 5001 movf midi_set_channel@pkt,w,c
+ 448 007EB0 1002 iorwf midi_set_channel@pkt+1,w,c
+ 449 007EB2 B4D8 btfsc status,2,c
+ 450 007EB4 0012 return
+ 451
+ 452 ;midi.c: 57: }
+ 453 ;midi.c: 59: pkt->channel = channel & 0x0F;
+ 454
+ 455 ;midi.c: 56: return -1;
+ 456 ; Return value of _midi_set_channel is never used
+ 457 007EB6 C003 F005 movff midi_set_channel@channel,??_midi_set_channel
+ 458 007EBA 0E0F movlw 15
+ 459 007EBC 1605 andwf ??_midi_set_channel,f,c
+ 460 007EBE C001 FFD9 movff midi_set_channel@pkt,fsr2l
+ 461 007EC2 C002 FFDA movff midi_set_channel@pkt+1,fsr2h
+ 462 007EC6 3A05 swapf ??_midi_set_channel,f,c
+ 463 007EC8 50DF movf indf2,w,c
+ 464 007ECA 1805 xorwf ??_midi_set_channel,w,c
+ 465 007ECC 0B0F andlw -241
+ 466 007ECE 1805 xorwf ??_midi_set_channel,w,c
+ 467 007ED0 6EDF movwf indf2,c
+ 468 007ED2 0012 return
+ 469 007ED4 __end_of_midi_set_channel:
+ 470 opt stack 0
+ 471 indf2 equ 0xFDF
+ 472 postinc2 equ 0xFDE
+ 473 postdec2 equ 0xFDD
+ 474 fsr2h equ 0xFDA
+ 475 fsr2l equ 0xFD9
+ 476 status equ 0xFD8
+ 477
+ 478 ;; *************** function _eusart_write_midi *****************
+ 479 ;; Defined at:
+ 480 ;; line 81 in file "main.c"
+ 481 ;; Parameters: Size Location Type
+ 482 ;; pkt 2 1[COMRAM] PTR struct .
+ 483 ;; -> main@sample_message(7),
+ 484 ;; Auto vars: Size Location Type
+ 485 ;; data 2 7[COMRAM] PTR unsigned char
+ 486 ;; -> sample_message.data(4), main@sample_message(7),
+ 487 ;; length 2 5[COMRAM] unsigned int
+ 488 ;; Return value: Size Location Type
+ 489 ;; 2 1[COMRAM] int
+ 490 ;; Registers used:
+ 491 ;; wreg, fsr2l, fsr2h, status,2, status,0, cstack
+ 492 ;; Tracked objects:
+ 493 ;; On entry : 0/0
+ 494 ;; On exit : 0/0
+ 495 ;; Unchanged: 0/0
+ 496 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 497 ;; Params: 2 0 0 0 0 0 0
+ 498 ;; Locals: 4 0 0 0 0 0 0
+ 499 ;; Temps: 2 0 0 0 0 0 0
+ 500 ;; Totals: 8 0 0 0 0 0 0
+ 501 ;;Total ram usage: 8 bytes
+ 502 ;; Hardware stack levels used: 1
+ 503 ;; Hardware stack levels required when called: 1
+ 504 ;; This function calls:
+ 505 ;; _putch
+ 506 ;; This function is called by:
+ 507 ;; _main
+ 508 ;; This function uses a non-reentrant model
+ 509 ;;
+ 510
+ 511 psect text4
+ 512 007F78 __ptext4:
+ 513 opt stack 0
+ 514 007F78 _eusart_write_midi:
+ 515 opt stack 29
+ 516
+ 517 ;main.c: 83: if (pkt == (0)) {
+ 518
+ 519 ;incstack = 0
+ 520 007F78 5002 movf eusart_write_midi@pkt,w,c
+ 521 007F7A 1003 iorwf eusart_write_midi@pkt+1,w,c
+ 522 007F7C B4D8 btfsc status,2,c
+ 523 007F7E 0012 return
+ 524
+ 525 ;main.c: 85: }
+ 526 ;main.c: 87: if (pkt->data == (0)) {
+ 527
+ 528 ;main.c: 84: return -1;
+ 529 ; Return value of _eusart_write_midi is never used
+ 530 007F80 0E03 movlw 3
+ 531 007F82 2402 addwf eusart_write_midi@pkt,w,c
+ 532 007F84 6E04 movwf ??_eusart_write_midi& (0+255),c
+ 533 007F86 0E00 movlw 0
+ 534 007F88 2003 addwfc eusart_write_midi@pkt+1,w,c
+ 535 007F8A 6E05 movwf (??_eusart_write_midi+1)& (0+255),c
+ 536 007F8C 5004 movf ??_eusart_write_midi,w,c
+ 537 007F8E 1005 iorwf ??_eusart_write_midi+1,w,c
+ 538 007F90 B4D8 btfsc status,2,c
+ 539 007F92 0012 return
+ 540
+ 541 ;main.c: 89: }
+ 542 ;main.c: 91: size_t length = pkt->data_size;
+ 543
+ 544 ;main.c: 88: return -2;
+ 545 ; Return value of _eusart_write_midi is never used
+ 546 007F94 EE20 F001 lfsr 2,1
+ 547 007F98 5002 movf eusart_write_midi@pkt,w,c
+ 548 007F9A 26D9 addwf fsr2l,f,c
+ 549 007F9C 5003 movf eusart_write_midi@pkt+1,w,c
+ 550 007F9E 22DA addwfc fsr2h,f,c
+ 551 007FA0 CFDE F006 movff postinc2,eusart_write_midi@length
+ 552 007FA4 CFDD F007 movff postdec2,eusart_write_midi@length+1
+ 553
+ 554 ;main.c: 92: uint8_t *data = pkt->data;
+ 555 007FA8 0E03 movlw 3
+ 556 007FAA 2402 addwf eusart_write_midi@pkt,w,c
+ 557 007FAC 6E08 movwf eusart_write_midi@data,c
+ 558 007FAE 0E00 movlw 0
+ 559 007FB0 2003 addwfc eusart_write_midi@pkt+1,w,c
+ 560 007FB2 6E09 movwf eusart_write_midi@data+1,c
+ 561
+ 562 ;main.c: 94: putch((char)((pkt->status << 4) | pkt->channel));
+ 563 007FB4 C002 FFD9 movff eusart_write_midi@pkt,fsr2l
+ 564 007FB8 C003 FFDA movff eusart_write_midi@pkt+1,fsr2h
+ 565 007FBC 38DF swapf indf2,w,c
+ 566 007FBE 0B0F andlw 15
+ 567 007FC0 6E04 movwf ??_eusart_write_midi& (0+255),c
+ 568 007FC2 C002 FFD9 movff eusart_write_midi@pkt,fsr2l
+ 569 007FC6 C003 FFDA movff eusart_write_midi@pkt+1,fsr2h
+ 570 007FCA 50DF movf indf2,w,c
+ 571 007FCC 0B0F andlw 15
+ 572 007FCE 6E05 movwf (??_eusart_write_midi+1)& (0+255),c
+ 573 007FD0 3805 swapf ??_eusart_write_midi+1,w,c
+ 574 007FD2 0BF0 andlw 240
+ 575 007FD4 1004 iorwf ??_eusart_write_midi,w,c
+ 576 007FD6 EC33 F03F call _putch
+ 577
+ 578 ;main.c: 96: while (length--) {
+ 579 007FDA D009 goto l12
+ 580 007FDC l826:
+ 581
+ 582 ;main.c: 97: putch((char) *(data++));
+ 583 007FDC C008 FFD9 movff eusart_write_midi@data,fsr2l
+ 584 007FE0 C009 FFDA movff eusart_write_midi@data+1,fsr2h
+ 585 007FE4 50DF movf indf2,w,c
+ 586 007FE6 EC33 F03F call _putch
+ 587 007FEA 4A08 infsnz eusart_write_midi@data,f,c
+ 588 007FEC 2A09 incf eusart_write_midi@data+1,f,c
+ 589 007FEE l12:
+ 590 007FEE 0606 decf eusart_write_midi@length,f,c
+ 591 007FF0 A0D8 btfss status,0,c
+ 592 007FF2 0607 decf eusart_write_midi@length+1,f,c
+ 593 007FF4 2806 incf eusart_write_midi@length,w,c
+ 594 007FF6 E1F2 bnz l826
+ 595 007FF8 2807 incf eusart_write_midi@length+1,w,c
+ 596 007FFA B4D8 btfsc status,2,c
+ 597 007FFC 0012 return
+ 598 007FFE D7EE goto l13
+ 599 008000 __end_of_eusart_write_midi:
+ 600 opt stack 0
+ 601 indf2 equ 0xFDF
+ 602 postinc2 equ 0xFDE
+ 603 postdec2 equ 0xFDD
+ 604 fsr2h equ 0xFDA
+ 605 fsr2l equ 0xFD9
+ 606 status equ 0xFD8
+ 607
+ 608 ;; *************** function _putch *****************
+ 609 ;; Defined at:
+ 610 ;; line 23 in file "rs232.c"
+ 611 ;; Parameters: Size Location Type
+ 612 ;; c 1 wreg unsigned char
+ 613 ;; Auto vars: Size Location Type
+ 614 ;; c 1 0[COMRAM] unsigned char
+ 615 ;; Return value: Size Location Type
+ 616 ;; 1 wreg void
+ 617 ;; Registers used:
+ 618 ;; wreg
+ 619 ;; Tracked objects:
+ 620 ;; On entry : 0/0
+ 621 ;; On exit : 0/0
+ 622 ;; Unchanged: 0/0
+ 623 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 624 ;; Params: 0 0 0 0 0 0 0
+ 625 ;; Locals: 1 0 0 0 0 0 0
+ 626 ;; Temps: 0 0 0 0 0 0 0
+ 627 ;; Totals: 1 0 0 0 0 0 0
+ 628 ;;Total ram usage: 1 bytes
+ 629 ;; Hardware stack levels used: 1
+ 630 ;; This function calls:
+ 631 ;; Nothing
+ 632 ;; This function is called by:
+ 633 ;; _eusart_write_midi
+ 634 ;; _getche
+ 635 ;; This function uses a non-reentrant model
+ 636 ;;
+ 637
+ 638 psect text5
+ 639 007E66 __ptext5:
+ 640 opt stack 0
+ 641 007E66 _putch:
+ 642 opt stack 29
+ 643
+ 644 ;incstack = 0
+ 645 ;putch@c stored from wreg
+ 646 007E66 6E01 movwf putch@c,c
+ 647 007E68
+ 648 ;rs232.c: 25: while (!TXIF);
+ 649 007E68 A89E btfss 3998,4,c ;volatile
+ 650 007E6A D7FE goto l700
+ 651
+ 652 ;rs232.c: 26: TXREG = c;
+ 653 007E6C C001 FFAD movff putch@c,4013 ;volatile
+ 654 007E70 0012 return ;funcret
+ 655 007E72 __end_of_putch:
+ 656 opt stack 0
+ 657 indf2 equ 0xFDF
+ 658 postinc2 equ 0xFDE
+ 659 postdec2 equ 0xFDD
+ 660 fsr2h equ 0xFDA
+ 661 fsr2l equ 0xFD9
+ 662 status equ 0xFD8
+ 663
+ 664 ;; *************** function _eusart_init *****************
+ 665 ;; Defined at:
+ 666 ;; line 4 in file "rs232.c"
+ 667 ;; Parameters: Size Location Type
+ 668 ;; None
+ 669 ;; Auto vars: Size Location Type
+ 670 ;; None
+ 671 ;; Return value: Size Location Type
+ 672 ;; 1 wreg void
+ 673 ;; Registers used:
+ 674 ;; wreg, status,2
+ 675 ;; Tracked objects:
+ 676 ;; On entry : 0/0
+ 677 ;; On exit : 0/0
+ 678 ;; Unchanged: 0/0
+ 679 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
+ 680 ;; Params: 0 0 0 0 0 0 0
+ 681 ;; Locals: 0 0 0 0 0 0 0
+ 682 ;; Temps: 0 0 0 0 0 0 0
+ 683 ;; Totals: 0 0 0 0 0 0 0
+ 684 ;;Total ram usage: 0 bytes
+ 685 ;; Hardware stack levels used: 1
+ 686 ;; This function calls:
+ 687 ;; Nothing
+ 688 ;; This function is called by:
+ 689 ;; _main
+ 690 ;; This function uses a non-reentrant model
+ 691 ;;
+ 692
+ 693 psect text6
+ 694 007E72 __ptext6:
+ 695 opt stack 0
+ 696 007E72 _eusart_init:
+ 697 opt stack 30
+ 698
+ 699 ;rs232.c: 7: TXSTAbits.SYNC = 0;
+ 700
+ 701 ;incstack = 0
+ 702 007E72 98AC bcf 4012,4,c ;volatile
+ 703
+ 704 ;rs232.c: 8: TXSTAbits.TX9 = 0;
+ 705 007E74 9CAC bcf 4012,6,c ;volatile
+ 706
+ 707 ;rs232.c: 11: RCSTAbits.SPEN = 1;
+ 708 007E76 8EAB bsf 4011,7,c ;volatile
+ 709
+ 710 ;rs232.c: 12: SPBRG = 129;
+ 711 007E78 0E81 movlw 129
+ 712 007E7A 6EAF movwf 4015,c ;volatile
+ 713
+ 714 ;rs232.c: 13: TXSTAbits.BRGH = 1;
+ 715 007E7C 84AC bsf 4012,2,c ;volatile
+ 716
+ 717 ;rs232.c: 14: BAUDCONbits.BRG16 = 0;
+ 718 007E7E 96B8 bcf 4024,3,c ;volatile
+ 719
+ 720 ;rs232.c: 17: TRISC7 = 1;
+ 721 007E80 8E94 bsf 3988,7,c ;volatile
+ 722
+ 723 ;rs232.c: 18: TRISC6 = 1;
+ 724 007E82 8C94 bsf 3988,6,c ;volatile
+ 725
+ 726 ;rs232.c: 19: RCSTAbits.CREN = 1;
+ 727 007E84 88AB bsf 4011,4,c ;volatile
+ 728
+ 729 ;rs232.c: 20: TXSTAbits.TXEN = 1;
+ 730 007E86 8AAC bsf 4012,5,c ;volatile
+ 731 007E88 0012 return ;funcret
+ 732 007E8A __end_of_eusart_init:
+ 733 opt stack 0
+ 734 0000 indf2 equ 0xFDF
+ 735 postinc2 equ 0xFDE
+ 736 postdec2 equ 0xFDD
+ 737 fsr2h equ 0xFDA
+ 738 fsr2l equ 0xFD9
+ 739 status equ 0xFD8
+ 740 indf2 equ 0xFDF
+ 741 postinc2 equ 0xFDE
+ 742 postdec2 equ 0xFDD
+ 743 fsr2h equ 0xFDA
+ 744 fsr2l equ 0xFD9
+ 745 status equ 0xFD8
+ 746
+ 747 psect rparam
+ 748 0000 indf2 equ 0xFDF
+ 749 postinc2 equ 0xFDE
+ 750 postdec2 equ 0xFDD
+ 751 fsr2h equ 0xFDA
+ 752 fsr2l equ 0xFD9
+ 753 status equ 0xFD8
Data Sizes:
@@ -220,18 +777,37 @@ Data Sizes:
Auto Spaces:
Space Size Autos Used
- COMRAM 95 0 0
+ COMRAM 95 20 20
BANK0 160 0 0
BANK1 256 0 0
BANK2 256 0 0
+ BANK3 256 0 0
+ BANK4 256 0 0
+ BANK5 256 0 0
Pointer List with Targets:
- None.
+ midi_note_on@pkt PTR struct . size(2) Largest target is 7
+ -> main@sample_message(COMRAM[7]),
+
+ midi_set_channel@pkt PTR struct . size(2) Largest target is 7
+ -> main@sample_message(COMRAM[7]),
+
+ midi_set_status@pkt PTR struct . size(2) Largest target is 7
+ -> main@sample_message(COMRAM[7]),
+
+ eusart_write_midi@data PTR unsigned char size(2) Largest target is 7
+ -> sample_message.data(COMRAM[4]), main@sample_message(COMRAM[7]),
+
+ eusart_write_midi@pkt PTR struct . size(2) Largest target is 7
+ -> main@sample_message(COMRAM[7]),
+
Critical Paths under _main in COMRAM
- None.
+ _main->_midi_note_on
+ _midi_note_on->_midi_set_channel
+ _eusart_write_midi->_putch
Critical Paths under _main in BANK0
@@ -245,23 +821,61 @@ Critical Paths under _main in BANK2
None.
+Critical Paths under _main in BANK3
+
+ None.
+
+Critical Paths under _main in BANK4
+
+ None.
+
+Critical Paths under _main in BANK5
+
+ None.
+
Call Graph Tables:
---------------------------------------------------------------------------------
(Depth) Function Calls Base Space Used Autos Params Refs
---------------------------------------------------------------------------------
- (0) _main 0 0 0 0
+ (0) _main 7 7 0 1590
+ 13 COMRAM 7 7 0
_eusart_init
+ _eusart_write_midi
+ _midi_note_on
+ ---------------------------------------------------------------------------------
+ (1) _midi_note_on 8 2 6 1264
+ 5 COMRAM 8 2 6
+ _midi_set_channel
+ _midi_set_status
+ ---------------------------------------------------------------------------------
+ (2) _midi_set_status 4 1 3 370
+ 0 COMRAM 4 1 3
+ ---------------------------------------------------------------------------------
+ (2) _midi_set_channel 5 1 4 370
+ 0 COMRAM 5 1 4
+ ---------------------------------------------------------------------------------
+ (1) _eusart_write_midi 8 6 2 270
+ 1 COMRAM 8 6 2
+ _putch
+ ---------------------------------------------------------------------------------
+ (2) _putch 1 1 0 15
+ 0 COMRAM 1 1 0
---------------------------------------------------------------------------------
(1) _eusart_init 0 0 0 0
---------------------------------------------------------------------------------
- Estimated maximum stack depth 1
+ Estimated maximum stack depth 2
---------------------------------------------------------------------------------
Call Graph Graphs:
_main (ROOT)
_eusart_init
+ _eusart_write_midi
+ _putch
+ _midi_note_on
+ _midi_set_channel
+ _midi_set_status
Address spaces:
Name Size Autos Total Cost Usage
@@ -269,17 +883,23 @@ BITCOMRAM 5F 0 0 0 0.0%
EEDATA 100 0 0 0 0.0%
NULL 0 0 0 0 0.0%
CODE 0 0 0 0 0.0%
-COMRAM 5F 0 0 1 0.0%
+COMRAM 5F 14 14 1 21.1%
STACK 0 0 0 2 0.0%
BITBANK0 A0 0 0 3 0.0%
BANK0 A0 0 0 4 0.0%
-BANK1 100 0 0 5 0.0%
-BITBANK2 100 0 0 6 0.0%
-BANK2 100 0 0 7 0.0%
-ABS 0 0 0 8 0.0%
-BITBANK1 100 0 0 9 0.0%
-BIGRAM 2FF 0 0 10 0.0%
-DATA 0 0 0 11 0.0%
+BITBANK1 100 0 0 5 0.0%
+BANK1 100 0 0 6 0.0%
+BITBANK2 100 0 0 7 0.0%
+BANK2 100 0 0 8 0.0%
+ABS 0 0 0 9 0.0%
+BITBANK3 100 0 0 10 0.0%
+BANK3 100 0 0 11 0.0%
+BITBANK4 100 0 0 12 0.0%
+BANK4 100 0 0 13 0.0%
+BITBANK5 100 0 0 14 0.0%
+BANK5 100 0 0 15 0.0%
+BIGRAM 5FF 0 0 16 0.0%
+DATA 0 0 0 17 0.0%
BITSFR_1 0 0 0 200 0.0%
SFR_1 0 0 0 200 0.0%
BITSFR 0 0 0 200 0.0%
@@ -287,29 +907,47 @@ SFR 0 0 0 200 0.0%
Microchip Technology PIC18 Macro Assembler V1.44 build -154322312
-Symbol Table Mon Jan 08 09:28:26 2018
-
- l7 3FE0 __CFG_CP0$OFF 000000 __CFG_CP1$OFF 000000
- __CFG_LVP$ON 000000 __CFG_CPB$OFF 000000 __CFG_CPD$OFF 000000
- _RCIF 007CF5 _TXIF 007CF4 _main 3FDC
- __CFG_BORV$190 000000 start 0000 __CFG_IESO$OFF 000000
- ___param_bank 000000 ?_main 0000 __CFG_WDTEN$ON 000000
- _RCREG 000FAE _SPBRG 000FAF _TXREG 000FAD
- __CFG_WRT0$OFF 000000 __CFG_WRT1$OFF 000000 __CFG_EBTR0$OFF 000000
- __CFG_FCMEN$OFF 000000 __CFG_EBTR1$OFF 000000 __CFG_WRTB$OFF 000000
- __CFG_WRTC$OFF 000000 __CFG_WRTD$OFF 000000 __CFG_EBTRB$OFF 000000
- __CFG_MCLRE$EXTMCLR 000000 ?_eusart_init 0000 __CFG_HFOFST$ON 000000
- __CFG_PBADEN$ON 000000 __initialization 3FE2 __end_of_main 3FE2
- ??_main 0000 __activetblptr 000000 _TRISC6 007CA6
- _TRISC7 007CA7 __CFG_XINST$OFF 000000 __CFG_STVREN$ON 000000
- __accesstop 0060 __end_of__initialization 3FE2 ___rparam_used 000001
- __pcstackCOMRAM 0000 __CFG_PLLCFG$OFF 000000 __size_of_eusart_init 0018
- __CFG_CCP2MX$PORTC1 000000 __CFG_CCP3MX$PORTB5 000000 __CFG_PWRTEN$OFF 000000
- __Hparam 0000 __Lparam 0000 __pcinit 3FE2
- __ramtop 0300 __ptext0 3FDC __ptext1 3FE8
- end_of_initialization 3FE2 _RCSTAbits 000FAB _TXSTAbits 000FAC
- _BAUDCONbits 000FB8 start_initialization 3FE2 ??_eusart_init 0000
- __CFG_PRICLKEN$ON 000000 __end_of_eusart_init 4000 __CFG_WDTPS$32768 000000
- __Hrparam 0000 __Lrparam 0000 __CFG_BOREN$SBORDIS 000000
- __CFG_P2BMX$PORTD2 000000 _eusart_init 3FE8 __size_of_main 0006
- __CFG_T3CMX$PORTC0 000000 __CFG_FOSC$ECHPIO6 000000
+Symbol Table Thu Feb 01 17:09:31 2018
+
+ l12 7FEE l13 7FDC l19 7EF4
+ __CFG_CP0$OFF 000000 __CFG_CP1$OFF 000000 __CFG_LVP$ON 000000
+ l700 7E68 l826 7FDC __CFG_CPB$OFF 000000
+ __CFG_CPD$OFF 000000 _RCIF 007CF5 _TXIF 007CF4
+ _main 7ED4 midi_note_on@channel 0008 fsr2h 000FDA
+ indf2 000FDF fsr2l 000FD9 __CFG_BORV$190 000000
+ start 0000 __CFG_IESO$OFF 000000 midi_note_on@pkt 0006
+ ___param_bank 000000 ?_main 0001 __CFG_WDTEN$ON 000000
+ _RCREG 000FAE _SPBRG 000FAF _TXREG 000FAD
+ __CFG_WRT0$OFF 000000 __CFG_WRT1$OFF 000000 __CFG_EBTR0$OFF 000000
+ __CFG_FCMEN$OFF 000000 __CFG_EBTR1$OFF 000000 __CFG_WRTB$OFF 000000
+ __CFG_WRTC$OFF 000000 __CFG_WRTD$OFF 000000 __CFG_EBTRB$OFF 000000
+ __CFG_MCLRE$EXTMCLR 000000 ?_eusart_init 0001 _putch 7E66
+ _eusart_write_midi 7F78 __end_of_midi_set_status 7EAE status 000FD8
+ __CFG_HFOFST$ON 000000 ?_eusart_write_midi 0002 __CFG_PBADEN$ON 000000
+ eusart_write_midi@length 0006 __initialization 7E60 midi_note_on@note 000A
+ __end_of_main 7F02 ??_eusart_write_midi 0004 midi_note_on@velocity 000B
+ ??_main 000E ?_midi_note_on 0006 __activetblptr 000000
+ __end_of_eusart_write_midi 8000 ?_putch 0001 _TRISC6 007CA6
+ _TRISC7 007CA7 __CFG_XINST$OFF 000000 __CFG_STVREN$ON 000000
+ __end_of_midi_set_channel 7ED4 midi_set_status@status 0003 ??_midi_note_on 000C
+ putch@c 0001 __accesstop 0060 __end_of__initialization 7E60
+ ?_midi_set_status 0001 ___rparam_used 000001 __pcstackCOMRAM 0001
+ __end_of_putch 7E72 __size_of_eusart_write_midi 0088 ??_putch 0001
+ __CFG_PLLCFG$OFF 000000 __size_of_eusart_init 0018 __CFG_CCP2MX$PORTC1 000000
+ __CFG_CCP3MX$PORTB5 000000 __end_of_midi_note_on 7F78 eusart_write_midi@pkt 0002
+ __CFG_PWRTEN$OFF 000000 __Hparam 0000 __Lparam 0000
+ __pcinit 7E60 __ramtop 0600 __ptext0 7ED4
+ __ptext1 7F02 __ptext2 7E8A __ptext3 7EAE
+ __ptext4 7F78 __ptext5 7E66 __ptext6 7E72
+ end_of_initialization 7E60 _RCSTAbits 000FAB postdec2 000FDD
+ postinc2 000FDE ?_midi_set_channel 0001 ??_midi_set_channel 0005
+ _TXSTAbits 000FAC midi_set_channel@channel 0003 _BAUDCONbits 000FB8
+ start_initialization 7E60 __size_of_midi_note_on 0076 __size_of_midi_set_status 0024
+ _midi_note_on 7F02 ??_eusart_init 0001 midi_set_status@pkt 0001
+ __CFG_PRICLKEN$ON 000000 main@sample_message 000E __size_of_putch 000C
+ __end_of_eusart_init 7E8A __CFG_WDTPS$32768 000000 ??_midi_set_status 0004
+ __size_of_midi_set_channel 0026 eusart_write_midi@data 0008 __Hrparam 0000
+ __Lrparam 0000 __CFG_BOREN$SBORDIS 000000 __CFG_P2BMX$PORTD2 000000
+ _eusart_init 7E72 __size_of_main 002E midi_set_channel@pkt 0001
+ __CFG_T3CMX$PORTC0 000000 __CFG_FOSC$ECHPIO6 000000 _midi_set_channel 7EAE
+ _midi_set_status 7E8A