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.lst2211
1 files changed, 0 insertions, 2211 deletions
diff --git a/src/dist/default/production/src.production.lst b/src/dist/default/production/src.production.lst
deleted file mode 100644
index e52a54b..0000000
--- a/src/dist/default/production/src.production.lst
+++ /dev/null
@@ -1,2211 +0,0 @@
-
-
-Microchip Technology PIC18 LITE Macro Assembler V1.44 build -154322312
- Fri Mar 02 09:57:11 2018
-
-Microchip Technology Omniscient Code Generator v1.44 (Free mode) build 201709140600
- 1 processor 18F45K22
- 2 fnconf rparam,??,?,0
- 3 opt pw 120
- 4 opt lm
- 5 psect smallconst,global,reloc=2,class=SMALLCONST,delta=1,noexec
- 6 psect cinit,global,reloc=2,class=CODE,delta=1
- 7 psect bssBANK0,global,class=BANK0,space=1,delta=1,lowdata,noexec
- 8 psect cstackBANK0,global,class=BANK0,space=1,delta=1,noexec
- 9 psect cstackCOMRAM,global,class=COMRAM,space=1,delta=1,noexec
- 10 psect text0,global,reloc=2,class=CODE,delta=1
- 11 psect text1,global,reloc=2,class=CODE,delta=1
- 12 psect text2,global,reloc=2,class=CODE,delta=1
- 13 psect text3,global,reloc=2,class=CODE,delta=1
- 14 psect text4,global,reloc=2,class=CODE,delta=1,group=1
- 15 psect text5,global,reloc=2,class=CODE,delta=1,inline
- 16 psect text6,global,reloc=2,class=CODE,delta=1
- 17 psect text7,global,reloc=2,class=CODE,delta=1
- 18 psect text8,global,reloc=2,class=CODE,delta=1
- 19 psect text9,global,reloc=2,class=CODE,delta=1
- 20 psect intcode,global,reloc=2,class=CODE,delta=1
- 21 psect intsave_regs,global,class=BIGRAM,space=1,delta=1,noexec
- 22 psect rparam,global,class=COMRAM,space=1,delta=1,noexec
- 23 psect temp,global,ovrld,common,class=COMRAM,space=1,delta=1
- 24 0000
- 25 ; Version 1.44
- 26 ; Generated 14/09/2017 GMT
- 27 ;
- 28 ; Copyright © 2017, Microchip Technology Inc. and its subsidiaries ("Microchip")
- 29 ; All rights reserved.
- 30 ;
- 31 ; This software is developed by Microchip Technology Inc. and its subsidiaries ("Microch
- + ip").
- 32 ;
- 33 ; Redistribution and use in source and binary forms, with or without modification, are
- 34 ; permitted provided that the following conditions are met:
- 35 ;
- 36 ; 1. Redistributions of source code must retain the above copyright notice, this lis
- + t of
- 37 ; conditions and the following disclaimer.
- 38 ;
- 39 ; 2. Redistributions in binary form must reproduce the above copyright notice, this
- + list
- 40 ; of conditions and the following disclaimer in the documentation and/or other
- 41 ; materials provided with the distribution.
- 42 ;
- 43 ; 3. Microchip's name may not be used to endorse or promote products derived from th
- + is
- 44 ; software without specific prior written permission.
- 45 ;
- 46 ; THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- 47 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS F
- + OR
- 48 ; PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MICROCHIP BE LIABLE FOR ANY DIRECT, INDIREC
- + T,
- 49 ; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO
- 50 ; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS
- 51 ; INTERRUPTION) HOWSOEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ST
- + RICT
- 52 ; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE U
- + SE OF
- 53 ; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- 54 ;
- 55 ;
- 56 ; Code-generator required, PIC18F45K22 Definitions
- 57 ;
- 58 ; SFR Addresses
- 59 0000
- 60 psect smallconst
- 61 000600 __psmallconst:
- 62 opt stack 0
- 63 000600 00 db 0
- 64 000601 _midi_notes_steps_table:
- 65 opt stack 0
- 66 000601 0024 dw 36
- 67 000603 0026 dw 38
- 68 000605 0028 dw 40
- 69 000607 0029 dw 41
- 70 000609 002B dw 43
- 71 00060B 002D dw 45
- 72 00060D 002F dw 47
- 73 00060F 0030 dw 48
- 74 000611 0032 dw 50
- 75 000613 0034 dw 52
- 76 000615 0035 dw 53
- 77 000617 0037 dw 55
- 78 000619 0039 dw 57
- 79 00061B 003E dw 62
- 80 00061D 003C dw 60
- 81 00061F 003B dw 59
- 82 000621 0040 dw 64
- 83 000623 0041 dw 65
- 84 000625 0043 dw 67
- 85 000627 0045 dw 69
- 86 000629 0047 dw 71
- 87 00062B __end_of_midi_notes_steps_table:
- 88 opt stack 0
- 89 0000 _ANSELD set 3899
- 90 0000 _ANSELC set 3898
- 91 0000 _ANSELB set 3897
- 92 0000 _ANSELA set 3896
- 93 0000 _RC1REG set 4014
- 94 0000 _TX2REG set 3955
- 95 0000 _TX1REG set 4013
- 96 0000 _TRISDbits set 3989
- 97 0000 _BAUDCON2bits set 3952
- 98 0000 _SPBRGH2 set 3958
- 99 0000 _SPBRG2 set 3957
- 100 0000 _RCSTA2bits set 3953
- 101 0000 _TXSTA2bits set 3954
- 102 0000 _TRISCbits set 3988
- 103 0000 _BAUDCON1bits set 4024
- 104 0000 _SPBRGH1 set 4016
- 105 0000 _SPBRG1 set 4015
- 106 0000 _RCSTA1bits set 4011
- 107 0000 _TXSTA1bits set 4012
- 108 0000 _PIE1bits set 3997
- 109 0000 _T2CONbits set 4026
- 110 0000 _PR2 set 4027
- 111 0000 _TRISB set 3987
- 112 0000 _TRISA set 3986
- 113 0000 _OSCCONbits set 4051
- 114 0000 _OSCTUNEbits set 3995
- 115 0000 _INTCONbits set 4082
- 116 0000 _PORTB set 3969
- 117 0000 _PORTA set 3968
- 118 0000 _PIR1bits set 3998
- 119 0000 _RC1IF set 31989
- 120 0000 _TX2IF set 32036
- 121 0000 _TX1IF set 31988
- 122
- 123 ; #config settings
- 124 00062B 00 db 0 ; dummy byte at the end
- 125 0000
- 126 psect cinit
- 127 000938 __pcinit:
- 128 opt stack 0
- 129 000938 start_initialization:
- 130 opt stack 0
- 131 000938 __initialization:
- 132 opt stack 0
- 133
- 134 ; Clear objects allocated to BANK0 (66 bytes)
- 135 000938 EE00 F060 lfsr 0,__pbssBANK0
- 136 00093C 0E42 movlw 66
- 137 00093E clear_0:
- 138 00093E 6AEE clrf postinc0,c
- 139 000940 06E8 decf wreg,f,c
- 140 000942 E1FD bnz clear_0
- 141 000944 end_of_initialization:
- 142 opt stack 0
- 143 000944 __end_of__initialization:
- 144 opt stack 0
- 145 000944 9035 bcf int$flags,0,c ;clear compiler interrupt flag (level 1)
- 146 000946 9235 bcf int$flags,1,c ;clear compiler interrupt flag (level 2)
- 147 000948 0E00 movlw low (__Lmediumconst shr (0+16))
- 148 00094A 6EF8 movwf tblptru,c
- 149 00094C 0100 movlb 0
- 150 00094E EF16 F003 goto _main ;jump to C main() function
- 151 tblptru equ 0xFF8
- 152 postinc0 equ 0xFEE
- 153 wreg equ 0xFE8
- 154
- 155 psect bssBANK0
- 156 000060 __pbssBANK0:
- 157 opt stack 0
- 158 000060 _keypresses:
- 159 opt stack 0
- 160 000060 ds 2
- 161 000062 _keys_data:
- 162 opt stack 0
- 163 000062 ds 64
- 164 tblptru equ 0xFF8
- 165 postinc0 equ 0xFEE
- 166 wreg equ 0xFE8
- 167
- 168 psect cstackBANK0
- 169 0000A2 __pcstackBANK0:
- 170 opt stack 0
- 171 0000A2 ??_main:
- 172
- 173 ; 1 bytes @ 0x0
- 174 0000A2 ds 5
- 175 0000A7 main@conf_message:
- 176 opt stack 0
- 177
- 178 ; 7 bytes @ 0x5
- 179 0000A7 ds 7
- 180 0000AE main@i:
- 181 opt stack 0
- 182
- 183 ; 2 bytes @ 0xC
- 184 0000AE ds 2
- 185 0000B0 main@message:
- 186 opt stack 0
- 187
- 188 ; 7 bytes @ 0xE
- 189 0000B0 ds 7
- 190 tblptru equ 0xFF8
- 191 postinc0 equ 0xFEE
- 192 wreg equ 0xFE8
- 193
- 194 psect cstackCOMRAM
- 195 000001 __pcstackCOMRAM:
- 196 opt stack 0
- 197 000001 ??_isr:
- 198 000001
- 199 ; 1 bytes @ 0x0
- 200 000001 ds 36
- 201 000025 isr@data_a:
- 202 opt stack 0
- 203
- 204 ; 1 bytes @ 0x24
- 205 000025 ds 1
- 206 000026 isr@data_b:
- 207 opt stack 0
- 208
- 209 ; 1 bytes @ 0x25
- 210 000026 ds 1
- 211 000027 _isr$304:
- 212 opt stack 0
- 213
- 214 ; 1 bytes @ 0x26
- 215 000027 ds 1
- 216 000028 _isr$305:
- 217 opt stack 0
- 218
- 219 ; 1 bytes @ 0x27
- 220 000028 ds 1
- 221 000029 isr@i:
- 222 opt stack 0
- 223
- 224 ; 1 bytes @ 0x28
- 225 000029 ds 1
- 226 00002A eusart2_putch@c:
- 227 opt stack 0
- 228 00002A midi_set_status@pkt:
- 229 opt stack 0
- 230 00002A midi_set_channel@pkt:
- 231 opt stack 0
- 232 00002A memset@p1:
- 233 opt stack 0
- 234
- 235 ; 2 bytes @ 0x29
- 236 00002A ds 1
- 237 00002B eusart_write_midi@pkt:
- 238 opt stack 0
- 239
- 240 ; 2 bytes @ 0x2A
- 241 00002B ds 1
- 242 00002C midi_set_status@status:
- 243 opt stack 0
- 244 00002C midi_set_channel@channel:
- 245 opt stack 0
- 246 00002C memset@c:
- 247 opt stack 0
- 248
- 249 ; 2 bytes @ 0x2B
- 250 00002C ds 1
- 251 00002D ??_eusart_write_midi:
- 252 00002D ??_midi_set_status:
- 253
- 254 ; 1 bytes @ 0x2C
- 255 00002D ds 1
- 256 00002E ??_midi_set_channel:
- 257 00002E memset@n:
- 258 opt stack 0
- 259
- 260 ; 2 bytes @ 0x2D
- 261 00002E ds 1
- 262 00002F eusart_write_midi@length:
- 263 opt stack 0
- 264 00002F midi_note_on@pkt:
- 265 opt stack 0
- 266
- 267 ; 2 bytes @ 0x2E
- 268 00002F ds 1
- 269 000030 memset@p:
- 270 opt stack 0
- 271
- 272 ; 2 bytes @ 0x2F
- 273 000030 ds 1
- 274 000031 eusart_write_midi@data:
- 275 opt stack 0
- 276 000031 midi_note_on@channel:
- 277 opt stack 0
- 278
- 279 ; 2 bytes @ 0x30
- 280 000031 ds 2
- 281 000033 midi_note_on@note:
- 282 opt stack 0
- 283
- 284 ; 1 bytes @ 0x32
- 285 000033 ds 1
- 286 000034 midi_note_on@velocity:
- 287 opt stack 0
- 288
- 289 ; 1 bytes @ 0x33
- 290 000034 ds 1
- 291 000035 tblptru equ 0xFF8
- 292 postinc0 equ 0xFEE
- 293 wreg equ 0xFE8
- 294
- 295 ; 1 bytes @ 0x34
- 296 ;;
- 297 ;;Main: autosize = 0, tempsize = 5, incstack = 0, save=0
- 298 ;;
- 299 ;; *************** function _main *****************
- 300 ;; Defined at:
- 301 ;; line 221 in file "main.c"
- 302 ;; Parameters: Size Location Type
- 303 ;; None
- 304 ;; Auto vars: Size Location Type
- 305 ;; message 7 14[BANK0 ] struct .
- 306 ;; conf_message 7 5[BANK0 ] struct .
- 307 ;; i 2 12[BANK0 ] unsigned int
- 308 ;; Return value: Size Location Type
- 309 ;; 1 wreg void
- 310 ;; Registers used:
- 311 ;; wreg, fsr2l, fsr2h, status,2, status,0, tblptrl, tblptrh, tblptru, cstack
- 312 ;; Tracked objects:
- 313 ;; On entry : 0/0
- 314 ;; On exit : 0/0
- 315 ;; Unchanged: 0/0
- 316 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
- 317 ;; Params: 0 0 0 0 0 0 0
- 318 ;; Locals: 0 16 0 0 0 0 0
- 319 ;; Temps: 0 5 0 0 0 0 0
- 320 ;; Totals: 0 21 0 0 0 0 0
- 321 ;;Total ram usage: 21 bytes
- 322 ;; Hardware stack levels required when called: 3
- 323 ;; This function calls:
- 324 ;; _eusart_write_midi
- 325 ;; _init_hw
- 326 ;; _memset
- 327 ;; _midi_note_on
- 328 ;; This function is called by:
- 329 ;; Startup code after reset
- 330 ;; This function uses a non-reentrant model
- 331 ;;
- 332
- 333 psect text0
- 334 00062C __ptext0:
- 335 opt stack 0
- 336 00062C _main:
- 337 opt stack 28
- 338
- 339 ;main.c: 223: unsigned i;
- 340 ;main.c: 224: midi_message_t conf_message, message;
- 341 ;main.c: 227: init_hw();
- 342
- 343 ;incstack = 0
- 344 00062C EC1C F004 call _init_hw ;wreg free
- 345
- 346 ;main.c: 230: memset(keys_data, 0, sizeof(keys_data));
- 347 000630 0E62 movlw low _keys_data
- 348 000632 6E2A movwf memset@p1,c
- 349 000634 0E00 movlw high _keys_data
- 350 000636 6E2B movwf memset@p1+1,c
- 351 000638 0E00 movlw 0
- 352 00063A 6E2D movwf memset@c+1,c
- 353 00063C 0E00 movlw 0
- 354 00063E 6E2C movwf memset@c,c
- 355 000640 0E00 movlw 0
- 356 000642 6E2F movwf memset@n+1,c
- 357 000644 0E40 movlw 64
- 358 000646 6E2E movwf memset@n,c
- 359 000648 EC45 F004 call _memset ;wreg free
- 360
- 361 ;main.c: 232: (INTCONbits.GIE = 1);
- 362 00064C 8EF2 bsf intcon,7,c ;volatile
- 363
- 364 ;main.c: 239: conf_message.status = PROGRAM_CHANGE;
- 365 00064E 0100 movlb 0 ; () banked
- 366 000650 51A7 movf main@conf_message& (0+255),w,b
- 367 000652 0BF0 andlw -16
- 368 000654 090C iorlw 12
- 369 000656 6FA7 movwf main@conf_message& (0+255),b
- 370
- 371 ; BSR set to: 0
- 372 ;main.c: 240: conf_message.channel = 0;
- 373 000658 99A7 bcf main@conf_message& (0+255),4,b
- 374 00065A 9BA7 bcf main@conf_message& (0+255),5,b
- 375 00065C 9DA7 bcf main@conf_message& (0+255),6,b
- 376 00065E 9FA7 bcf main@conf_message& (0+255),7,b
- 377
- 378 ; BSR set to: 0
- 379 ;main.c: 241: conf_message.data[0] = 9;
- 380 000660 0E09 movlw 9
- 381 000662 6FAA movwf (main@conf_message+3)& (0+255),b
- 382
- 383 ; BSR set to: 0
- 384 ;main.c: 242: conf_message.data_size = 1;
- 385 000664 0E00 movlw 0
- 386 000666 6FA9 movwf (main@conf_message+2)& (0+255),b
- 387 000668 0E01 movlw 1
- 388 00066A 6FA8 movwf (main@conf_message+1)& (0+255),b
- 389
- 390 ; BSR set to: 0
- 391 ;main.c: 244: midi_note_on(&message, 0, midi_notes_steps_table[0], 127);
- 392 00066C 0EB0 movlw low main@message
- 393 00066E 6E2F movwf midi_note_on@pkt,c
- 394 000670 0E00 movlw high main@message
- 395 000672 6E30 movwf midi_note_on@pkt+1,c
- 396 000674 0E00 movlw 0
- 397 000676 6E32 movwf midi_note_on@channel+1,c
- 398 000678 0E00 movlw 0
- 399 00067A 6E31 movwf midi_note_on@channel,c
- 400 00067C 0E01 movlw low _midi_notes_steps_table
- 401 00067E 6EF6 movwf tblptrl,c
- 402 000680 if 1 ;There is more than 1 active tblptr byte
- 403 000680 0E06 movlw high _midi_notes_steps_table
- 404 000682 6EF7 movwf tblptrh,c
- 405 000684 endif
- 406 000684 if 0 ;There are less than 3 active tblptr bytes
- 407 000684 endif
- 408 000684 0008 tblrd *
- 409 000686 CFF5 F033 movff tablat,midi_note_on@note
- 410 00068A 0E7F movlw 127
- 411 00068C 6E34 movwf midi_note_on@velocity,c
- 412 00068E ECEB F003 call _midi_note_on ;wreg free
- 413
- 414 ;main.c: 246: _delay((unsigned long)((500)*(64000000/4000.0)));
- 415 000692 0E29 movlw 41
- 416 000694 0100 movlb 0 ; () banked
- 417 000696 6FA3 movwf (??_main+1)& (0+255),b
- 418 000698 0E96 movlw 150
- 419 00069A 6FA2 movwf ??_main& (0+255),b
- 420 00069C 0E7F movlw 127
- 421 00069E u497:
- 422 00069E 2EE8 decfsz wreg,f,c
- 423 0006A0 D7FE bra u497
- 424 0006A2 2FA2 decfsz ??_main& (0+255),f,b
- 425 0006A4 D7FC bra u497
- 426 0006A6 2FA3 decfsz (??_main+1)& (0+255),f,b
- 427 0006A8 D7FA bra u497
- 428
- 429 ;main.c: 247: eusart_write_midi(&conf_message);
- 430 0006AA 0EA7 movlw low main@conf_message
- 431 0006AC 6E2B movwf eusart_write_midi@pkt,c
- 432 0006AE 0E00 movlw high main@conf_message
- 433 0006B0 6E2C movwf eusart_write_midi@pkt+1,c
- 434 0006B2 ECB1 F003 call _eusart_write_midi ;wreg free
- 435 0006B6 l1158:
- 436
- 437 ;main.c: 252: for (i = 0; i < 16; i++) {
- 438 0006B6 0E00 movlw 0
- 439 0006B8 0100 movlb 0 ; () banked
- 440 0006BA 6FAF movwf (main@i+1)& (0+255),b
- 441 0006BC 0E00 movlw 0
- 442 0006BE 6FAE movwf main@i& (0+255),b
- 443 0006C0 l1160:
- 444
- 445 ; BSR set to: 0
- 446 0006C0 51AF movf (main@i+1)& (0+255),w,b
- 447 0006C2 E1F9 bnz l1158
- 448 0006C4 0E10 movlw 16
- 449 0006C6 5DAE subwf main@i& (0+255),w,b
- 450 0006C8 B0D8 btfsc status,0,c
- 451 0006CA D7F5 goto l70
- 452
- 453 ; BSR set to: 0
- 454 ;main.c: 253: if (keypresses & (1<<i)) {
- 455
- 456 ; BSR set to: 0
- 457
- 458 ; BSR set to: 0
- 459 0006CC C0AE F0A2 movff main@i,??_main
- 460 0006D0 0E01 movlw 1
- 461 0006D2 6FA3 movwf (??_main+1)& (0+255),b
- 462 0006D4 0E00 movlw 0
- 463 0006D6 6FA4 movwf (??_main+2)& (0+255),b
- 464 0006D8 2BA2 incf ??_main& (0+255),f,b
- 465 0006DA D003 goto u444
- 466 0006DC u445:
- 467 0006DC 90D8 bcf status,0,c
- 468 0006DE 37A3 rlcf (??_main+1)& (0+255),f,b
- 469 0006E0 37A4 rlcf (??_main+2)& (0+255),f,b
- 470 0006E2 u444:
- 471 0006E2 2FA2 decfsz ??_main& (0+255),f,b
- 472 0006E4 D7FB goto u445
- 473 0006E6 0100 movlb 0 ; () banked
- 474 0006E8 5160 movf _keypresses& (0+255),w,b ;volatile
- 475 0006EA 17A3 andwf (??_main+1)& (0+255),f,b
- 476 0006EC 5161 movf (_keypresses+1)& (0+255),w,b ;volatile
- 477 0006EE 17A4 andwf (??_main+2)& (0+255),f,b
- 478 0006F0 51A3 movf (??_main+1)& (0+255),w,b
- 479 0006F2 11A4 iorwf (??_main+2)& (0+255),w,b
- 480 0006F4 B4D8 btfsc status,2,c
- 481 0006F6 D032 goto l73
- 482
- 483 ; BSR set to: 0
- 484 ;main.c: 256: message.data[0] = midi_notes_steps_table[i];
- 485 0006F8 90D8 bcf status,0,c
- 486 0006FA 35AE rlcf main@i& (0+255),w,b
- 487 0006FC 6EF6 movwf tblptrl,c
- 488 0006FE 35AF rlcf (main@i+1)& (0+255),w,b
- 489 000700 6EF7 movwf tblptrh,c
- 490 000702 0E01 movlw low _midi_notes_steps_table
- 491 000704 26F6 addwf tblptrl,f,c
- 492 000706 0E06 movlw high _midi_notes_steps_table
- 493 000708 22F7 addwfc tblptrh,f,c
- 494 00070A if 0 ;There are less than 3 active tblptr bytes
- 495 00070A endif
- 496 00070A 0008 tblrd *
- 497 00070C CFF5 F0B3 movff tablat,main@message+3
- 498
- 499 ; BSR set to: 0
- 500 ;main.c: 259: eusart_write_midi(&message);
- 501 000710 0EB0 movlw low main@message
- 502 000712 6E2B movwf eusart_write_midi@pkt,c
- 503 000714 0E00 movlw high main@message
- 504 000716 6E2C movwf eusart_write_midi@pkt+1,c
- 505 000718 ECB1 F003 call _eusart_write_midi ;wreg free
- 506
- 507 ;main.c: 266: _delay((unsigned long)((10)*(64000000/4000.0)));
- 508 00071C 0ED0 movlw 208
- 509 00071E 0100 movlb 0 ; () banked
- 510 000720 6FA2 movwf ??_main& (0+255),b
- 511 000722 0EC9 movlw 201
- 512 000724 u507:
- 513 000724 2EE8 decfsz wreg,f,c
- 514 000726 D7FE bra u507
- 515 000728 2FA2 decfsz ??_main& (0+255),f,b
- 516 00072A D7FC bra u507
- 517 00072C D000 nop2
- 518
- 519 ;main.c: 269: keypresses &= ~(1<<i);
- 520 00072E C0AE F0A2 movff main@i,??_main
- 521 000732 0E01 movlw 1
- 522 000734 0100 movlb 0 ; () banked
- 523 000736 6FA3 movwf (??_main+1)& (0+255),b
- 524 000738 0E00 movlw 0
- 525 00073A 6FA4 movwf (??_main+2)& (0+255),b
- 526 00073C 2BA2 incf ??_main& (0+255),f,b
- 527 00073E D003 goto u464
- 528 000740 u465:
- 529 000740 90D8 bcf status,0,c
- 530 000742 37A3 rlcf (??_main+1)& (0+255),f,b
- 531 000744 37A4 rlcf (??_main+2)& (0+255),f,b
- 532 000746 u464:
- 533 000746 2FA2 decfsz ??_main& (0+255),f,b
- 534 000748 D7FB goto u465
- 535 00074A 0100 movlb 0 ; () banked
- 536 00074C 1DA3 comf (??_main+1)& (0+255),w,b
- 537 00074E 6FA5 movwf (??_main+3)& (0+255),b
- 538 000750 1DA4 comf (??_main+2)& (0+255),w,b
- 539 000752 6FA6 movwf (??_main+4)& (0+255),b
- 540 000754 51A5 movf (??_main+3)& (0+255),w,b
- 541 000756 1760 andwf _keypresses& (0+255),f,b ;volatile
- 542 000758 51A6 movf (??_main+4)& (0+255),w,b
- 543 00075A 1761 andwf (_keypresses+1)& (0+255),f,b ;volatile
- 544 00075C l73:
- 545
- 546 ; BSR set to: 0
- 547
- 548 ; BSR set to: 0
- 549 00075C 4BAE infsnz main@i& (0+255),f,b
- 550 00075E 2BAF incf (main@i+1)& (0+255),f,b
- 551 000760 D7AF goto l1160
- 552 000762 __end_of_main:
- 553 opt stack 0
- 554 tblptru equ 0xFF8
- 555 tblptrh equ 0xFF7
- 556 tblptrl equ 0xFF6
- 557 tablat equ 0xFF5
- 558 intcon equ 0xFF2
- 559 postinc0 equ 0xFEE
- 560 wreg equ 0xFE8
- 561 status equ 0xFD8
- 562
- 563 ;; *************** function _midi_note_on *****************
- 564 ;; Defined at:
- 565 ;; line 62 in file "midi.c"
- 566 ;; Parameters: Size Location Type
- 567 ;; pkt 2 46[COMRAM] PTR struct .
- 568 ;; -> main@message(7),
- 569 ;; channel 2 48[COMRAM] unsigned int
- 570 ;; note 1 50[COMRAM] enum E31
- 571 ;; velocity 1 51[COMRAM] unsigned char
- 572 ;; Auto vars: Size Location Type
- 573 ;; None
- 574 ;; Return value: Size Location Type
- 575 ;; 2 46[COMRAM] int
- 576 ;; Registers used:
- 577 ;; wreg, fsr2l, fsr2h, status,2, status,0, cstack
- 578 ;; Tracked objects:
- 579 ;; On entry : 0/0
- 580 ;; On exit : 0/0
- 581 ;; Unchanged: 0/0
- 582 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
- 583 ;; Params: 6 0 0 0 0 0 0
- 584 ;; Locals: 0 0 0 0 0 0 0
- 585 ;; Temps: 0 0 0 0 0 0 0
- 586 ;; Totals: 6 0 0 0 0 0 0
- 587 ;;Total ram usage: 6 bytes
- 588 ;; Hardware stack levels used: 1
- 589 ;; Hardware stack levels required when called: 2
- 590 ;; This function calls:
- 591 ;; _midi_set_channel
- 592 ;; _midi_set_status
- 593 ;; This function is called by:
- 594 ;; _main
- 595 ;; This function uses a non-reentrant model
- 596 ;;
- 597
- 598 psect text1
- 599 0007D6 __ptext1:
- 600 opt stack 0
- 601 0007D6 _midi_note_on:
- 602 opt stack 28
- 603
- 604 ;midi.c: 64: if (pkt == (0)) {
- 605
- 606 ; BSR set to: 0
- 607 ;incstack = 0
- 608 0007D6 502F movf midi_note_on@pkt,w,c
- 609 0007D8 1030 iorwf midi_note_on@pkt+1,w,c
- 610 0007DA B4D8 btfsc status,2,c
- 611 0007DC 0012 return
- 612
- 613 ;midi.c: 66: }
- 614 ;midi.c: 74: midi_set_status(pkt, NOTE_ON);
- 615
- 616 ;midi.c: 65: return -1;
- 617 ; Return value of _midi_note_on is never used
- 618 0007DE C02F F02A movff midi_note_on@pkt,midi_set_status@pkt
- 619 0007E2 C030 F02B movff midi_note_on@pkt+1,midi_set_status@pkt+1
- 620 0007E6 0E09 movlw 9
- 621 0007E8 6E2C movwf midi_set_status@status,c
- 622 0007EA EC6E F004 call _midi_set_status ;wreg free
- 623
- 624 ;midi.c: 75: midi_set_channel(pkt, channel);
- 625 0007EE C02F F02A movff midi_note_on@pkt,midi_set_channel@pkt
- 626 0007F2 C030 F02B movff midi_note_on@pkt+1,midi_set_channel@pkt+1
- 627 0007F6 C031 F02C movff midi_note_on@channel,midi_set_channel@channel
- 628 0007FA C032 F02D movff midi_note_on@channel+1,midi_set_channel@channel+1
- 629 0007FE EC5B F004 call _midi_set_channel ;wreg free
- 630
- 631 ;midi.c: 77: pkt->data[0] = note;
- 632 000802 EE20 F003 lfsr 2,3
- 633 000806 502F movf midi_note_on@pkt,w,c
- 634 000808 26D9 addwf fsr2l,f,c
- 635 00080A 5030 movf midi_note_on@pkt+1,w,c
- 636 00080C 22DA addwfc fsr2h,f,c
- 637 00080E C033 FFDF movff midi_note_on@note,indf2
- 638
- 639 ;midi.c: 78: pkt->data[1] = velocity;
- 640 000812 EE20 F004 lfsr 2,4
- 641 000816 502F movf midi_note_on@pkt,w,c
- 642 000818 26D9 addwf fsr2l,f,c
- 643 00081A 5030 movf midi_note_on@pkt+1,w,c
- 644 00081C 22DA addwfc fsr2h,f,c
- 645 00081E C034 FFDF movff midi_note_on@velocity,indf2
- 646
- 647 ;midi.c: 81: pkt->data_size = 2;
- 648 000822 EE20 F001 lfsr 2,1
- 649 000826 502F movf midi_note_on@pkt,w,c
- 650 000828 26D9 addwf fsr2l,f,c
- 651 00082A 5030 movf midi_note_on@pkt+1,w,c
- 652 00082C 22DA addwfc fsr2h,f,c
- 653 00082E 0E02 movlw 2
- 654 000830 6EDE movwf postinc2,c
- 655 000832 0E00 movlw 0
- 656 000834 6EDD movwf postdec2,c
- 657 000836 0012 return
- 658 000838 __end_of_midi_note_on:
- 659 opt stack 0
- 660 tblptru equ 0xFF8
- 661 tblptrh equ 0xFF7
- 662 tblptrl equ 0xFF6
- 663 tablat equ 0xFF5
- 664 intcon equ 0xFF2
- 665 postinc0 equ 0xFEE
- 666 wreg equ 0xFE8
- 667 indf2 equ 0xFDF
- 668 postinc2 equ 0xFDE
- 669 postdec2 equ 0xFDD
- 670 fsr2h equ 0xFDA
- 671 fsr2l equ 0xFD9
- 672 status equ 0xFD8
- 673
- 674 ;; *************** function _midi_set_status *****************
- 675 ;; Defined at:
- 676 ;; line 40 in file "midi.c"
- 677 ;; Parameters: Size Location Type
- 678 ;; pkt 2 41[COMRAM] PTR struct .
- 679 ;; -> main@message(7),
- 680 ;; status 1 43[COMRAM] enum E40
- 681 ;; Auto vars: Size Location Type
- 682 ;; None
- 683 ;; Return value: Size Location Type
- 684 ;; 2 41[COMRAM] int
- 685 ;; Registers used:
- 686 ;; wreg, fsr2l, fsr2h, status,2, status,0
- 687 ;; Tracked objects:
- 688 ;; On entry : 0/0
- 689 ;; On exit : 0/0
- 690 ;; Unchanged: 0/0
- 691 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
- 692 ;; Params: 3 0 0 0 0 0 0
- 693 ;; Locals: 0 0 0 0 0 0 0
- 694 ;; Temps: 1 0 0 0 0 0 0
- 695 ;; Totals: 4 0 0 0 0 0 0
- 696 ;;Total ram usage: 4 bytes
- 697 ;; Hardware stack levels used: 1
- 698 ;; Hardware stack levels required when called: 1
- 699 ;; This function calls:
- 700 ;; Nothing
- 701 ;; This function is called by:
- 702 ;; _midi_note_on
- 703 ;; _midi_note_off
- 704 ;; This function uses a non-reentrant model
- 705 ;;
- 706
- 707 psect text2
- 708 0008DC __ptext2:
- 709 opt stack 0
- 710 0008DC _midi_set_status:
- 711 opt stack 28
- 712
- 713 ;midi.c: 42: if (pkt == (0)) {
- 714
- 715 ;incstack = 0
- 716 0008DC 502A movf midi_set_status@pkt,w,c
- 717 0008DE 102B iorwf midi_set_status@pkt+1,w,c
- 718 0008E0 B4D8 btfsc status,2,c
- 719 0008E2 0012 return
- 720
- 721 ;midi.c: 44: }
- 722 ;midi.c: 46: pkt->status = status & 0x0F;
- 723
- 724 ;midi.c: 43: return -1;
- 725 ; Return value of _midi_set_status is never used
- 726 0008E4 C02C F02D movff midi_set_status@status,??_midi_set_status
- 727 0008E8 0E0F movlw 15
- 728 0008EA 162D andwf ??_midi_set_status,f,c
- 729 0008EC C02A FFD9 movff midi_set_status@pkt,fsr2l
- 730 0008F0 C02B FFDA movff midi_set_status@pkt+1,fsr2h
- 731 0008F4 50DF movf indf2,w,c
- 732 0008F6 182D xorwf ??_midi_set_status,w,c
- 733 0008F8 0BF0 andlw -16
- 734 0008FA 182D xorwf ??_midi_set_status,w,c
- 735 0008FC 6EDF movwf indf2,c
- 736 0008FE 0012 return
- 737 000900 __end_of_midi_set_status:
- 738 opt stack 0
- 739 tblptru equ 0xFF8
- 740 tblptrh equ 0xFF7
- 741 tblptrl equ 0xFF6
- 742 tablat equ 0xFF5
- 743 intcon equ 0xFF2
- 744 postinc0 equ 0xFEE
- 745 wreg equ 0xFE8
- 746 indf2 equ 0xFDF
- 747 postinc2 equ 0xFDE
- 748 postdec2 equ 0xFDD
- 749 fsr2h equ 0xFDA
- 750 fsr2l equ 0xFD9
- 751 status equ 0xFD8
- 752
- 753 ;; *************** function _midi_set_channel *****************
- 754 ;; Defined at:
- 755 ;; line 51 in file "midi.c"
- 756 ;; Parameters: Size Location Type
- 757 ;; pkt 2 41[COMRAM] PTR struct .
- 758 ;; -> main@message(7),
- 759 ;; channel 2 43[COMRAM] unsigned int
- 760 ;; Auto vars: Size Location Type
- 761 ;; None
- 762 ;; Return value: Size Location Type
- 763 ;; 2 41[COMRAM] int
- 764 ;; Registers used:
- 765 ;; wreg, fsr2l, fsr2h, status,2, status,0
- 766 ;; Tracked objects:
- 767 ;; On entry : 0/0
- 768 ;; On exit : 0/0
- 769 ;; Unchanged: 0/0
- 770 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
- 771 ;; Params: 4 0 0 0 0 0 0
- 772 ;; Locals: 0 0 0 0 0 0 0
- 773 ;; Temps: 1 0 0 0 0 0 0
- 774 ;; Totals: 5 0 0 0 0 0 0
- 775 ;;Total ram usage: 5 bytes
- 776 ;; Hardware stack levels used: 1
- 777 ;; Hardware stack levels required when called: 1
- 778 ;; This function calls:
- 779 ;; Nothing
- 780 ;; This function is called by:
- 781 ;; _midi_note_on
- 782 ;; _midi_note_off
- 783 ;; This function uses a non-reentrant model
- 784 ;;
- 785
- 786 psect text3
- 787 0008B6 __ptext3:
- 788 opt stack 0
- 789 0008B6 _midi_set_channel:
- 790 opt stack 28
- 791
- 792 ;midi.c: 53: if (pkt == (0)) {
- 793
- 794 ;incstack = 0
- 795 0008B6 502A movf midi_set_channel@pkt,w,c
- 796 0008B8 102B iorwf midi_set_channel@pkt+1,w,c
- 797 0008BA B4D8 btfsc status,2,c
- 798 0008BC 0012 return
- 799
- 800 ;midi.c: 55: }
- 801 ;midi.c: 57: pkt->channel = channel & 0x0F;
- 802
- 803 ;midi.c: 54: return -1;
- 804 ; Return value of _midi_set_channel is never used
- 805 0008BE C02C F02E movff midi_set_channel@channel,??_midi_set_channel
- 806 0008C2 0E0F movlw 15
- 807 0008C4 162E andwf ??_midi_set_channel,f,c
- 808 0008C6 C02A FFD9 movff midi_set_channel@pkt,fsr2l
- 809 0008CA C02B FFDA movff midi_set_channel@pkt+1,fsr2h
- 810 0008CE 3A2E swapf ??_midi_set_channel,f,c
- 811 0008D0 50DF movf indf2,w,c
- 812 0008D2 182E xorwf ??_midi_set_channel,w,c
- 813 0008D4 0B0F andlw -241
- 814 0008D6 182E xorwf ??_midi_set_channel,w,c
- 815 0008D8 6EDF movwf indf2,c
- 816 0008DA 0012 return
- 817 0008DC __end_of_midi_set_channel:
- 818 opt stack 0
- 819 tblptru equ 0xFF8
- 820 tblptrh equ 0xFF7
- 821 tblptrl equ 0xFF6
- 822 tablat equ 0xFF5
- 823 intcon equ 0xFF2
- 824 postinc0 equ 0xFEE
- 825 wreg equ 0xFE8
- 826 indf2 equ 0xFDF
- 827 postinc2 equ 0xFDE
- 828 postdec2 equ 0xFDD
- 829 fsr2h equ 0xFDA
- 830 fsr2l equ 0xFD9
- 831 status equ 0xFD8
- 832
- 833 ;; *************** function _memset *****************
- 834 ;; Defined at:
- 835 ;; line 8 in file "C:\Program Files\Microchip\xc8\v1.44\sources\common\memset.c"
- 836 ;; Parameters: Size Location Type
- 837 ;; p1 2 41[COMRAM] PTR void
- 838 ;; -> keys_data(64),
- 839 ;; c 2 43[COMRAM] int
- 840 ;; n 2 45[COMRAM] unsigned int
- 841 ;; Auto vars: Size Location Type
- 842 ;; p 2 47[COMRAM] PTR unsigned char
- 843 ;; -> keys_data(64),
- 844 ;; Return value: Size Location Type
- 845 ;; 2 41[COMRAM] PTR void
- 846 ;; Registers used:
- 847 ;; wreg, fsr2l, fsr2h, status,2, status,0
- 848 ;; Tracked objects:
- 849 ;; On entry : 0/0
- 850 ;; On exit : 0/0
- 851 ;; Unchanged: 0/0
- 852 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
- 853 ;; Params: 6 0 0 0 0 0 0
- 854 ;; Locals: 2 0 0 0 0 0 0
- 855 ;; Temps: 0 0 0 0 0 0 0
- 856 ;; Totals: 8 0 0 0 0 0 0
- 857 ;;Total ram usage: 8 bytes
- 858 ;; Hardware stack levels used: 1
- 859 ;; Hardware stack levels required when called: 1
- 860 ;; This function calls:
- 861 ;; Nothing
- 862 ;; This function is called by:
- 863 ;; _main
- 864 ;; This function uses a non-reentrant model
- 865 ;;
- 866
- 867 psect text4
- 868 00088A __ptext4:
- 869 opt stack 0
- 870 00088A _memset:
- 871 opt stack 29
- 872
- 873 ;incstack = 0
- 874 00088A C02A F030 movff memset@p1,memset@p
- 875 00088E C02B F031 movff memset@p1+1,memset@p+1
- 876 000892 D008 goto l592
- 877 000894 l1070:
- 878 000894 C030 FFD9 movff memset@p,fsr2l
- 879 000898 C031 FFDA movff memset@p+1,fsr2h
- 880 00089C C02C FFDF movff memset@c,indf2
- 881 0008A0 4A30 infsnz memset@p,f,c
- 882 0008A2 2A31 incf memset@p+1,f,c
- 883 0008A4 l592:
- 884 0008A4 062E decf memset@n,f,c
- 885 0008A6 A0D8 btfss status,0,c
- 886 0008A8 062F decf memset@n+1,f,c
- 887 0008AA 282E incf memset@n,w,c
- 888 0008AC E1F3 bnz l1070
- 889 0008AE 282F incf memset@n+1,w,c
- 890 0008B0 B4D8 btfsc status,2,c
- 891 0008B2 0012 return
- 892 0008B4 D7EF goto l593
- 893 0008B6 __end_of_memset:
- 894 opt stack 0
- 895 tblptru equ 0xFF8
- 896 tblptrh equ 0xFF7
- 897 tblptrl equ 0xFF6
- 898 tablat equ 0xFF5
- 899 intcon equ 0xFF2
- 900 postinc0 equ 0xFEE
- 901 wreg equ 0xFE8
- 902 indf2 equ 0xFDF
- 903 postinc2 equ 0xFDE
- 904 postdec2 equ 0xFDD
- 905 fsr2h equ 0xFDA
- 906 fsr2l equ 0xFD9
- 907 status equ 0xFD8
- 908
- 909 ;; *************** function _init_hw *****************
- 910 ;; Defined at:
- 911 ;; line 156 in file "main.c"
- 912 ;; Parameters: Size Location Type
- 913 ;; None
- 914 ;; Auto vars: Size Location Type
- 915 ;; None
- 916 ;; Return value: Size Location Type
- 917 ;; 1 wreg void
- 918 ;; Registers used:
- 919 ;; wreg, status,2, cstack
- 920 ;; Tracked objects:
- 921 ;; On entry : 0/0
- 922 ;; On exit : 0/0
- 923 ;; Unchanged: 0/0
- 924 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
- 925 ;; Params: 0 0 0 0 0 0 0
- 926 ;; Locals: 0 0 0 0 0 0 0
- 927 ;; Temps: 0 0 0 0 0 0 0
- 928 ;; Totals: 0 0 0 0 0 0 0
- 929 ;;Total ram usage: 0 bytes
- 930 ;; Hardware stack levels used: 1
- 931 ;; Hardware stack levels required when called: 2
- 932 ;; This function calls:
- 933 ;; _eusart1_init
- 934 ;; _eusart2_init
- 935 ;; This function is called by:
- 936 ;; _main
- 937 ;; This function uses a non-reentrant model
- 938 ;;
- 939
- 940 psect text5
- 941 000838 __ptext5:
- 942 opt stack 0
- 943 000838 _init_hw:
- 944 opt stack 28
- 945
- 946 ;main.c: 158: (INTCONbits.GIE = 0);
- 947
- 948 ;incstack = 0
- 949 000838 9EF2 bcf intcon,7,c ;volatile
- 950
- 951 ;main.c: 162: OSCTUNEbits.PLLEN = 1;
- 952 00083A 8C9B bsf 3995,6,c ;volatile
- 953
- 954 ;main.c: 164: OSCTUNEbits.TUN = 0b011111;
- 955 00083C 809B bsf 3995,0,c ;volatile
- 956 00083E 829B bsf 3995,1,c ;volatile
- 957 000840 849B bsf 3995,2,c ;volatile
- 958 000842 869B bsf 3995,3,c ;volatile
- 959 000844 889B bsf 3995,4,c ;volatile
- 960 000846 9A9B bcf 3995,5,c ;volatile
- 961
- 962 ;main.c: 166: OSCCONbits.IRCF = 0b111;
- 963 000848 88D3 bsf 4051,4,c ;volatile
- 964 00084A 8AD3 bsf 4051,5,c ;volatile
- 965 00084C 8CD3 bsf 4051,6,c ;volatile
- 966
- 967 ;main.c: 168: OSCCONbits.SCS = 0b00;
- 968 00084E 0EFC movlw -4
- 969 000850 16D3 andwf 4051,f,c ;volatile
- 970
- 971 ;main.c: 172: ANSELA = 0x00;
- 972 000852 0E00 movlw 0
- 973 000854 010F movlb 15 ; () banked
- 974 000856 6F38 movwf 56,b ;volatile
- 975
- 976 ;main.c: 173: ANSELB = 0x00;
- 977 000858 0E00 movlw 0
- 978 00085A 6F39 movwf 57,b ;volatile
- 979
- 980 ;main.c: 174: ANSELC = 0x00;
- 981 00085C 0E00 movlw 0
- 982 00085E 6F3A movwf 58,b ;volatile
- 983
- 984 ;main.c: 175: ANSELD = 0x00;
- 985 000860 0E00 movlw 0
- 986 000862 6F3B movwf 59,b ;volatile
- 987
- 988 ; BSR set to: 15
- 989 ;main.c: 178: TRISA = 0xFF;
- 990 000864 6892 setf 3986,c ;volatile
- 991
- 992 ; BSR set to: 15
- 993 ;main.c: 179: TRISB = 0xFF;
- 994 000866 6893 setf 3987,c ;volatile
- 995
- 996 ;main.c: 199: PR2 = 128;
- 997 000868 0E80 movlw 128
- 998 00086A 6EBB movwf 4027,c ;volatile
- 999
- 1000 ;main.c: 201: T2CONbits.T2OUTPS = 0b0001;
- 1001 00086C 50BA movf 4026,w,c ;volatile
- 1002 00086E 0B87 andlw -121
- 1003 000870 0908 iorlw 8
- 1004 000872 6EBA movwf 4026,c ;volatile
- 1005
- 1006 ;main.c: 203: T2CONbits.T2CKPS = 0b11;
- 1007 000874 0E03 movlw 3
- 1008 000876 12BA iorwf 4026,f,c ;volatile
- 1009
- 1010 ; BSR set to: 15
- 1011 ;main.c: 205: T2CONbits.TMR2ON = 1;
- 1012 000878 84BA bsf 4026,2,c ;volatile
- 1013
- 1014 ; BSR set to: 15
- 1015 ;main.c: 208: PIE1bits.TMR2IE = 1;
- 1016 00087A 829D bsf 3997,1,c ;volatile
- 1017
- 1018 ; BSR set to: 15
- 1019 ;main.c: 209: PIR1bits.TMR2IF = 0;
- 1020 00087C 929E bcf 3998,1,c ;volatile
- 1021
- 1022 ; BSR set to: 15
- 1023 ;main.c: 212: INTCONbits.PEIE = 1;
- 1024 00087E 8CF2 bsf intcon,6,c ;volatile
- 1025
- 1026 ; BSR set to: 15
- 1027 ;main.c: 215: eusart1_init();
- 1028 000880 EC8E F004 call _eusart1_init ;wreg free
- 1029
- 1030 ;main.c: 216: eusart2_init();
- 1031 000884 EC80 F004 call _eusart2_init ;wreg free
- 1032 000888 0012 return ;funcret
- 1033 00088A __end_of_init_hw:
- 1034 opt stack 0
- 1035 tblptru equ 0xFF8
- 1036 tblptrh equ 0xFF7
- 1037 tblptrl equ 0xFF6
- 1038 tablat equ 0xFF5
- 1039 intcon equ 0xFF2
- 1040 postinc0 equ 0xFEE
- 1041 wreg equ 0xFE8
- 1042 indf2 equ 0xFDF
- 1043 postinc2 equ 0xFDE
- 1044 postdec2 equ 0xFDD
- 1045 fsr2h equ 0xFDA
- 1046 fsr2l equ 0xFD9
- 1047 status equ 0xFD8
- 1048
- 1049 ;; *************** function _eusart2_init *****************
- 1050 ;; Defined at:
- 1051 ;; line 25 in file "rs232.c"
- 1052 ;; Parameters: Size Location Type
- 1053 ;; None
- 1054 ;; Auto vars: Size Location Type
- 1055 ;; None
- 1056 ;; Return value: Size Location Type
- 1057 ;; 1 wreg void
- 1058 ;; Registers used:
- 1059 ;; wreg, status,2
- 1060 ;; Tracked objects:
- 1061 ;; On entry : 0/0
- 1062 ;; On exit : 0/0
- 1063 ;; Unchanged: 0/0
- 1064 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
- 1065 ;; Params: 0 0 0 0 0 0 0
- 1066 ;; Locals: 0 0 0 0 0 0 0
- 1067 ;; Temps: 0 0 0 0 0 0 0
- 1068 ;; Totals: 0 0 0 0 0 0 0
- 1069 ;;Total ram usage: 0 bytes
- 1070 ;; Hardware stack levels used: 1
- 1071 ;; Hardware stack levels required when called: 1
- 1072 ;; This function calls:
- 1073 ;; Nothing
- 1074 ;; This function is called by:
- 1075 ;; _init_hw
- 1076 ;; This function uses a non-reentrant model
- 1077 ;;
- 1078
- 1079 psect text6
- 1080 000900 __ptext6:
- 1081 opt stack 0
- 1082 000900 _eusart2_init:
- 1083 opt stack 28
- 1084
- 1085 ;rs232.c: 28: TXSTA2bits.SYNC = 0;
- 1086
- 1087 ;incstack = 0
- 1088 000900 9872 bcf 3954,4,c ;volatile
- 1089
- 1090 ;rs232.c: 29: TXSTA2bits.TX9 = 0;
- 1091 000902 9C72 bcf 3954,6,c ;volatile
- 1092
- 1093 ;rs232.c: 32: RCSTA2bits.SPEN = 1;
- 1094 000904 8E71 bsf 3953,7,c ;volatile
- 1095
- 1096 ;rs232.c: 33: SPBRG2 = 31;
- 1097 000906 0E1F movlw 31
- 1098 000908 6E75 movwf 3957,c ;volatile
- 1099
- 1100 ;rs232.c: 35: SPBRGH2 = 0;
- 1101 00090A 0E00 movlw 0
- 1102 00090C 6E76 movwf 3958,c ;volatile
- 1103
- 1104 ;rs232.c: 36: TXSTA2bits.BRGH = 0;
- 1105 00090E 9472 bcf 3954,2,c ;volatile
- 1106
- 1107 ;rs232.c: 37: BAUDCON2bits.BRG16 = 0;
- 1108 000910 9670 bcf 3952,3,c ;volatile
- 1109
- 1110 ;rs232.c: 40: TRISDbits.TRISD7 = 1;
- 1111 000912 8E95 bsf 3989,7,c ;volatile
- 1112
- 1113 ;rs232.c: 41: TRISDbits.TRISD6 = 1;
- 1114 000914 8C95 bsf 3989,6,c ;volatile
- 1115
- 1116 ;rs232.c: 43: RCSTA2bits.CREN = 1;
- 1117 000916 8871 bsf 3953,4,c ;volatile
- 1118
- 1119 ;rs232.c: 44: TXSTA2bits.TXEN = 1;
- 1120 000918 8A72 bsf 3954,5,c ;volatile
- 1121 00091A 0012 return ;funcret
- 1122 00091C __end_of_eusart2_init:
- 1123 opt stack 0
- 1124 tblptru equ 0xFF8
- 1125 tblptrh equ 0xFF7
- 1126 tblptrl equ 0xFF6
- 1127 tablat equ 0xFF5
- 1128 intcon equ 0xFF2
- 1129 postinc0 equ 0xFEE
- 1130 wreg equ 0xFE8
- 1131 indf2 equ 0xFDF
- 1132 postinc2 equ 0xFDE
- 1133 postdec2 equ 0xFDD
- 1134 fsr2h equ 0xFDA
- 1135 fsr2l equ 0xFD9
- 1136 status equ 0xFD8
- 1137
- 1138 ;; *************** function _eusart1_init *****************
- 1139 ;; Defined at:
- 1140 ;; line 4 in file "rs232.c"
- 1141 ;; Parameters: Size Location Type
- 1142 ;; None
- 1143 ;; Auto vars: Size Location Type
- 1144 ;; None
- 1145 ;; Return value: Size Location Type
- 1146 ;; 1 wreg void
- 1147 ;; Registers used:
- 1148 ;; wreg, status,2
- 1149 ;; Tracked objects:
- 1150 ;; On entry : 0/0
- 1151 ;; On exit : 0/0
- 1152 ;; Unchanged: 0/0
- 1153 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
- 1154 ;; Params: 0 0 0 0 0 0 0
- 1155 ;; Locals: 0 0 0 0 0 0 0
- 1156 ;; Temps: 0 0 0 0 0 0 0
- 1157 ;; Totals: 0 0 0 0 0 0 0
- 1158 ;;Total ram usage: 0 bytes
- 1159 ;; Hardware stack levels used: 1
- 1160 ;; Hardware stack levels required when called: 1
- 1161 ;; This function calls:
- 1162 ;; Nothing
- 1163 ;; This function is called by:
- 1164 ;; _init_hw
- 1165 ;; This function uses a non-reentrant model
- 1166 ;;
- 1167
- 1168 psect text7
- 1169 00091C __ptext7:
- 1170 opt stack 0
- 1171 00091C _eusart1_init:
- 1172 opt stack 28
- 1173
- 1174 ;rs232.c: 7: TXSTA1bits.SYNC = 0;
- 1175
- 1176 ;incstack = 0
- 1177 00091C 98AC bcf 4012,4,c ;volatile
- 1178
- 1179 ;rs232.c: 8: TXSTA1bits.TX9 = 0;
- 1180 00091E 9CAC bcf 4012,6,c ;volatile
- 1181
- 1182 ;rs232.c: 11: RCSTA1bits.SPEN = 1;
- 1183 000920 8EAB bsf 4011,7,c ;volatile
- 1184
- 1185 ;rs232.c: 12: SPBRG1 = 31;
- 1186 000922 0E1F movlw 31
- 1187 000924 6EAF movwf 4015,c ;volatile
- 1188
- 1189 ;rs232.c: 13: SPBRGH1 = 0;
- 1190 000926 0E00 movlw 0
- 1191 000928 6EB0 movwf 4016,c ;volatile
- 1192
- 1193 ;rs232.c: 14: TXSTA1bits.BRGH = 0;
- 1194 00092A 94AC bcf 4012,2,c ;volatile
- 1195
- 1196 ;rs232.c: 15: BAUDCON1bits.BRG16 = 0;
- 1197 00092C 96B8 bcf 4024,3,c ;volatile
- 1198
- 1199 ;rs232.c: 18: TRISCbits.TRISC7 = 1;
- 1200 00092E 8E94 bsf 3988,7,c ;volatile
- 1201
- 1202 ;rs232.c: 19: TRISCbits.TRISC6 = 1;
- 1203 000930 8C94 bsf 3988,6,c ;volatile
- 1204
- 1205 ;rs232.c: 21: RCSTA1bits.CREN = 1;
- 1206 000932 88AB bsf 4011,4,c ;volatile
- 1207
- 1208 ;rs232.c: 22: TXSTA1bits.TXEN = 1;
- 1209 000934 8AAC bsf 4012,5,c ;volatile
- 1210 000936 0012 return ;funcret
- 1211 000938 __end_of_eusart1_init:
- 1212 opt stack 0
- 1213 tblptru equ 0xFF8
- 1214 tblptrh equ 0xFF7
- 1215 tblptrl equ 0xFF6
- 1216 tablat equ 0xFF5
- 1217 intcon equ 0xFF2
- 1218 postinc0 equ 0xFEE
- 1219 wreg equ 0xFE8
- 1220 indf2 equ 0xFDF
- 1221 postinc2 equ 0xFDE
- 1222 postdec2 equ 0xFDD
- 1223 fsr2h equ 0xFDA
- 1224 fsr2l equ 0xFD9
- 1225 status equ 0xFD8
- 1226
- 1227 ;; *************** function _eusart_write_midi *****************
- 1228 ;; Defined at:
- 1229 ;; line 276 in file "main.c"
- 1230 ;; Parameters: Size Location Type
- 1231 ;; pkt 2 42[COMRAM] PTR const struct .
- 1232 ;; -> main@message(7), main@conf_message(7),
- 1233 ;; Auto vars: Size Location Type
- 1234 ;; data 2 48[COMRAM] PTR unsigned char
- 1235 ;; -> message.data(4), main@message(7), conf_message.data(4), main@conf_message(7),
- 1236 ;; length 2 46[COMRAM] unsigned int
- 1237 ;; Return value: Size Location Type
- 1238 ;; 2 42[COMRAM] int
- 1239 ;; Registers used:
- 1240 ;; wreg, fsr2l, fsr2h, status,2, status,0, cstack
- 1241 ;; Tracked objects:
- 1242 ;; On entry : 0/0
- 1243 ;; On exit : 0/0
- 1244 ;; Unchanged: 0/0
- 1245 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
- 1246 ;; Params: 2 0 0 0 0 0 0
- 1247 ;; Locals: 4 0 0 0 0 0 0
- 1248 ;; Temps: 2 0 0 0 0 0 0
- 1249 ;; Totals: 8 0 0 0 0 0 0
- 1250 ;;Total ram usage: 8 bytes
- 1251 ;; Hardware stack levels used: 1
- 1252 ;; Hardware stack levels required when called: 2
- 1253 ;; This function calls:
- 1254 ;; _eusart2_putch
- 1255 ;; This function is called by:
- 1256 ;; _main
- 1257 ;; This function uses a non-reentrant model
- 1258 ;;
- 1259
- 1260 psect text8
- 1261 000762 __ptext8:
- 1262 opt stack 0
- 1263 000762 _eusart_write_midi:
- 1264 opt stack 28
- 1265
- 1266 ;main.c: 278: size_t length;
- 1267 ;main.c: 279: uint8_t *data;
- 1268 ;main.c: 281: if (pkt == (0)) {
- 1269
- 1270 ;incstack = 0
- 1271 000762 502B movf eusart_write_midi@pkt,w,c
- 1272 000764 102C iorwf eusart_write_midi@pkt+1,w,c
- 1273 000766 B4D8 btfsc status,2,c
- 1274 000768 0012 return
- 1275
- 1276 ;main.c: 283: }
- 1277 ;main.c: 285: length = pkt->data_size;
- 1278
- 1279 ;main.c: 282: return -1;
- 1280 ; Return value of _eusart_write_midi is never used
- 1281 00076A EE20 F001 lfsr 2,1
- 1282 00076E 502B movf eusart_write_midi@pkt,w,c
- 1283 000770 26D9 addwf fsr2l,f,c
- 1284 000772 502C movf eusart_write_midi@pkt+1,w,c
- 1285 000774 22DA addwfc fsr2h,f,c
- 1286 000776 CFDE F02F movff postinc2,eusart_write_midi@length
- 1287 00077A CFDD F030 movff postdec2,eusart_write_midi@length+1
- 1288
- 1289 ;main.c: 286: data = (uint8_t *) pkt->data;
- 1290 00077E 0E03 movlw 3
- 1291 000780 242B addwf eusart_write_midi@pkt,w,c
- 1292 000782 6E31 movwf eusart_write_midi@data,c
- 1293 000784 0E00 movlw 0
- 1294 000786 202C addwfc eusart_write_midi@pkt+1,w,c
- 1295 000788 6E32 movwf eusart_write_midi@data+1,c
- 1296
- 1297 ;main.c: 288: eusart2_putch((char)((pkt->status << 4) | pkt->channel));
- 1298 00078A C02B FFD9 movff eusart_write_midi@pkt,fsr2l
- 1299 00078E C02C FFDA movff eusart_write_midi@pkt+1,fsr2h
- 1300 000792 38DF swapf indf2,w,c
- 1301 000794 0B0F andlw 15
- 1302 000796 6E2D movwf ??_eusart_write_midi& (0+255),c
- 1303 000798 C02B FFD9 movff eusart_write_midi@pkt,fsr2l
- 1304 00079C C02C FFDA movff eusart_write_midi@pkt+1,fsr2h
- 1305 0007A0 50DF movf indf2,w,c
- 1306 0007A2 0B0F andlw 15
- 1307 0007A4 6E2E movwf (??_eusart_write_midi+1)& (0+255),c
- 1308 0007A6 382E swapf ??_eusart_write_midi+1,w,c
- 1309 0007A8 0BF0 andlw 240
- 1310 0007AA 102D iorwf ??_eusart_write_midi,w,c
- 1311 0007AC ECA9 F004 call _eusart2_putch
- 1312
- 1313 ;main.c: 290: while (length--) {
- 1314 0007B0 D009 goto l81
- 1315 0007B2 l1100:
- 1316
- 1317 ;main.c: 291: eusart2_putch((char) *(data++));
- 1318 0007B2 C031 FFD9 movff eusart_write_midi@data,fsr2l
- 1319 0007B6 C032 FFDA movff eusart_write_midi@data+1,fsr2h
- 1320 0007BA 50DF movf indf2,w,c
- 1321 0007BC ECA9 F004 call _eusart2_putch
- 1322 0007C0 4A31 infsnz eusart_write_midi@data,f,c
- 1323 0007C2 2A32 incf eusart_write_midi@data+1,f,c
- 1324 0007C4 l81:
- 1325 0007C4 062F decf eusart_write_midi@length,f,c
- 1326 0007C6 A0D8 btfss status,0,c
- 1327 0007C8 0630 decf eusart_write_midi@length+1,f,c
- 1328 0007CA 282F incf eusart_write_midi@length,w,c
- 1329 0007CC E1F2 bnz l1100
- 1330 0007CE 2830 incf eusart_write_midi@length+1,w,c
- 1331 0007D0 B4D8 btfsc status,2,c
- 1332 0007D2 0012 return
- 1333 0007D4 D7EE goto l82
- 1334 0007D6 __end_of_eusart_write_midi:
- 1335 opt stack 0
- 1336 tblptru equ 0xFF8
- 1337 tblptrh equ 0xFF7
- 1338 tblptrl equ 0xFF6
- 1339 tablat equ 0xFF5
- 1340 intcon equ 0xFF2
- 1341 postinc0 equ 0xFEE
- 1342 wreg equ 0xFE8
- 1343 indf2 equ 0xFDF
- 1344 postinc2 equ 0xFDE
- 1345 postdec2 equ 0xFDD
- 1346 fsr2h equ 0xFDA
- 1347 fsr2l equ 0xFD9
- 1348 status equ 0xFD8
- 1349
- 1350 ;; *************** function _eusart2_putch *****************
- 1351 ;; Defined at:
- 1352 ;; line 53 in file "rs232.c"
- 1353 ;; Parameters: Size Location Type
- 1354 ;; c 1 wreg unsigned char
- 1355 ;; Auto vars: Size Location Type
- 1356 ;; c 1 41[COMRAM] unsigned char
- 1357 ;; Return value: Size Location Type
- 1358 ;; 1 wreg void
- 1359 ;; Registers used:
- 1360 ;; wreg
- 1361 ;; Tracked objects:
- 1362 ;; On entry : 0/0
- 1363 ;; On exit : 0/0
- 1364 ;; Unchanged: 0/0
- 1365 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
- 1366 ;; Params: 0 0 0 0 0 0 0
- 1367 ;; Locals: 1 0 0 0 0 0 0
- 1368 ;; Temps: 0 0 0 0 0 0 0
- 1369 ;; Totals: 1 0 0 0 0 0 0
- 1370 ;;Total ram usage: 1 bytes
- 1371 ;; Hardware stack levels used: 1
- 1372 ;; Hardware stack levels required when called: 1
- 1373 ;; This function calls:
- 1374 ;; Nothing
- 1375 ;; This function is called by:
- 1376 ;; _eusart_write_midi
- 1377 ;; This function uses a non-reentrant model
- 1378 ;;
- 1379
- 1380 psect text9
- 1381 000952 __ptext9:
- 1382 opt stack 0
- 1383 000952 _eusart2_putch:
- 1384 opt stack 28
- 1385
- 1386 ;incstack = 0
- 1387 ;eusart2_putch@c stored from wreg
- 1388 000952 6E2A movwf eusart2_putch@c,c
- 1389 000954
- 1390 ;rs232.c: 55: while (!TX2IF);
- 1391 000954 A8A4 btfss 4004,4,c ;volatile
- 1392 000956 D7FE goto l1028
- 1393
- 1394 ;rs232.c: 56: TX2REG = c;
- 1395 000958 C02A FF73 movff eusart2_putch@c,3955 ;volatile
- 1396 00095C 0012 return ;funcret
- 1397 00095E __end_of_eusart2_putch:
- 1398 opt stack 0
- 1399 tblptru equ 0xFF8
- 1400 tblptrh equ 0xFF7
- 1401 tblptrl equ 0xFF6
- 1402 tablat equ 0xFF5
- 1403 intcon equ 0xFF2
- 1404 postinc0 equ 0xFEE
- 1405 wreg equ 0xFE8
- 1406 indf2 equ 0xFDF
- 1407 postinc2 equ 0xFDE
- 1408 postdec2 equ 0xFDD
- 1409 fsr2h equ 0xFDA
- 1410 fsr2l equ 0xFD9
- 1411 status equ 0xFD8
- 1412
- 1413 ;; *************** function _isr *****************
- 1414 ;; Defined at:
- 1415 ;; line 114 in file "main.c"
- 1416 ;; Parameters: Size Location Type
- 1417 ;; None
- 1418 ;; Auto vars: Size Location Type
- 1419 ;; i 1 40[COMRAM] unsigned char
- 1420 ;; data_b 1 37[COMRAM] unsigned char
- 1421 ;; data_a 1 36[COMRAM] unsigned char
- 1422 ;; Return value: Size Location Type
- 1423 ;; 1 wreg void
- 1424 ;; Registers used:
- 1425 ;; wreg, fsr2l, fsr2h, status,2, status,0, prodl, prodh
- 1426 ;; Tracked objects:
- 1427 ;; On entry : 0/0
- 1428 ;; On exit : 0/0
- 1429 ;; Unchanged: 0/0
- 1430 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
- 1431 ;; Params: 0 0 0 0 0 0 0
- 1432 ;; Locals: 5 0 0 0 0 0 0
- 1433 ;; Temps: 36 0 0 0 0 0 0
- 1434 ;; Totals: 41 0 0 0 0 0 0
- 1435 ;;Total ram usage: 41 bytes
- 1436 ;; Hardware stack levels used: 1
- 1437 ;; This function calls:
- 1438 ;; Nothing
- 1439 ;; This function is called by:
- 1440 ;; Interrupt level 2
- 1441 ;; This function uses a non-reentrant model
- 1442 ;;
- 1443
- 1444 psect intcode
- 1445 000008 __pintcode:
- 1446 opt stack 0
- 1447 000008 _isr:
- 1448 opt stack 28
- 1449
- 1450 ;incstack = 0
- 1451 000008 8235 bsf btemp,1,c ;set compiler interrupt flag (level 2)
- 1452 00000A CFFA F013 movff pclath,??_isr+18
- 1453 00000E CFFB F014 movff pclatu,??_isr+19
- 1454 000012 CFE9 F015 movff fsr0l,??_isr+20
- 1455 000016 CFEA F016 movff fsr0h,??_isr+21
- 1456 00001A CFE1 F017 movff fsr1l,??_isr+22
- 1457 00001E CFE2 F018 movff fsr1h,??_isr+23
- 1458 000022 CFD9 F019 movff fsr2l,??_isr+24
- 1459 000026 CFDA F01A movff fsr2h,??_isr+25
- 1460 00002A CFF3 F01B movff prodl,??_isr+26
- 1461 00002E CFF4 F01C movff prodh,??_isr+27
- 1462 000032 CFF6 F01D movff tblptrl,??_isr+28
- 1463 000036 CFF7 F01E movff tblptrh,??_isr+29
- 1464 00003A CFF8 F01F movff tblptru,??_isr+30
- 1465 00003E CFF5 F020 movff tablat,??_isr+31
- 1466 000042 C035 F021 movff btemp,??_isr+32
- 1467 000046 C036 F022 movff btemp+1,??_isr+33
- 1468 00004A C037 F023 movff btemp+2,??_isr+34
- 1469 00004E C038 F024 movff btemp+3,??_isr+35
- 1470
- 1471 ;main.c: 116: unsigned char i, data_a, data_b;
- 1472 ;main.c: 122: if (PIR1bits.TMR2IF) {
- 1473 000052 A29E btfss 3998,1,c ;volatile
- 1474 000054 D12F goto i2l55
- 1475
- 1476 ;main.c: 123: data_a = PORTA;
- 1477 000056 CF80 F025 movff 3968,isr@data_a ;volatile
- 1478
- 1479 ;main.c: 124: data_b = PORTB;
- 1480 00005A CF81 F026 movff 3969,isr@data_b ;volatile
- 1481
- 1482 ;main.c: 126: i = 7;
- 1483 00005E 0E07 movlw 7
- 1484 000060 6E29 movwf isr@i,c
- 1485 000062
- 1486 ;main.c: 129: keys_data[i] = (keys_data[i] << 1) | ((data_a >> i) & 0x01);
- 1487 000062 5029 movf isr@i,w,c
- 1488 000064 0D04 mullw 4
- 1489 000066 0E62 movlw low _keys_data
- 1490 000068 24F3 addwf prodl,w,c
- 1491 00006A 6ED9 movwf fsr2l,c
- 1492 00006C 0E00 movlw high _keys_data
- 1493 00006E 20F4 addwfc prodh,w,c
- 1494 000070 6EDA movwf fsr2h,c
- 1495 000072 CFDE F001 movff postinc2,??_isr
- 1496 000076 CFDE F002 movff postinc2,??_isr+1
- 1497 00007A CFDE F003 movff postinc2,??_isr+2
- 1498 00007E CFDE F004 movff postinc2,??_isr+3
- 1499 000082 90D8 bcf status,0,c
- 1500 000084 3401 rlcf ??_isr,w,c
- 1501 000086 6E05 movwf (??_isr+4)& (0+255),c
- 1502 000088 3402 rlcf ??_isr+1,w,c
- 1503 00008A 6E06 movwf (??_isr+5)& (0+255),c
- 1504 00008C 3403 rlcf ??_isr+2,w,c
- 1505 00008E 6E07 movwf (??_isr+6)& (0+255),c
- 1506 000090 3404 rlcf ??_isr+3,w,c
- 1507 000092 6E08 movwf (??_isr+7)& (0+255),c
- 1508 000094 C029 F009 movff isr@i,??_isr+8
- 1509 000098 C025 F00A movff isr@data_a,??_isr+9
- 1510 00009C 2A09 incf ??_isr+8,f,c
- 1511 00009E D002 goto i2u34_44
- 1512 0000A0 i2u34_45:
- 1513 0000A0 90D8 bcf status,0,c
- 1514 0000A2 320A rrcf ??_isr+9,f,c
- 1515 0000A4 i2u34_44:
- 1516 0000A4 2E09 decfsz ??_isr+8,f,c
- 1517 0000A6 D7FC goto i2u34_45
- 1518 0000A8 0E01 movlw 1
- 1519 0000AA 160A andwf ??_isr+9,f,c
- 1520 0000AC 500A movf ??_isr+9,w,c
- 1521 0000AE 1005 iorwf ??_isr+4,w,c
- 1522 0000B0 6E0B movwf (??_isr+10)& (0+255),c
- 1523 0000B2 5006 movf ??_isr+5,w,c
- 1524 0000B4 6E0C movwf (??_isr+11)& (0+255),c
- 1525 0000B6 5007 movf ??_isr+6,w,c
- 1526 0000B8 6E0D movwf (??_isr+12)& (0+255),c
- 1527 0000BA 5008 movf ??_isr+7,w,c
- 1528 0000BC 6E0E movwf (??_isr+13)& (0+255),c
- 1529 0000BE 5029 movf isr@i,w,c
- 1530 0000C0 0D04 mullw 4
- 1531 0000C2 0E62 movlw low _keys_data
- 1532 0000C4 24F3 addwf prodl,w,c
- 1533 0000C6 6ED9 movwf fsr2l,c
- 1534 0000C8 0E00 movlw high _keys_data
- 1535 0000CA 20F4 addwfc prodh,w,c
- 1536 0000CC 6EDA movwf fsr2h,c
- 1537 0000CE C00B FFDE movff ??_isr+10,postinc2
- 1538 0000D2 C00C FFDE movff ??_isr+11,postinc2
- 1539 0000D6 C00D FFDE movff ??_isr+12,postinc2
- 1540 0000DA C00E FFDE movff ??_isr+13,postinc2
- 1541
- 1542 ;main.c: 130: keys_data[i + 8] = (keys_data[i + 8] << 1) | ((data_b >> i) & 0x01);
- 1543 0000DE 5029 movf isr@i,w,c
- 1544 0000E0 6E01 movwf ??_isr& (0+255),c
- 1545 0000E2 6A02 clrf (??_isr+1)& (0+255),c
- 1546 0000E4 90D8 bcf status,0,c
- 1547 0000E6 3601 rlcf ??_isr,f,c
- 1548 0000E8 3602 rlcf ??_isr+1,f,c
- 1549 0000EA 90D8 bcf status,0,c
- 1550 0000EC 3601 rlcf ??_isr,f,c
- 1551 0000EE 3602 rlcf ??_isr+1,f,c
- 1552 0000F0 0E20 movlw 32
- 1553 0000F2 2601 addwf ??_isr,f,c
- 1554 0000F4 0E00 movlw 0
- 1555 0000F6 2202 addwfc ??_isr+1,f,c
- 1556 0000F8 0E62 movlw low _keys_data
- 1557 0000FA 2401 addwf ??_isr,w,c
- 1558 0000FC 6ED9 movwf fsr2l,c
- 1559 0000FE 0E00 movlw high _keys_data
- 1560 000100 2002 addwfc ??_isr+1,w,c
- 1561 000102 6EDA movwf fsr2h,c
- 1562 000104 CFDE F003 movff postinc2,??_isr+2
- 1563 000108 CFDE F004 movff postinc2,??_isr+3
- 1564 00010C CFDE F005 movff postinc2,??_isr+4
- 1565 000110 CFDE F006 movff postinc2,??_isr+5
- 1566 000114 90D8 bcf status,0,c
- 1567 000116 3403 rlcf ??_isr+2,w,c
- 1568 000118 6E07 movwf (??_isr+6)& (0+255),c
- 1569 00011A 3404 rlcf ??_isr+3,w,c
- 1570 00011C 6E08 movwf (??_isr+7)& (0+255),c
- 1571 00011E 3405 rlcf ??_isr+4,w,c
- 1572 000120 6E09 movwf (??_isr+8)& (0+255),c
- 1573 000122 3406 rlcf ??_isr+5,w,c
- 1574 000124 6E0A movwf (??_isr+9)& (0+255),c
- 1575 000126 C029 F00B movff isr@i,??_isr+10
- 1576 00012A C026 F00C movff isr@data_b,??_isr+11
- 1577 00012E 2A0B incf ??_isr+10,f,c
- 1578 000130 D002 goto i2u35_44
- 1579 000132 i2u35_45:
- 1580 000132 90D8 bcf status,0,c
- 1581 000134 320C rrcf ??_isr+11,f,c
- 1582 000136 i2u35_44:
- 1583 000136 2E0B decfsz ??_isr+10,f,c
- 1584 000138 D7FC goto i2u35_45
- 1585 00013A 0E01 movlw 1
- 1586 00013C 160C andwf ??_isr+11,f,c
- 1587 00013E 500C movf ??_isr+11,w,c
- 1588 000140 1007 iorwf ??_isr+6,w,c
- 1589 000142 6E0D movwf (??_isr+12)& (0+255),c
- 1590 000144 5008 movf ??_isr+7,w,c
- 1591 000146 6E0E movwf (??_isr+13)& (0+255),c
- 1592 000148 5009 movf ??_isr+8,w,c
- 1593 00014A 6E0F movwf (??_isr+14)& (0+255),c
- 1594 00014C 500A movf ??_isr+9,w,c
- 1595 00014E 6E10 movwf (??_isr+15)& (0+255),c
- 1596 000150 5029 movf isr@i,w,c
- 1597 000152 6E11 movwf (??_isr+16)& (0+255),c
- 1598 000154 6A12 clrf (??_isr+17)& (0+255),c
- 1599 000156 90D8 bcf status,0,c
- 1600 000158 3611 rlcf ??_isr+16,f,c
- 1601 00015A 3612 rlcf ??_isr+17,f,c
- 1602 00015C 90D8 bcf status,0,c
- 1603 00015E 3611 rlcf ??_isr+16,f,c
- 1604 000160 3612 rlcf ??_isr+17,f,c
- 1605 000162 0E20 movlw 32
- 1606 000164 2611 addwf ??_isr+16,f,c
- 1607 000166 0E00 movlw 0
- 1608 000168 2212 addwfc ??_isr+17,f,c
- 1609 00016A 0E62 movlw low _keys_data
- 1610 00016C 2411 addwf ??_isr+16,w,c
- 1611 00016E 6ED9 movwf fsr2l,c
- 1612 000170 0E00 movlw high _keys_data
- 1613 000172 2012 addwfc ??_isr+17,w,c
- 1614 000174 6EDA movwf fsr2h,c
- 1615 000176 C00D FFDE movff ??_isr+12,postinc2
- 1616 00017A C00E FFDE movff ??_isr+13,postinc2
- 1617 00017E C00F FFDE movff ??_isr+14,postinc2
- 1618 000182 C010 FFDE movff ??_isr+15,postinc2
- 1619
- 1620 ;main.c: 135: keypresses |= (keys_data[i] && !(keys_data[i] & 0xFFFFFF00))<<i;
- 1621 000186 0E00 movlw 0
- 1622 000188 6E27 movwf _isr$304,c
- 1623 00018A 5029 movf isr@i,w,c
- 1624 00018C 0D04 mullw 4
- 1625 00018E 0E62 movlw low _keys_data
- 1626 000190 24F3 addwf prodl,w,c
- 1627 000192 6ED9 movwf fsr2l,c
- 1628 000194 0E00 movlw high _keys_data
- 1629 000196 20F4 addwfc prodh,w,c
- 1630 000198 6EDA movwf fsr2h,c
- 1631 00019A 50DE movf postinc2,w,c
- 1632 00019C 10DE iorwf postinc2,w,c
- 1633 00019E 10DE iorwf postinc2,w,c
- 1634 0001A0 10DE iorwf postinc2,w,c
- 1635 0001A2 B4D8 btfsc status,2,c
- 1636 0001A4 D01C goto i2l58
- 1637 0001A6 5029 movf isr@i,w,c
- 1638 0001A8 0D04 mullw 4
- 1639 0001AA 0E62 movlw low _keys_data
- 1640 0001AC 24F3 addwf prodl,w,c
- 1641 0001AE 6ED9 movwf fsr2l,c
- 1642 0001B0 0E00 movlw high _keys_data
- 1643 0001B2 20F4 addwfc prodh,w,c
- 1644 0001B4 6EDA movwf fsr2h,c
- 1645 0001B6 0E00 movlw 0
- 1646 0001B8 14DE andwf postinc2,w,c
- 1647 0001BA 6E01 movwf ??_isr& (0+255),c
- 1648 0001BC 0EFF movlw 255
- 1649 0001BE 14DE andwf postinc2,w,c
- 1650 0001C0 6E02 movwf (??_isr+1)& (0+255),c
- 1651 0001C2 0EFF movlw 255
- 1652 0001C4 14DE andwf postinc2,w,c
- 1653 0001C6 6E03 movwf (??_isr+2)& (0+255),c
- 1654 0001C8 0EFF movlw 255
- 1655 0001CA 14DE andwf postinc2,w,c
- 1656 0001CC 6E04 movwf (??_isr+3)& (0+255),c
- 1657 0001CE 5001 movf ??_isr,w,c
- 1658 0001D0 1002 iorwf ??_isr+1,w,c
- 1659 0001D2 1003 iorwf ??_isr+2,w,c
- 1660 0001D4 1004 iorwf ??_isr+3,w,c
- 1661 0001D6 A4D8 btfss status,2,c
- 1662 0001D8 D002 goto i2l58
- 1663 0001DA 0E01 movlw 1
- 1664 0001DC 6E27 movwf _isr$304,c
- 1665 0001DE i2l58:
- 1666 0001DE C029 F001 movff isr@i,??_isr
- 1667 0001E2 5027 movf _isr$304,w,c
- 1668 0001E4 6E02 movwf (??_isr+1)& (0+255),c
- 1669 0001E6 6A03 clrf (??_isr+2)& (0+255),c
- 1670 0001E8 2A01 incf ??_isr,f,c
- 1671 0001EA D003 goto i2u38_44
- 1672 0001EC i2u38_45:
- 1673 0001EC 90D8 bcf status,0,c
- 1674 0001EE 3602 rlcf ??_isr+1,f,c
- 1675 0001F0 3603 rlcf ??_isr+2,f,c
- 1676 0001F2 i2u38_44:
- 1677 0001F2 2E01 decfsz ??_isr,f,c
- 1678 0001F4 D7FB goto i2u38_45
- 1679 0001F6 5002 movf ??_isr+1,w,c
- 1680 0001F8 0100 movlb 0 ; () banked
- 1681 0001FA 1360 iorwf _keypresses& (0+255),f,b ;volatile
- 1682 0001FC 5003 movf ??_isr+2,w,c
- 1683 0001FE 1361 iorwf (_keypresses+1)& (0+255),f,b ;volatile
- 1684
- 1685 ; BSR set to: 0
- 1686 ;main.c: 136: keypresses |= (keys_data[i + 8] && !(keys_data[i + 8] & 0xFFFFFF00))<<(i +
- + 8);
- 1687 000200 0E00 movlw 0
- 1688 000202 6E28 movwf _isr$305,c
- 1689
- 1690 ; BSR set to: 0
- 1691 000204 5029 movf isr@i,w,c
- 1692 000206 6E01 movwf ??_isr& (0+255),c
- 1693 000208 6A02 clrf (??_isr+1)& (0+255),c
- 1694 00020A 90D8 bcf status,0,c
- 1695 00020C 3601 rlcf ??_isr,f,c
- 1696 00020E 3602 rlcf ??_isr+1,f,c
- 1697 000210 90D8 bcf status,0,c
- 1698 000212 3601 rlcf ??_isr,f,c
- 1699 000214 3602 rlcf ??_isr+1,f,c
- 1700 000216 0E20 movlw 32
- 1701 000218 2601 addwf ??_isr,f,c
- 1702 00021A 0E00 movlw 0
- 1703 00021C 2202 addwfc ??_isr+1,f,c
- 1704 00021E 0E62 movlw low _keys_data
- 1705 000220 2401 addwf ??_isr,w,c
- 1706 000222 6ED9 movwf fsr2l,c
- 1707 000224 0E00 movlw high _keys_data
- 1708 000226 2002 addwfc ??_isr+1,w,c
- 1709 000228 6EDA movwf fsr2h,c
- 1710 00022A 50DE movf postinc2,w,c
- 1711 00022C 10DE iorwf postinc2,w,c
- 1712 00022E 10DE iorwf postinc2,w,c
- 1713 000230 10DE iorwf postinc2,w,c
- 1714 000232 B4D8 btfsc status,2,c
- 1715 000234 D027 goto i2l60
- 1716
- 1717 ; BSR set to: 0
- 1718 000236 5029 movf isr@i,w,c
- 1719 000238 6E01 movwf ??_isr& (0+255),c
- 1720 00023A 6A02 clrf (??_isr+1)& (0+255),c
- 1721 00023C 90D8 bcf status,0,c
- 1722 00023E 3601 rlcf ??_isr,f,c
- 1723 000240 3602 rlcf ??_isr+1,f,c
- 1724 000242 90D8 bcf status,0,c
- 1725 000244 3601 rlcf ??_isr,f,c
- 1726 000246 3602 rlcf ??_isr+1,f,c
- 1727 000248 0E20 movlw 32
- 1728 00024A 2601 addwf ??_isr,f,c
- 1729 00024C 0E00 movlw 0
- 1730 00024E 2202 addwfc ??_isr+1,f,c
- 1731 000250 0E62 movlw low _keys_data
- 1732 000252 2401 addwf ??_isr,w,c
- 1733 000254 6ED9 movwf fsr2l,c
- 1734 000256 0E00 movlw high _keys_data
- 1735 000258 2002 addwfc ??_isr+1,w,c
- 1736 00025A 6EDA movwf fsr2h,c
- 1737 00025C 0E00 movlw 0
- 1738 00025E 14DE andwf postinc2,w,c
- 1739 000260 6E03 movwf (??_isr+2)& (0+255),c
- 1740 000262 0EFF movlw 255
- 1741 000264 14DE andwf postinc2,w,c
- 1742 000266 6E04 movwf (??_isr+3)& (0+255),c
- 1743 000268 0EFF movlw 255
- 1744 00026A 14DE andwf postinc2,w,c
- 1745 00026C 6E05 movwf (??_isr+4)& (0+255),c
- 1746 00026E 0EFF movlw 255
- 1747 000270 14DE andwf postinc2,w,c
- 1748 000272 6E06 movwf (??_isr+5)& (0+255),c
- 1749 000274 5003 movf ??_isr+2,w,c
- 1750 000276 1004 iorwf ??_isr+3,w,c
- 1751 000278 1005 iorwf ??_isr+4,w,c
- 1752 00027A 1006 iorwf ??_isr+5,w,c
- 1753 00027C A4D8 btfss status,2,c
- 1754 00027E D002 goto i2l60
- 1755
- 1756 ; BSR set to: 0
- 1757 000280 0E01 movlw 1
- 1758 000282 6E28 movwf _isr$305,c
- 1759 000284 i2l60:
- 1760
- 1761 ; BSR set to: 0
- 1762
- 1763 ; BSR set to: 0
- 1764 000284 C029 F001 movff isr@i,??_isr
- 1765 000288 0E08 movlw 8
- 1766 00028A 2601 addwf ??_isr,f,c
- 1767 00028C 5028 movf _isr$305,w,c
- 1768 00028E 6E02 movwf (??_isr+1)& (0+255),c
- 1769 000290 6A03 clrf (??_isr+2)& (0+255),c
- 1770 000292 2A01 incf ??_isr,f,c
- 1771 000294 D003 goto i2u41_44
- 1772 000296 i2u41_45:
- 1773 000296 90D8 bcf status,0,c
- 1774 000298 3602 rlcf ??_isr+1,f,c
- 1775 00029A 3603 rlcf ??_isr+2,f,c
- 1776 00029C i2u41_44:
- 1777 00029C 2E01 decfsz ??_isr,f,c
- 1778 00029E D7FB goto i2u41_45
- 1779 0002A0 5002 movf ??_isr+1,w,c
- 1780 0002A2 0100 movlb 0 ; () banked
- 1781 0002A4 1360 iorwf _keypresses& (0+255),f,b ;volatile
- 1782 0002A6 5003 movf ??_isr+2,w,c
- 1783 0002A8 1361 iorwf (_keypresses+1)& (0+255),f,b ;volatile
- 1784
- 1785 ; BSR set to: 0
- 1786 ;main.c: 138: } while (i--);
- 1787 0002AA 0629 decf isr@i,f,c
- 1788 0002AC 2829 incf isr@i,w,c
- 1789 0002AE A4D8 btfss status,2,c
- 1790 0002B0 D6D8 goto i2l56
- 1791
- 1792 ; BSR set to: 0
- 1793 ;main.c: 147: PIR1bits.TMR2IF = 0;
- 1794 0002B2 929E bcf 3998,1,c ;volatile
- 1795 0002B4 i2l55:
- 1796
- 1797 ; BSR set to: 0
- 1798 0002B4 C024 F038 movff ??_isr+35,btemp+3
- 1799 0002B8 C023 F037 movff ??_isr+34,btemp+2
- 1800 0002BC C022 F036 movff ??_isr+33,btemp+1
- 1801 0002C0 C021 F035 movff ??_isr+32,btemp
- 1802 0002C4 C020 FFF5 movff ??_isr+31,tablat
- 1803 0002C8 C01F FFF8 movff ??_isr+30,tblptru
- 1804 0002CC C01E FFF7 movff ??_isr+29,tblptrh
- 1805 0002D0 C01D FFF6 movff ??_isr+28,tblptrl
- 1806 0002D4 C01C FFF4 movff ??_isr+27,prodh
- 1807 0002D8 C01B FFF3 movff ??_isr+26,prodl
- 1808 0002DC C01A FFDA movff ??_isr+25,fsr2h
- 1809 0002E0 C019 FFD9 movff ??_isr+24,fsr2l
- 1810 0002E4 C018 FFE2 movff ??_isr+23,fsr1h
- 1811 0002E8 C017 FFE1 movff ??_isr+22,fsr1l
- 1812 0002EC C016 FFEA movff ??_isr+21,fsr0h
- 1813 0002F0 C015 FFE9 movff ??_isr+20,fsr0l
- 1814 0002F4 C014 FFFB movff ??_isr+19,pclatu
- 1815 0002F8 C013 FFFA movff ??_isr+18,pclath
- 1816 0002FC 9235 bcf btemp,1,c ;clear compiler interrupt flag (level 2)
- 1817 0002FE 0011 retfie f
- 1818 000300 __end_of_isr:
- 1819 opt stack 0
- 1820 pclatu equ 0xFFB
- 1821 pclath equ 0xFFA
- 1822 tblptru equ 0xFF8
- 1823 tblptrh equ 0xFF7
- 1824 tblptrl equ 0xFF6
- 1825 tablat equ 0xFF5
- 1826 prodh equ 0xFF4
- 1827 prodl equ 0xFF3
- 1828 intcon equ 0xFF2
- 1829 postinc0 equ 0xFEE
- 1830 fsr0h equ 0xFEA
- 1831 fsr0l equ 0xFE9
- 1832 wreg equ 0xFE8
- 1833 fsr1h equ 0xFE2
- 1834 fsr1l equ 0xFE1
- 1835 indf2 equ 0xFDF
- 1836 postinc2 equ 0xFDE
- 1837 postdec2 equ 0xFDD
- 1838 fsr2h equ 0xFDA
- 1839 fsr2l equ 0xFD9
- 1840 status equ 0xFD8
- 1841 pclatu equ 0xFFB
- 1842 pclath equ 0xFFA
- 1843 tblptru equ 0xFF8
- 1844 tblptrh equ 0xFF7
- 1845 tblptrl equ 0xFF6
- 1846 tablat equ 0xFF5
- 1847 prodh equ 0xFF4
- 1848 prodl equ 0xFF3
- 1849 intcon equ 0xFF2
- 1850 postinc0 equ 0xFEE
- 1851 fsr0h equ 0xFEA
- 1852 fsr0l equ 0xFE9
- 1853 wreg equ 0xFE8
- 1854 fsr1h equ 0xFE2
- 1855 fsr1l equ 0xFE1
- 1856 indf2 equ 0xFDF
- 1857 postinc2 equ 0xFDE
- 1858 postdec2 equ 0xFDD
- 1859 fsr2h equ 0xFDA
- 1860 fsr2l equ 0xFD9
- 1861 status equ 0xFD8
- 1862
- 1863 psect rparam
- 1864 0000 pclatu equ 0xFFB
- 1865 pclath equ 0xFFA
- 1866 tblptru equ 0xFF8
- 1867 tblptrh equ 0xFF7
- 1868 tblptrl equ 0xFF6
- 1869 tablat equ 0xFF5
- 1870 prodh equ 0xFF4
- 1871 prodl equ 0xFF3
- 1872 intcon equ 0xFF2
- 1873 postinc0 equ 0xFEE
- 1874 fsr0h equ 0xFEA
- 1875 fsr0l equ 0xFE9
- 1876 wreg equ 0xFE8
- 1877 fsr1h equ 0xFE2
- 1878 fsr1l equ 0xFE1
- 1879 indf2 equ 0xFDF
- 1880 postinc2 equ 0xFDE
- 1881 postdec2 equ 0xFDD
- 1882 fsr2h equ 0xFDA
- 1883 fsr2l equ 0xFD9
- 1884 status equ 0xFD8
- 1885
- 1886 psect temp
- 1887 000035 btemp:
- 1888 opt stack 0
- 1889 000035 ds 1
- 1890 0000 int$flags set btemp
- 1891 0000 wtemp6 set btemp+1
- 1892 pclatu equ 0xFFB
- 1893 pclath equ 0xFFA
- 1894 tblptru equ 0xFF8
- 1895 tblptrh equ 0xFF7
- 1896 tblptrl equ 0xFF6
- 1897 tablat equ 0xFF5
- 1898 prodh equ 0xFF4
- 1899 prodl equ 0xFF3
- 1900 intcon equ 0xFF2
- 1901 postinc0 equ 0xFEE
- 1902 fsr0h equ 0xFEA
- 1903 fsr0l equ 0xFE9
- 1904 wreg equ 0xFE8
- 1905 fsr1h equ 0xFE2
- 1906 fsr1l equ 0xFE1
- 1907 indf2 equ 0xFDF
- 1908 postinc2 equ 0xFDE
- 1909 postdec2 equ 0xFDD
- 1910 fsr2h equ 0xFDA
- 1911 fsr2l equ 0xFD9
- 1912 status equ 0xFD8
-
-
-Data Sizes:
- Strings 0
- Constant 42
- Data 0
- BSS 66
- Persistent 0
- Stack 0
-
-Auto Spaces:
- Space Size Autos Used
- COMRAM 94 52 52
- BANK0 160 21 87
- BANK1 256 0 0
- BANK2 256 0 0
- BANK3 256 0 0
- BANK4 256 0 0
- BANK5 256 0 0
-
-Pointer List with Targets:
-
- memset@p1 PTR void size(2) Largest target is 64
- -> keys_data(BANK0[64]),
-
- memset@p PTR unsigned char size(2) Largest target is 64
- -> keys_data(BANK0[64]),
-
- midi_note_on@pkt PTR struct . size(2) Largest target is 7
- -> main@message(BANK0[7]),
-
- midi_set_channel@pkt PTR struct . size(2) Largest target is 7
- -> main@message(BANK0[7]),
-
- midi_set_status@pkt PTR struct . size(2) Largest target is 7
- -> main@message(BANK0[7]),
-
- eusart_write_midi@data PTR unsigned char size(2) Largest target is 7
- -> message.data(COMRAM[4]), main@message(BANK0[7]), conf_message.data(COMRAM[4]), main@conf_message(BANK0[7]),
-
- eusart_write_midi@pkt PTR const struct . size(2) Largest target is 7
- -> main@message(BANK0[7]), main@conf_message(BANK0[7]),
-
- sp__memset PTR void size(2) Largest target is 64
- -> keys_data(BANK0[64]),
-
-
-Critical Paths under _main in COMRAM
-
- _main->_midi_note_on
- _midi_note_on->_midi_set_channel
- _eusart_write_midi->_eusart2_putch
-
-Critical Paths under _isr in COMRAM
-
- None.
-
-Critical Paths under _main in BANK0
-
- None.
-
-Critical Paths under _isr in BANK0
-
- None.
-
-Critical Paths under _main in BANK1
-
- None.
-
-Critical Paths under _isr in BANK1
-
- None.
-
-Critical Paths under _main in BANK2
-
- None.
-
-Critical Paths under _isr in BANK2
-
- None.
-
-Critical Paths under _main in BANK3
-
- None.
-
-Critical Paths under _isr in BANK3
-
- None.
-
-Critical Paths under _main in BANK4
-
- None.
-
-Critical Paths under _isr in BANK4
-
- None.
-
-Critical Paths under _main in BANK5
-
- None.
-
-Critical Paths under _isr in BANK5
-
- None.
-
-Call Graph Tables:
-
- ---------------------------------------------------------------------------------
- (Depth) Function Calls Base Space Used Autos Params Refs
- ---------------------------------------------------------------------------------
- (0) _main 21 21 0 2165
- 0 BANK0 21 21 0
- _eusart_write_midi
- _init_hw
- _memset
- _midi_note_on
- ---------------------------------------------------------------------------------
- (1) _midi_note_on 6 0 6 1242
- 46 COMRAM 6 0 6
- _midi_set_channel
- _midi_set_status
- ---------------------------------------------------------------------------------
- (2) _midi_set_status 4 1 3 370
- 41 COMRAM 4 1 3
- ---------------------------------------------------------------------------------
- (2) _midi_set_channel 5 1 4 370
- 41 COMRAM 5 1 4
- ---------------------------------------------------------------------------------
- (1) _memset 8 2 6 324
- 41 COMRAM 8 2 6
- ---------------------------------------------------------------------------------
- (1) _init_hw 0 0 0 0
- _eusart1_init
- _eusart2_init
- ---------------------------------------------------------------------------------
- (2) _eusart2_init 0 0 0 0
- ---------------------------------------------------------------------------------
- (2) _eusart1_init 0 0 0 0
- ---------------------------------------------------------------------------------
- (1) _eusart_write_midi 8 6 2 331
- 42 COMRAM 8 6 2
- _eusart2_putch
- ---------------------------------------------------------------------------------
- (2) _eusart2_putch 1 1 0 22
- 41 COMRAM 1 1 0
- ---------------------------------------------------------------------------------
- Estimated maximum stack depth 2
- ---------------------------------------------------------------------------------
- (Depth) Function Calls Base Space Used Autos Params Refs
- ---------------------------------------------------------------------------------
- (3) _isr 41 41 0 381
- 0 COMRAM 41 41 0
- ---------------------------------------------------------------------------------
- Estimated maximum stack depth 3
- ---------------------------------------------------------------------------------
-
- Call Graph Graphs:
-
- _main (ROOT)
- _eusart_write_midi
- _eusart2_putch
- _init_hw
- _eusart1_init
- _eusart2_init
- _memset
- _midi_note_on
- _midi_set_channel
- _midi_set_status
-
- _isr (ROOT)
-
- Address spaces:
-Name Size Autos Total Cost Usage
-BIGRAM 5FF 0 0 16 0.0%
-EEDATA 100 0 0 0 0.0%
-BITBANK5 100 0 0 14 0.0%
-BANK5 100 0 0 15 0.0%
-BITBANK4 100 0 0 12 0.0%
-BANK4 100 0 0 13 0.0%
-BITBANK3 100 0 0 10 0.0%
-BANK3 100 0 0 11 0.0%
-BITBANK2 100 0 0 7 0.0%
-BANK2 100 0 0 8 0.0%
-BITBANK1 100 0 0 5 0.0%
-BANK1 100 0 0 6 0.0%
-BITBANK0 A0 0 0 3 0.0%
-BANK0 A0 15 57 4 54.4%
-BITCOMRAM 5E 0 0 0 0.0%
-COMRAM 5E 34 34 1 55.3%
-BITSFR_1 0 0 0 200 0.0%
-SFR_1 0 0 0 200 0.0%
-BITSFR 0 0 0 200 0.0%
-SFR 0 0 0 200 0.0%
-STACK 0 0 0 2 0.0%
-NULL 0 0 0 0 0.0%
-ABS 0 0 8B 9 0.0%
-DATA 0 0 8B 17 0.0%
-CODE 0 0 0 0 0.0%
-
-
-Microchip Technology PIC18 Macro Assembler V1.44 build -154322312
-Symbol Table Fri Mar 02 09:57:11 2018
-
- l70 06B6 l81 07C4 l73 075C
- l82 07B2 __CFG_CP0$OFF 000000 __CFG_CP1$OFF 000000
- __CFG_CP2$OFF 000000 __CFG_CP3$OFF 000000 __CFG_LVP$ON 000000
- l592 08A4 l593 0894 __CFG_CPB$OFF 000000
- _PR2 000FBB __CFG_CPD$OFF 000000 u507 0724
- u444 06E2 u445 06DC u464 0746
- u465 0740 u497 069E _isr 0008
- prod 000FF3 wreg 000FE8 _TXSTA1bits 000FAC
- _TXSTA2bits 000F72 l1100 07B2 l1028 0954
- l1070 0894 l1160 06C0 l1158 06B6
- ?_isr 0001 i2l60 0284 i2l55 02B4
- i2l56 0062 i2l58 01DE main@message 00B0
- _main 062C midi_note_on@channel 0031 fsr0h 000FEA
- fsr1h 000FE2 fsr2h 000FDA fsr0l 000FE9
- indf2 000FDF fsr1l 000FE1 fsr2l 000FD9
- btemp 0035 __CFG_BORV$190 000000 isr@i 0029
- prodh 000FF4 prodl 000FF3 start 0300
- __CFG_IESO$OFF 000000 midi_note_on@pkt 002F ___param_bank 000000
- ??_isr 0001 _BAUDCON1bits 000FB8 _BAUDCON2bits 000F70
- ?_main 0001 _RC1IF 007CF5 _TX1IF 007CF4
- _TX2IF 007D24 _PORTA 000F80 _PORTB 000F81
- _TRISA 000F92 _TRISB 000F93 __CFG_WRT0$OFF 000000
- __CFG_WRT1$OFF 000000 __CFG_WRT2$OFF 000000 __CFG_WRT3$OFF 000000
- __CFG_EBTR0$OFF 000000 __CFG_FCMEN$OFF 000000 __CFG_EBTR1$OFF 000000
- __CFG_EBTR2$OFF 000000 __CFG_EBTR3$OFF 000000 __CFG_WRTB$OFF 000000
- __CFG_WRTC$OFF 000000 __CFG_WRTD$OFF 000000 __CFG_EBTRB$OFF 000000
- __end_of_init_hw 088A __CFG_MCLRE$EXTMCLR 000000 main@i 00AE
- pclath 000FFA tablat 000FF5 _eusart_write_midi 0762
- __end_of_midi_set_status 0900 status 000FD8 wtemp6 0036
- __CFG_HFOFST$ON 000000 ?_eusart_write_midi 002B __CFG_PBADEN$ON 000000
- eusart_write_midi@length 002F __initialization 0938 midi_note_on@note 0033
- __end_of_main 0762 ??_eusart_write_midi 002D midi_note_on@velocity 0034
- ??_main 00A2 ?_midi_note_on 002F __activetblptr 000002
- __CFG_PLLCFG$ON 000000 __end_of_eusart_write_midi 07D6 _ANSELA 000F38
- _ANSELB 000F39 _ANSELC 000F3A _ANSELD 000F3B
- _RC1REG 000FAE __CFG_WDTEN$OFF 000000 _SPBRG1 000FAF
- _SPBRG2 000F75 _TX1REG 000FAD _TX2REG 000F73
- ?_eusart1_init 0001 ?_eusart2_init 0001 __CFG_XINST$OFF 000000
- __CFG_STVREN$ON 000000 __end_of_midi_set_channel 08DC _memset 088A
- clear_0 093E midi_set_status@status 002C ??_midi_note_on 0035
- __size_of_eusart2_putch 000C ??_init_hw 002A __mediumconst 0000
- tblptrh 000FF7 tblptrl 000FF6 tblptru 000FF8
- __accesstop 0060 __end_of__initialization 0944 ?_midi_set_status 002A
- ??_eusart1_init 002A ??_eusart2_init 002A ___rparam_used 000001
- __pcstackCOMRAM 0001 __size_of_eusart_write_midi 0074 __pbssBANK0 0060
- main@conf_message 00A7 _eusart2_putch 0952 __CFG_CCP2MX$PORTC1 000000
- __CFG_CCP3MX$PORTB5 000000 ?_memset 002A i2u41_44 029C
- i2u41_45 0296 i2u34_44 00A4 i2u34_45 00A0
- i2u35_44 0136 i2u35_45 0132 i2u38_44 01F2
- i2u38_45 01EC _SPBRGH1 000FB0 _SPBRGH2 000F76
- ?_eusart2_putch 0001 __end_of_midi_note_on 0838 eusart_write_midi@pkt 002B
- __CFG_PWRTEN$OFF 000000 __Hparam 0000 __Lparam 0000
- __psmallconst 0600 __pcinit 0938 _isr$304 0027
- _isr$305 0028 __size_of_memset 002C __ramtop 0600
- __ptext0 062C __ptext1 07D6 __ptext2 08DC
- __ptext3 08B6 __ptext4 088A __ptext5 0838
- __ptext6 0900 __ptext7 091C __ptext8 0762
- __ptext9 0952 __end_of_eusart1_init 0938 __end_of_eusart2_init 091C
- _T2CONbits 000FBA _init_hw 0838 __size_of_isr 02F8
- _keypresses 0060 end_of_initialization 0944 _midi_notes_steps_table 0601
- memset@c 002C memset@n 002E memset@p 0030
- __Lmediumconst 0000 postdec2 000FDD postinc0 000FEE
- postinc2 000FDE ?_midi_set_channel 002A ??_midi_set_channel 002E
- _TRISCbits 000F94 _TRISDbits 000F95 ??_eusart2_putch 002A
- midi_set_channel@channel 002C __end_of_memset 08B6 start_initialization 0938
- __end_of_isr 0300 __size_of_midi_note_on 0062 __size_of_midi_set_status 0024
- __size_of_eusart1_init 001C __size_of_eusart2_init 001C ??_memset 0030
- _midi_note_on 07D6 __pcstackBANK0 00A2 midi_set_status@pkt 002A
- _eusart1_init 091C _eusart2_init 0900 __pintcode 0008
- __CFG_PRICLKEN$ON 000000 __smallconst 0600 ?_init_hw 0001
- _keys_data 0062 _PIE1bits 000F9D _PIR1bits 000F9E
- __CFG_WDTPS$32768 000000 ??_midi_set_status 002D __end_of_midi_notes_steps_table 062B
- __size_of_midi_set_channel 0026 eusart_write_midi@data 0031 isr@data_a 0025
- isr@data_b 0026 __Hrparam 0000 __Lrparam 0000
- __CFG_BOREN$SBORDIS 000000 __CFG_P2BMX$PORTD2 000000 eusart2_putch@c 002A
- __size_of_init_hw 0052 __end_of_eusart2_putch 095E __size_of_main 0136
- int$flags 0035 _OSCTUNEbits 000F9B _INTCONbits 000FF2
- memset@p1 002A midi_set_channel@pkt 002A intlevel2 0000
- _RCSTA1bits 000FAB _RCSTA2bits 000F71 _OSCCONbits 000FD3
- __CFG_T3CMX$PORTC0 000000 _midi_set_channel 08B6 __CFG_FOSC$INTIO67 000000
- _midi_set_status 08DC