1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
|
Microchip MPLAB XC8 Compiler V1.44 ()
Linker command line:
-W-3 --edf=C:\Program Files\Microchip\xc8\v1.44\dat\en_msgs.txt -cs \
-h+dist/default/production\src.production.sym \
--cmf=dist/default/production\src.production.cmf -z -Q18F45K22 \
-oC:\Users\_prossn\AppData\Local\Temp\s4jk.2 \
-Mdist/default/production/src.production.map -E1 -ver=XC8 \
-ASTACK=060h-05ffh -pstack=STACK -ACODE=00h-07FFFh -ACONST=00h-07FFFh \
-ASMALLCONST=0600h-06FFhx122 -AMEDIUMCONST=0600h-07FFFh -ACOMRAM=01h-05Fh \
-AABS1=00h-05FFh -ABIGRAM=01h-05FFh -ARAM=060h-0FFh,0100h-01FFhx5 \
-ABANK0=060h-0FFh -ABANK1=0100h-01FFh -ABANK2=0200h-02FFh \
-ABANK3=0300h-03FFh -ABANK4=0400h-04FFh -ABANK5=0500h-05FFh \
-ASFR=0F38h-0F5Fh,0F60h-0FFFh \
-preset_vec=00h,intcode,intcodelo,powerup,init -pramtop=0600h \
-psmallconst=SMALLCONST -pmediumconst=MEDIUMCONST -pconst=CONST \
-AFARRAM=00h-00h -ACONFIG=0300000h-030000Dh -pconfig=CONFIG \
-AIDLOC=0200000h-0200007h -pidloc=IDLOC -AEEDATA=0F00000h-0F000FFh \
-peeprom_data=EEDATA \
-prdata=COMRAM,nvrram=COMRAM,nvbit=COMRAM,rbss=COMRAM,rbit=COMRAM \
-pfarbss=FARRAM,fardata=FARRAM,nvFARRAM=FARRAM \
-pintsave_regs=BIGRAM,bigbss=BIGRAM,bigdata=BIGRAM -pbss=RAM \
-pidata=CODE,irdata=CODE,ibigdata=CODE,ifardata=CODE -prparam=COMRAM \
C:\Users\_prossn\AppData\Local\Temp\s4jk.obj \
dist/default/production\src.production.obj
Object code version is 3.11
Machine type is 18F45K22
Call graph: (short form)
Name Link Load Length Selector Space Scale
C:\Users\_prossn\AppData\Local\Temp\s4jk.obj
init 0 0 4 0 0
idloc 200000 200000 8 200000 0
config 300000 300000 E 300000 0
dist/default/production\src.production.obj
text6 7E72 7E72 18 3F39 0
text5 7E66 7E66 C 3F33 0
text4 7F78 7F78 88 3FBC 0
text3 7EAE 7EAE 26 3F57 0
text2 7E8A 7E8A 24 3F45 0
text1 7F02 7F02 76 3F81 0
text0 7ED4 7ED4 2E 3F6A 0
cstackCOMRAM 1 1 14 1 1
cinit 7E60 7E60 6 3F30 0
TOTAL Name Link Load Length Space
CLASS STACK
CLASS CODE
init 0 0 4 0
text6 7E72 7E72 18 0
text5 7E66 7E66 C 0
text4 7F78 7F78 88 0
text3 7EAE 7EAE 26 0
text2 7E8A 7E8A 24 0
text1 7F02 7F02 76 0
text0 7ED4 7ED4 2E 0
cinit 7E60 7E60 6 0
CLASS CONST
CLASS SMALLCONST
CLASS MEDIUMCONST
CLASS COMRAM
cstackCOMRAM 1 1 14 1
CLASS ABS1
CLASS BIGRAM
CLASS RAM
CLASS BANK0
CLASS BANK1
CLASS BANK2
CLASS BANK3
CLASS BANK4
CLASS BANK5
CLASS SFR
CLASS FARRAM
CLASS CONFIG
config 300000 300000 E 0
CLASS IDLOC
idloc 200000 200000 8 0
CLASS EEDATA
SEGMENTS Name Load Length Top Selector Space Class
reset_vec 000000 000004 000004 0 0 CODE
cstackCOMRAM 000001 000014 000015 1 1 COMRAM
cinit 007E60 000006 007E66 3F30 0 CODE
text5 007E66 00000C 007E72 3F33 0 CODE
text6 007E72 000018 007E8A 3F39 0 CODE
text2 007E8A 000024 007EAE 3F45 0 CODE
text3 007EAE 000026 007ED4 3F57 0 CODE
text0 007ED4 00002E 007F02 3F6A 0 CODE
text1 007F02 000076 007F78 3F81 0 CODE
text4 007F78 000088 008000 3FBC 0 CODE
idloc 200000 000008 200008 200000 0 IDLOC
config 300000 00000E 30000E 300000 0 CONFIG
UNUSED ADDRESS RANGES
Name Unused Largest block Delta
BANK0 000060-0000FF A0
BANK1 000100-0001FF 100
BANK2 000200-0002FF 100
BANK3 000300-0003FF 100
BANK4 000400-0004FF 100
BANK5 000500-0005FF 100
BIGRAM 000015-0005FF 5EB
CODE 000004-007E5F 7E5C
COMRAM 000015-00005F 4B
CONST 000004-007E5F 7E5C
EEDATA F00000-F000FF 100
MEDIUMCONST 000600-007E5F 7860
RAM 000060-0005FF 100
SFR 000F38-000FFF 28
SMALLCONST 000600-007E5F 100
STACK 000060-0005FF 5A0
Symbol Table
_BAUDCONbits (abs) 000FB8
_RCIF (abs) 007CF5
_RCREG (abs) 000FAE
_RCSTAbits (abs) 000FAB
_SPBRG (abs) 000FAF
_TRISC6 (abs) 007CA6
_TRISC7 (abs) 007CA7
_TXIF (abs) 007CF4
_TXREG (abs) 000FAD
_TXSTAbits (abs) 000FAC
__CFG_BOREN$SBORDIS (abs) 000000
__CFG_BORV$190 (abs) 000000
__CFG_CCP2MX$PORTC1 (abs) 000000
__CFG_CCP3MX$PORTB5 (abs) 000000
__CFG_CP0$OFF (abs) 000000
__CFG_CP1$OFF (abs) 000000
__CFG_CPB$OFF (abs) 000000
__CFG_CPD$OFF (abs) 000000
__CFG_EBTR0$OFF (abs) 000000
__CFG_EBTR1$OFF (abs) 000000
__CFG_EBTRB$OFF (abs) 000000
__CFG_FCMEN$OFF (abs) 000000
__CFG_FOSC$ECHPIO6 (abs) 000000
__CFG_HFOFST$ON (abs) 000000
__CFG_IESO$OFF (abs) 000000
__CFG_LVP$ON (abs) 000000
__CFG_MCLRE$EXTMCLR (abs) 000000
__CFG_P2BMX$PORTD2 (abs) 000000
__CFG_PBADEN$ON (abs) 000000
__CFG_PLLCFG$OFF (abs) 000000
__CFG_PRICLKEN$ON (abs) 000000
__CFG_PWRTEN$OFF (abs) 000000
__CFG_STVREN$ON (abs) 000000
__CFG_T3CMX$PORTC0 (abs) 000000
__CFG_WDTEN$ON (abs) 000000
__CFG_WDTPS$32768 (abs) 000000
__CFG_WRT0$OFF (abs) 000000
__CFG_WRT1$OFF (abs) 000000
__CFG_WRTB$OFF (abs) 000000
__CFG_WRTC$OFF (abs) 000000
__CFG_WRTD$OFF (abs) 000000
__CFG_XINST$OFF (abs) 000000
__HRAM (abs) 000000
__Habs1 abs1 000000
__Hbank0 bank0 000000
__Hbank1 bank1 000000
__Hbank2 bank2 000000
__Hbank3 bank3 000000
__Hbank4 bank4 000000
__Hbank5 bank5 000000
__Hbigbss bigbss 000000
__Hbigdata bigdata 000000
__Hbigram bigram 000000
__Hbss bss 000000
__Hcinit cinit 000000
__Hclrtext clrtext 000000
__Hcomram comram 000000
__Hconfig config 30000E
__Hconst const 000000
__HcstackCOMRAM cstackCOMRAM 000000
__Hdata data 000000
__Heeprom_data eeprom_data 000000
__Hfarbss farbss 000000
__Hfardata fardata 000000
__Hibigdata ibigdata 000000
__Hidata idata 000000
__Hidloc idloc 200008
__Hifardata ifardata 000000
__Hinit init 000004
__Hintcode intcode 000000
__Hintcode_body intcode_body 000000
__Hintcodelo intcodelo 000000
__Hintentry intentry 000000
__Hintret intret 000000
__Hintsave_regs intsave_regs 000000
__Hirdata irdata 000000
__Hmediumconst mediumconst 000000
__HnvFARRAM nvFARRAM 000000
__Hnvbit nvbit 000000
__Hnvrram nvrram 000000
__Hparam rparam 000000
__Hpowerup powerup 000000
__Hram ram 000000
__Hramtop ramtop 000600
__Hrbit rbit 000000
__Hrbss rbss 000000
__Hrdata rdata 000000
__Hreset_vec reset_vec 000000
__Hrparam rparam 000000
__Hsfr sfr 000000
__Hsmallconst smallconst 000000
__Hspace_0 (abs) 30000E
__Hspace_1 (abs) 000015
__Hspace_2 (abs) 000000
__Hstack stack 000000
__Hstruct struct 000000
__Htemp temp 000000
__Htext text 000000
__Htext0 text0 000000
__Htext1 text1 000000
__Htext2 text2 000000
__Htext3 text3 000000
__Htext4 text4 000000
__Htext5 text5 000000
__Htext6 text6 000000
__LRAM (abs) 000001
__Labs1 abs1 000000
__Lbank0 bank0 000000
__Lbank1 bank1 000000
__Lbank2 bank2 000000
__Lbank3 bank3 000000
__Lbank4 bank4 000000
__Lbank5 bank5 000000
__Lbigbss bigbss 000000
__Lbigdata bigdata 000000
__Lbigram bigram 000000
__Lbss bss 000000
__Lcinit cinit 000000
__Lclrtext clrtext 000000
__Lcomram comram 000000
__Lconfig config 300000
__Lconst const 000000
__LcstackCOMRAM cstackCOMRAM 000000
__Ldata data 000000
__Leeprom_data eeprom_data 000000
__Lfarbss farbss 000000
__Lfardata fardata 000000
__Libigdata ibigdata 000000
__Lidata idata 000000
__Lidloc idloc 200000
__Lifardata ifardata 000000
__Linit init 000000
__Lintcode intcode 000000
__Lintcode_body intcode_body 000000
__Lintcodelo intcodelo 000000
__Lintentry intentry 000000
__Lintret intret 000000
__Lintsave_regs intsave_regs 000000
__Lirdata irdata 000000
__Lmediumconst mediumconst 000000
__LnvFARRAM nvFARRAM 000000
__Lnvbit nvbit 000000
__Lnvrram nvrram 000000
__Lparam rparam 000000
__Lpowerup powerup 000000
__Lram ram 000000
__Lramtop ramtop 000600
__Lrbit rbit 000000
__Lrbss rbss 000000
__Lrdata rdata 000000
__Lreset_vec reset_vec 000000
__Lrparam rparam 000000
__Lsfr sfr 000000
__Lsmallconst smallconst 000000
__Lspace_0 (abs) 000000
__Lspace_1 (abs) 000000
__Lspace_2 (abs) 000000
__Lstack stack 000000
__Lstruct struct 000000
__Ltemp temp 000000
__Ltext text 000000
__Ltext0 text0 000000
__Ltext1 text1 000000
__Ltext2 text2 000000
__Ltext3 text3 000000
__Ltext4 text4 000000
__Ltext5 text5 000000
__Ltext6 text6 000000
__S0 (abs) 30000E
__S1 (abs) 000015
__S2 (abs) 000000
___inthi_sp stack 000000
___intlo_sp stack 000000
___param_bank (abs) 000000
___rparam_used (abs) 000001
___sp stack 000000
__accesstop (abs) 000060
__activetblptr (abs) 000000
__end_of__initialization cinit 007E60
__end_of_eusart_init text6 007E8A
__end_of_eusart_write_midi text4 008000
__end_of_main text0 007F02
__end_of_midi_note_on text1 007F78
__end_of_midi_set_channel text3 007ED4
__end_of_midi_set_status text2 007EAE
__end_of_putch text5 007E72
__initialization cinit 007E60
__mediumconst mediumconst 000000
__pcinit cinit 007E60
__pcstackCOMRAM cstackCOMRAM 000001
__ptext0 text0 007ED4
__ptext1 text1 007F02
__ptext2 text2 007E8A
__ptext3 text3 007EAE
__ptext4 text4 007F78
__ptext5 text5 007E66
__ptext6 text6 007E72
__ramtop ramtop 000600
__size_of_eusart_init (abs) 000000
__size_of_eusart_write_midi (abs) 000000
__size_of_main (abs) 000000
__size_of_midi_note_on (abs) 000000
__size_of_midi_set_channel (abs) 000000
__size_of_midi_set_status (abs) 000000
__size_of_putch (abs) 000000
__smallconst smallconst 000000
_eusart_init text6 007E72
_eusart_write_midi text4 007F78
_main text0 007ED4
_midi_note_on text1 007F02
_midi_set_channel text3 007EAE
_midi_set_status text2 007E8A
_putch text5 007E66
end_of_initialization cinit 007E60
eusart_write_midi@data cstackCOMRAM 000008
eusart_write_midi@length cstackCOMRAM 000006
eusart_write_midi@pkt cstackCOMRAM 000002
intlevel0 text 000000
intlevel1 text 000000
intlevel2 text 000000
intlevel3 text 000000
main@sample_message cstackCOMRAM 00000E
midi_note_on@channel cstackCOMRAM 000008
midi_note_on@note cstackCOMRAM 00000A
midi_note_on@pkt cstackCOMRAM 000006
midi_note_on@velocity cstackCOMRAM 00000B
midi_set_channel@channel cstackCOMRAM 000003
midi_set_channel@pkt cstackCOMRAM 000001
midi_set_status@pkt cstackCOMRAM 000001
midi_set_status@status cstackCOMRAM 000003
putch@c cstackCOMRAM 000001
stackhi (abs) 0005FF
stacklo (abs) 000060
start init 000000
start_initialization cinit 007E60
FUNCTION INFORMATION:
*************** function _main *****************
Defined at:
line 105 in file "main.c"
Parameters: Size Location Type
None
Auto vars: Size Location Type
sample_messa 7 13[COMRAM] struct .
Return value: Size Location Type
1 wreg void
Registers used:
wreg, fsr2l, fsr2h, status,2, status,0, cstack
Tracked objects:
On entry :
On exit :
Unchanged:
Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
Params: 0 0 0 0 0 0 0
Locals: 7 0 0 0 0 0 0
Temps: 0 0 0 0 0 0 0
Totals: 7 0 0 0 0 0 0
Total ram usage: 7 bytes
Hardware stack levels required when called: 2
This function calls:
_eusart_init
_eusart_write_midi
_midi_note_on
This function is called by:
Startup code after reset
This function uses a non-reentrant model
*************** function _midi_note_on *****************
Defined at:
line 64 in file "midi.c"
Parameters: Size Location Type
pkt 2 5[COMRAM] PTR struct .
-> main@sample_message(7),
channel 2 7[COMRAM] unsigned int
note 1 9[COMRAM] enum E31
velocity 1 10[COMRAM] unsigned char
Auto vars: Size Location Type
None
Return value: Size Location Type
2 5[COMRAM] int
Registers used:
wreg, fsr2l, fsr2h, status,2, status,0, cstack
Tracked objects:
On entry :
On exit :
Unchanged:
Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
Params: 6 0 0 0 0 0 0
Locals: 0 0 0 0 0 0 0
Temps: 2 0 0 0 0 0 0
Totals: 8 0 0 0 0 0 0
Total ram usage: 8 bytes
Hardware stack levels used: 1
Hardware stack levels required when called: 1
This function calls:
_midi_set_channel
_midi_set_status
This function is called by:
_main
This function uses a non-reentrant model
*************** function _midi_set_status *****************
Defined at:
line 42 in file "midi.c"
Parameters: Size Location Type
pkt 2 0[COMRAM] PTR struct .
-> main@sample_message(7),
status 1 2[COMRAM] enum E40
Auto vars: Size Location Type
None
Return value: Size Location Type
2 0[COMRAM] int
Registers used:
wreg, fsr2l, fsr2h, status,2, status,0
Tracked objects:
On entry :
On exit :
Unchanged:
Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
Params: 3 0 0 0 0 0 0
Locals: 0 0 0 0 0 0 0
Temps: 1 0 0 0 0 0 0
Totals: 4 0 0 0 0 0 0
Total ram usage: 4 bytes
Hardware stack levels used: 1
This function calls:
Nothing
This function is called by:
_midi_note_on
_midi_note_off
This function uses a non-reentrant model
*************** function _midi_set_channel *****************
Defined at:
line 53 in file "midi.c"
Parameters: Size Location Type
pkt 2 0[COMRAM] PTR struct .
-> main@sample_message(7),
channel 2 2[COMRAM] unsigned int
Auto vars: Size Location Type
None
Return value: Size Location Type
2 0[COMRAM] int
Registers used:
wreg, fsr2l, fsr2h, status,2, status,0
Tracked objects:
On entry :
On exit :
Unchanged:
Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
Params: 4 0 0 0 0 0 0
Locals: 0 0 0 0 0 0 0
Temps: 1 0 0 0 0 0 0
Totals: 5 0 0 0 0 0 0
Total ram usage: 5 bytes
Hardware stack levels used: 1
This function calls:
Nothing
This function is called by:
_midi_note_on
_midi_note_off
This function uses a non-reentrant model
*************** function _eusart_write_midi *****************
Defined at:
line 81 in file "main.c"
Parameters: Size Location Type
pkt 2 1[COMRAM] PTR struct .
-> main@sample_message(7),
Auto vars: Size Location Type
data 2 7[COMRAM] PTR unsigned char
-> sample_message.data(4), main@sample_message(7),
length 2 5[COMRAM] unsigned int
Return value: Size Location Type
2 1[COMRAM] int
Registers used:
wreg, fsr2l, fsr2h, status,2, status,0, cstack
Tracked objects:
On entry :
On exit :
Unchanged:
Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
Params: 2 0 0 0 0 0 0
Locals: 4 0 0 0 0 0 0
Temps: 2 0 0 0 0 0 0
Totals: 8 0 0 0 0 0 0
Total ram usage: 8 bytes
Hardware stack levels used: 1
Hardware stack levels required when called: 1
This function calls:
_putch
This function is called by:
_main
This function uses a non-reentrant model
*************** function _putch *****************
Defined at:
line 23 in file "rs232.c"
Parameters: Size Location Type
c 1 wreg unsigned char
Auto vars: Size Location Type
c 1 0[COMRAM] unsigned char
Return value: Size Location Type
1 wreg void
Registers used:
wreg
Tracked objects:
On entry :
On exit :
Unchanged:
Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
Params: 0 0 0 0 0 0 0
Locals: 1 0 0 0 0 0 0
Temps: 0 0 0 0 0 0 0
Totals: 1 0 0 0 0 0 0
Total ram usage: 1 bytes
Hardware stack levels used: 1
This function calls:
Nothing
This function is called by:
_eusart_write_midi
_getche
This function uses a non-reentrant model
*************** function _eusart_init *****************
Defined at:
line 4 in file "rs232.c"
Parameters: Size Location Type
None
Auto vars: Size Location Type
None
Return value: Size Location Type
1 wreg void
Registers used:
wreg, status,2
Tracked objects:
On entry :
On exit :
Unchanged:
Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5
Params: 0 0 0 0 0 0 0
Locals: 0 0 0 0 0 0 0
Temps: 0 0 0 0 0 0 0
Totals: 0 0 0 0 0 0 0
Total ram usage: 0 bytes
Hardware stack levels used: 1
This function calls:
Nothing
This function is called by:
_main
This function uses a non-reentrant model
MODULE INFORMATION
Module Function Class Link Load Size
rs232.c
_putch CODE 7E66 0000 13
_eusart_init CODE 7E72 0000 25
rs232.c estimated size: 38
shared
__initialization CODE 7E60 0000 1
shared estimated size: 1
midi.c
_midi_set_channel CODE 7EAE 0000 39
_midi_note_on CODE 7F02 0000 119
_midi_set_status CODE 7E8A 0000 37
midi.c estimated size: 195
main.c
_eusart_write_midi CODE 7F78 0000 137
_main CODE 7ED4 0000 47
main.c estimated size: 184
|