summaryrefslogtreecommitdiffstats
path: root/src/dist/default/production/src.production.lst
blob: 95ed93a2b7f92dde43285e02a8eea6eceabaf614 (plain)
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
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
Microchip Technology PIC18 LITE Macro Assembler V1.44 build -154322312 
                                                                                               Tue Feb 27 10:27:03 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	cinit,global,reloc=2,class=CODE,delta=1
     6                           	psect	bssBANK0,global,class=BANK0,space=1,delta=1,lowdata,noexec
     7                           	psect	cstackBANK0,global,class=BANK0,space=1,delta=1,noexec
     8                           	psect	cstackCOMRAM,global,class=COMRAM,space=1,delta=1,noexec
     9                           	psect	text0,global,reloc=2,class=CODE,delta=1
    10                           	psect	text1,global,reloc=2,class=CODE,delta=1
    11                           	psect	text2,global,reloc=2,class=CODE,delta=1
    12                           	psect	text3,global,reloc=2,class=CODE,delta=1
    13                           	psect	text4,global,reloc=2,class=CODE,delta=1,group=1
    14                           	psect	text5,global,reloc=2,class=CODE,delta=1,inline
    15                           	psect	text6,global,reloc=2,class=CODE,delta=1
    16                           	psect	text7,global,reloc=2,class=CODE,delta=1
    17                           	psect	text8,global,reloc=2,class=CODE,delta=1
    18                           	psect	text9,global,reloc=2,class=CODE,delta=1
    19                           	psect	intcode,global,reloc=2,class=CODE,delta=1
    20                           	psect	intsave_regs,global,class=BIGRAM,space=1,delta=1,noexec
    21                           	psect	rparam,global,class=COMRAM,space=1,delta=1,noexec
    22                           	psect	temp,global,ovrld,common,class=COMRAM,space=1,delta=1
    23  0000                     
    24                           ; Version 1.44
    25                           ; Generated 14/09/2017 GMT
    26                           ; 
    27                           ; Copyright © 2017, Microchip Technology Inc. and its subsidiaries ("Microchip")
    28                           ; All rights reserved.
    29                           ; 
    30                           ; This software is developed by Microchip Technology Inc. and its subsidiaries ("Microch
      +                          ip").
    31                           ; 
    32                           ; Redistribution and use in source and binary forms, with or without modification, are
    33                           ; permitted provided that the following conditions are met:
    34                           ; 
    35                           ;     1. Redistributions of source code must retain the above copyright notice, this lis
      +                          t of
    36                           ;        conditions and the following disclaimer.
    37                           ; 
    38                           ;     2. Redistributions in binary form must reproduce the above copyright notice, this 
      +                          list
    39                           ;        of conditions and the following disclaimer in the documentation and/or other
    40                           ;        materials provided with the distribution.
    41                           ; 
    42                           ;     3. Microchip's name may not be used to endorse or promote products derived from th
      +                          is
    43                           ;        software without specific prior written permission.
    44                           ; 
    45                           ; THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
    46                           ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS F
      +                          OR
    47                           ; PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL MICROCHIP BE LIABLE FOR ANY DIRECT, INDIREC
      +                          T,
    48                           ; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO
    49                           ; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS
    50                           ; INTERRUPTION) HOWSOEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ST
      +                          RICT
    51                           ; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE U
      +                          SE OF
    52                           ; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    53                           ; 
    54                           ; 
    55                           ; Code-generator required, PIC18F45K22 Definitions
    56                           ; 
    57                           ; SFR Addresses
    58  0000                     _ANSELD	set	3899
    59  0000                     _ANSELC	set	3898
    60  0000                     _ANSELB	set	3897
    61  0000                     _ANSELA	set	3896
    62  0000                     _RC1REG	set	4014
    63  0000                     _TX2REG	set	3955
    64  0000                     _TX1REG	set	4013
    65  0000                     _BAUDCON2bits	set	3952
    66  0000                     _SPBRGH2	set	3958
    67  0000                     _SPBRG2	set	3957
    68  0000                     _RCSTA2bits	set	3953
    69  0000                     _TXSTA2bits	set	3954
    70  0000                     _TRISCbits	set	3988
    71  0000                     _BAUDCON1bits	set	4024
    72  0000                     _SPBRGH1	set	4016
    73  0000                     _SPBRG1	set	4015
    74  0000                     _RCSTA1bits	set	4011
    75  0000                     _TXSTA1bits	set	4012
    76  0000                     _PIE1bits	set	3997
    77  0000                     _T2CONbits	set	4026
    78  0000                     _PR2	set	4027
    79  0000                     _TRISDbits	set	3989
    80  0000                     _TRISB	set	3987
    81  0000                     _TRISA	set	3986
    82  0000                     _OSCCONbits	set	4051
    83  0000                     _OSCTUNEbits	set	3995
    84  0000                     _INTCONbits	set	4082
    85  0000                     _PORTAbits	set	3968
    86  0000                     _PORTB	set	3969
    87  0000                     _PORTA	set	3968
    88  0000                     _PIR1bits	set	3998
    89  0000                     _PORTDbits	set	3971
    90  0000                     _RC1IF	set	31989
    91  0000                     _TX2IF	set	32036
    92  0000                     _TX1IF	set	31988
    93                           
    94                           ; #config settings
    95  0000                     
    96                           	psect	cinit
    97  00061C                     __pcinit:
    98                           	opt stack 0
    99  00061C                     start_initialization:
   100                           	opt stack 0
   101  00061C                     __initialization:
   102                           	opt stack 0
   103                           
   104                           ; Clear objects allocated to BANK0 (66 bytes)
   105  00061C  EE00  F060         	lfsr	0,__pbssBANK0
   106  000620  0E42               	movlw	66
   107  000622                     clear_0:
   108  000622  6AEE               	clrf	postinc0,c
   109  000624  06E8               	decf	wreg,f,c
   110  000626  E1FD               	bnz	clear_0
   111  000628                     end_of_initialization:
   112                           	opt stack 0
   113  000628                     __end_of__initialization:
   114                           	opt stack 0
   115  000628  9034               	bcf	int$flags,0,c	;clear compiler interrupt flag (level 1)
   116  00062A  9234               	bcf	int$flags,1,c	;clear compiler interrupt flag (level 2)
   117  00062C  0E00               	movlw	low (__Lmediumconst shr (0+16))
   118  00062E  6EF8               	movwf	tblptru,c
   119  000630  0100               	movlb	0
   120  000632  EFAB  F001         	goto	_main	;jump to C main() function
   121                           tblptru	equ	0xFF8
   122                           postinc0	equ	0xFEE
   123                           wreg	equ	0xFE8
   124                           
   125                           	psect	bssBANK0
   126  000060                     __pbssBANK0:
   127                           	opt stack 0
   128  000060                     _keypresses:
   129                           	opt stack 0
   130  000060                     	ds	2
   131  000062                     _keys_data:
   132                           	opt stack 0
   133  000062                     	ds	64
   134                           tblptru	equ	0xFF8
   135                           postinc0	equ	0xFEE
   136                           wreg	equ	0xFE8
   137                           
   138                           	psect	cstackBANK0
   139  0000A2                     __pcstackBANK0:
   140                           	opt stack 0
   141  0000A2                     midi_note_on@pkt:
   142                           	opt stack 0
   143                           
   144                           ; 2 bytes @ 0x0
   145  0000A2                     	ds	2
   146  0000A4                     midi_note_on@channel:
   147                           	opt stack 0
   148                           
   149                           ; 2 bytes @ 0x2
   150  0000A4                     	ds	2
   151  0000A6                     midi_note_on@note:
   152                           	opt stack 0
   153                           
   154                           ; 1 bytes @ 0x4
   155  0000A6                     	ds	1
   156  0000A7                     midi_note_on@velocity:
   157                           	opt stack 0
   158                           
   159                           ; 1 bytes @ 0x5
   160  0000A7                     	ds	1
   161  0000A8                     ??_main:
   162                           
   163                           ; 1 bytes @ 0x6
   164  0000A8                     	ds	5
   165  0000AD                     main@i:
   166                           	opt stack 0
   167                           
   168                           ; 2 bytes @ 0xB
   169  0000AD                     	ds	2
   170  0000AF                     main@message:
   171                           	opt stack 0
   172                           
   173                           ; 7 bytes @ 0xD
   174  0000AF                     	ds	7
   175                           tblptru	equ	0xFF8
   176                           postinc0	equ	0xFEE
   177                           wreg	equ	0xFE8
   178                           
   179                           	psect	cstackCOMRAM
   180  000001                     __pcstackCOMRAM:
   181                           	opt stack 0
   182  000001                     ??_isr:
   183  000001                     
   184                           ; 1 bytes @ 0x0
   185  000001                     	ds	36
   186  000025                     isr@data_a:
   187                           	opt stack 0
   188                           
   189                           ; 1 bytes @ 0x24
   190  000025                     	ds	1
   191  000026                     isr@data_b:
   192                           	opt stack 0
   193                           
   194                           ; 1 bytes @ 0x25
   195  000026                     	ds	1
   196  000027                     _isr$595:
   197                           	opt stack 0
   198                           
   199                           ; 1 bytes @ 0x26
   200  000027                     	ds	1
   201  000028                     _isr$596:
   202                           	opt stack 0
   203                           
   204                           ; 1 bytes @ 0x27
   205  000028                     	ds	1
   206  000029                     _isr$605:
   207                           	opt stack 0
   208                           
   209                           ; 1 bytes @ 0x28
   210  000029                     	ds	1
   211  00002A                     isr@i:
   212                           	opt stack 0
   213                           
   214                           ; 1 bytes @ 0x29
   215  00002A                     	ds	1
   216  00002B                     eusart2_putch@c:
   217                           	opt stack 0
   218  00002B                     midi_set_status@pkt:
   219                           	opt stack 0
   220  00002B                     midi_set_channel@pkt:
   221                           	opt stack 0
   222  00002B                     memset@p1:
   223                           	opt stack 0
   224                           
   225                           ; 2 bytes @ 0x2A
   226  00002B                     	ds	1
   227  00002C                     eusart_write_midi@pkt:
   228                           	opt stack 0
   229                           
   230                           ; 2 bytes @ 0x2B
   231  00002C                     	ds	1
   232  00002D                     midi_set_status@status:
   233                           	opt stack 0
   234  00002D                     midi_set_channel@channel:
   235                           	opt stack 0
   236  00002D                     memset@c:
   237                           	opt stack 0
   238                           
   239                           ; 2 bytes @ 0x2C
   240  00002D                     	ds	1
   241  00002E                     ??_eusart_write_midi:
   242  00002E                     ??_midi_set_status:
   243                           
   244                           ; 1 bytes @ 0x2D
   245  00002E                     	ds	1
   246  00002F                     ??_midi_set_channel:
   247  00002F                     memset@n:
   248                           	opt stack 0
   249                           
   250                           ; 2 bytes @ 0x2E
   251  00002F                     	ds	1
   252  000030                     eusart_write_midi@length:
   253                           	opt stack 0
   254                           
   255                           ; 2 bytes @ 0x2F
   256  000030                     	ds	1
   257  000031                     memset@p:
   258                           	opt stack 0
   259                           
   260                           ; 2 bytes @ 0x30
   261  000031                     	ds	1
   262  000032                     eusart_write_midi@data:
   263                           	opt stack 0
   264                           
   265                           ; 2 bytes @ 0x31
   266  000032                     	ds	2
   267                           tblptru	equ	0xFF8
   268                           postinc0	equ	0xFEE
   269                           wreg	equ	0xFE8
   270                           
   271 ;;
   272 ;;Main: autosize = 0, tempsize = 5, incstack = 0, save=0
   273 ;;
   274 ;; *************** function _main *****************
   275 ;; Defined at:
   276 ;;		line 215 in file "main.c"
   277 ;; Parameters:    Size  Location     Type
   278 ;;		None
   279 ;; Auto vars:     Size  Location     Type
   280 ;;  message         7   13[BANK0 ] struct .
   281 ;;  i               2   11[BANK0 ] unsigned int 
   282 ;; Return value:  Size  Location     Type
   283 ;;                  1    wreg      void 
   284 ;; Registers used:
   285 ;;		wreg, fsr2l, fsr2h, status,2, status,0, cstack
   286 ;; Tracked objects:
   287 ;;		On entry : 0/0
   288 ;;		On exit  : 0/0
   289 ;;		Unchanged: 0/0
   290 ;; Data sizes:     COMRAM   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5
   291 ;;      Params:         0       0       0       0       0       0       0
   292 ;;      Locals:         0       9       0       0       0       0       0
   293 ;;      Temps:          0       5       0       0       0       0       0
   294 ;;      Totals:         0      14       0       0       0       0       0
   295 ;;Total ram usage:       14 bytes
   296 ;; Hardware stack levels required when called:    3
   297 ;; This function calls:
   298 ;;		_eusart_write_midi
   299 ;;		_init_hw
   300 ;;		_memset
   301 ;;		_midi_note_on
   302 ;; This function is called by:
   303 ;;		Startup code after reset
   304 ;; This function uses a non-reentrant model
   305 ;;
   306                           
   307                           	psect	text0
   308  000356                     __ptext0:
   309                           	opt stack 0
   310  000356                     _main:
   311                           	opt stack 28
   312                           
   313                           ;main.c: 217: unsigned i;
   314                           ;main.c: 218: midi_message_t message;
   315                           ;main.c: 221: init_hw();
   316                           
   317                           ;incstack = 0
   318  000356  EC86  F002         	call	_init_hw	;wreg free
   319                           
   320                           ;main.c: 224: memset(keys_data, 0, sizeof(keys_data));
   321  00035A  0E62               	movlw	low _keys_data
   322  00035C  6E2B               	movwf	memset@p1,c
   323  00035E  0E00               	movlw	high _keys_data
   324  000360  6E2C               	movwf	memset@p1+1,c
   325  000362  0E00               	movlw	0
   326  000364  6E2E               	movwf	memset@c+1,c
   327  000366  0E00               	movlw	0
   328  000368  6E2D               	movwf	memset@c,c
   329  00036A  0E00               	movlw	0
   330  00036C  6E30               	movwf	memset@n+1,c
   331  00036E  0E40               	movlw	64
   332  000370  6E2F               	movwf	memset@n,c
   333  000372  ECB7  F002         	call	_memset	;wreg free
   334                           
   335                           ;main.c: 226: (INTCONbits.GIE = 1);
   336  000376  8EF2               	bsf	intcon,7,c	;volatile
   337                           
   338                           ;main.c: 229: PORTDbits.RD1 = 0;
   339  000378  9283               	bcf	3971,1,c	;volatile
   340                           
   341                           ;main.c: 232: midi_note_on(&message, 0x0, 0x3C, 0x7F);
   342  00037A  0EAF               	movlw	low main@message
   343  00037C  0100               	movlb	0	; () banked
   344  00037E  6FA2               	movwf	midi_note_on@pkt& (0+255),b
   345  000380  0E00               	movlw	high main@message
   346  000382  6FA3               	movwf	(midi_note_on@pkt+1)& (0+255),b
   347  000384  0E00               	movlw	0
   348  000386  6FA5               	movwf	(midi_note_on@channel+1)& (0+255),b
   349  000388  0E00               	movlw	0
   350  00038A  6FA4               	movwf	midi_note_on@channel& (0+255),b
   351  00038C  0E3C               	movlw	60
   352  00038E  6FA6               	movwf	midi_note_on@note& (0+255),b
   353  000390  0E7F               	movlw	127
   354  000392  6FA7               	movwf	midi_note_on@velocity& (0+255),b
   355  000394  EC53  F002         	call	_midi_note_on	;wreg free
   356  000398                     l1202:
   357                           
   358                           ;main.c: 237: for (i = 0; i < 16; i++) {
   359  000398  0E00               	movlw	0
   360  00039A  0100               	movlb	0	; () banked
   361  00039C  6FAE               	movwf	(main@i+1)& (0+255),b
   362  00039E  0E00               	movlw	0
   363  0003A0  6FAD               	movwf	main@i& (0+255),b
   364  0003A2                     l1204:
   365                           
   366                           ; BSR set to: 0
   367  0003A2  51AE               	movf	(main@i+1)& (0+255),w,b
   368  0003A4  E1F9               	bnz	l1202
   369  0003A6  0E10               	movlw	16
   370  0003A8  5DAD               	subwf	main@i& (0+255),w,b
   371  0003AA  B0D8               	btfsc	status,0,c
   372  0003AC  D7F5               	goto	l76
   373                           
   374                           ; BSR set to: 0
   375                           ;main.c: 238: if (keypresses & (1<<i)) {
   376                           
   377                           ; BSR set to: 0
   378                           
   379                           ; BSR set to: 0
   380  0003AE  C0AD  F0A8         	movff	main@i,??_main
   381  0003B2  0E01               	movlw	1
   382  0003B4  6FA9               	movwf	(??_main+1)& (0+255),b
   383  0003B6  0E00               	movlw	0
   384  0003B8  6FAA               	movwf	(??_main+2)& (0+255),b
   385  0003BA  2BA8               	incf	??_main& (0+255),f,b
   386  0003BC  D003               	goto	u524
   387  0003BE                     u525:
   388  0003BE  90D8               	bcf	status,0,c
   389  0003C0  37A9               	rlcf	(??_main+1)& (0+255),f,b
   390  0003C2  37AA               	rlcf	(??_main+2)& (0+255),f,b
   391  0003C4                     u524:
   392  0003C4  2FA8               	decfsz	??_main& (0+255),f,b
   393  0003C6  D7FB               	goto	u525
   394  0003C8  0100               	movlb	0	; () banked
   395  0003CA  5160               	movf	_keypresses& (0+255),w,b	;volatile
   396  0003CC  17A9               	andwf	(??_main+1)& (0+255),f,b
   397  0003CE  5161               	movf	(_keypresses+1)& (0+255),w,b	;volatile
   398  0003D0  17AA               	andwf	(??_main+2)& (0+255),f,b
   399  0003D2  51A9               	movf	(??_main+1)& (0+255),w,b
   400  0003D4  11AA               	iorwf	(??_main+2)& (0+255),w,b
   401  0003D6  B4D8               	btfsc	status,2,c
   402  0003D8  D029               	goto	l79
   403                           
   404                           ; BSR set to: 0
   405                           ;main.c: 241: message.data[0] = 0x3C + i;
   406  0003DA  51AD               	movf	main@i& (0+255),w,b
   407  0003DC  0F3C               	addlw	60
   408  0003DE  6FB2               	movwf	(main@message+3)& (0+255),b
   409                           
   410                           ; BSR set to: 0
   411                           ;main.c: 244: eusart_write_midi(&message);
   412  0003E0  0EAF               	movlw	low main@message
   413  0003E2  6E2C               	movwf	eusart_write_midi@pkt,c
   414  0003E4  0E00               	movlw	high main@message
   415  0003E6  6E2D               	movwf	eusart_write_midi@pkt+1,c
   416  0003E8  EC19  F002         	call	_eusart_write_midi	;wreg free
   417                           
   418                           ;main.c: 251: _delay((unsigned long)((10)*(64000000/4000.0)));
   419  0003EC  0ED0               	movlw	208
   420  0003EE  0100               	movlb	0	; () banked
   421  0003F0  6FA8               	movwf	??_main& (0+255),b
   422  0003F2  0EC9               	movlw	201
   423  0003F4                     u577:
   424  0003F4  2EE8               	decfsz	wreg,f,c
   425  0003F6  D7FE               	bra	u577
   426  0003F8  2FA8               	decfsz	??_main& (0+255),f,b
   427  0003FA  D7FC               	bra	u577
   428  0003FC  D000               	nop2	
   429                           
   430                           ;main.c: 254: keypresses &= ~(1<<i);
   431  0003FE  C0AD  F0A8         	movff	main@i,??_main
   432  000402  0E01               	movlw	1
   433  000404  0100               	movlb	0	; () banked
   434  000406  6FA9               	movwf	(??_main+1)& (0+255),b
   435  000408  0E00               	movlw	0
   436  00040A  6FAA               	movwf	(??_main+2)& (0+255),b
   437  00040C  2BA8               	incf	??_main& (0+255),f,b
   438  00040E  D003               	goto	u544
   439  000410                     u545:
   440  000410  90D8               	bcf	status,0,c
   441  000412  37A9               	rlcf	(??_main+1)& (0+255),f,b
   442  000414  37AA               	rlcf	(??_main+2)& (0+255),f,b
   443  000416                     u544:
   444  000416  2FA8               	decfsz	??_main& (0+255),f,b
   445  000418  D7FB               	goto	u545
   446  00041A  0100               	movlb	0	; () banked
   447  00041C  1DA9               	comf	(??_main+1)& (0+255),w,b
   448  00041E  6FAB               	movwf	(??_main+3)& (0+255),b
   449  000420  1DAA               	comf	(??_main+2)& (0+255),w,b
   450  000422  6FAC               	movwf	(??_main+4)& (0+255),b
   451  000424  51AB               	movf	(??_main+3)& (0+255),w,b
   452  000426  1760               	andwf	_keypresses& (0+255),f,b	;volatile
   453  000428  51AC               	movf	(??_main+4)& (0+255),w,b
   454  00042A  1761               	andwf	(_keypresses+1)& (0+255),f,b	;volatile
   455  00042C                     l79:
   456                           
   457                           ; BSR set to: 0
   458                           
   459                           ; BSR set to: 0
   460  00042C  4BAD               	infsnz	main@i& (0+255),f,b
   461  00042E  2BAE               	incf	(main@i+1)& (0+255),f,b
   462  000430  D7B8               	goto	l1204
   463  000432                     __end_of_main:
   464                           	opt stack 0
   465                           tblptru	equ	0xFF8
   466                           intcon	equ	0xFF2
   467                           postinc0	equ	0xFEE
   468                           wreg	equ	0xFE8
   469                           status	equ	0xFD8
   470                           
   471 ;; *************** function _midi_note_on *****************
   472 ;; Defined at:
   473 ;;		line 62 in file "midi.c"
   474 ;; Parameters:    Size  Location     Type
   475 ;;  pkt             2    0[BANK0 ] PTR struct .
   476 ;;		 -> main@message(7), 
   477 ;;  channel         2    2[BANK0 ] unsigned int 
   478 ;;  note            1    4[BANK0 ] enum E31
   479 ;;  velocity        1    5[BANK0 ] unsigned char 
   480 ;; Auto vars:     Size  Location     Type
   481 ;;		None
   482 ;; Return value:  Size  Location     Type
   483 ;;                  2    0[BANK0 ] int 
   484 ;; Registers used:
   485 ;;		wreg, fsr2l, fsr2h, status,2, status,0, cstack
   486 ;; Tracked objects:
   487 ;;		On entry : 0/0
   488 ;;		On exit  : 0/0
   489 ;;		Unchanged: 0/0
   490 ;; Data sizes:     COMRAM   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5
   491 ;;      Params:         0       6       0       0       0       0       0
   492 ;;      Locals:         0       0       0       0       0       0       0
   493 ;;      Temps:          0       0       0       0       0       0       0
   494 ;;      Totals:         0       6       0       0       0       0       0
   495 ;;Total ram usage:        6 bytes
   496 ;; Hardware stack levels used:    1
   497 ;; Hardware stack levels required when called:    2
   498 ;; This function calls:
   499 ;;		_midi_set_channel
   500 ;;		_midi_set_status
   501 ;; This function is called by:
   502 ;;		_main
   503 ;; This function uses a non-reentrant model
   504 ;;
   505                           
   506                           	psect	text1
   507  0004A6                     __ptext1:
   508                           	opt stack 0
   509  0004A6                     _midi_note_on:
   510                           	opt stack 28
   511                           
   512                           ;midi.c: 64: if (pkt == (0)) {
   513                           
   514                           ; BSR set to: 0
   515                           ;incstack = 0
   516  0004A6  0100               	movlb	0	; () banked
   517  0004A8  51A2               	movf	midi_note_on@pkt& (0+255),w,b
   518  0004AA  11A3               	iorwf	(midi_note_on@pkt+1)& (0+255),w,b
   519  0004AC  B4D8               	btfsc	status,2,c
   520  0004AE  0012               	return	
   521                           
   522                           ; BSR set to: 0
   523                           ;midi.c: 66: }
   524                           ;midi.c: 74: midi_set_status(pkt, NOTE_ON);
   525                           
   526                           ; BSR set to: 0
   527                           
   528                           ; BSR set to: 0
   529                           ;midi.c: 65: return -1;
   530                           ;	Return value of _midi_note_on is never used
   531  0004B0  C0A2  F02B         	movff	midi_note_on@pkt,midi_set_status@pkt
   532  0004B4  C0A3  F02C         	movff	midi_note_on@pkt+1,midi_set_status@pkt+1
   533  0004B8  0E08               	movlw	8
   534  0004BA  6E2D               	movwf	midi_set_status@status,c
   535  0004BC  ECE0  F002         	call	_midi_set_status	;wreg free
   536                           
   537                           ;midi.c: 75: midi_set_channel(pkt, channel);
   538  0004C0  C0A2  F02B         	movff	midi_note_on@pkt,midi_set_channel@pkt
   539  0004C4  C0A3  F02C         	movff	midi_note_on@pkt+1,midi_set_channel@pkt+1
   540  0004C8  C0A4  F02D         	movff	midi_note_on@channel,midi_set_channel@channel
   541  0004CC  C0A5  F02E         	movff	midi_note_on@channel+1,midi_set_channel@channel+1
   542  0004D0  ECCD  F002         	call	_midi_set_channel	;wreg free
   543                           
   544                           ;midi.c: 77: pkt->data[0] = note;
   545  0004D4  0100               	movlb	0	; () banked
   546  0004D6  EE20 F003          	lfsr	2,3
   547  0004DA  51A2               	movf	midi_note_on@pkt& (0+255),w,b
   548  0004DC  26D9               	addwf	fsr2l,f,c
   549  0004DE  51A3               	movf	(midi_note_on@pkt+1)& (0+255),w,b
   550  0004E0  22DA               	addwfc	fsr2h,f,c
   551  0004E2  C0A6  FFDF         	movff	midi_note_on@note,indf2
   552                           
   553                           ; BSR set to: 0
   554                           ;midi.c: 78: pkt->data[1] = velocity;
   555  0004E6  EE20 F004          	lfsr	2,4
   556  0004EA  51A2               	movf	midi_note_on@pkt& (0+255),w,b
   557  0004EC  26D9               	addwf	fsr2l,f,c
   558  0004EE  51A3               	movf	(midi_note_on@pkt+1)& (0+255),w,b
   559  0004F0  22DA               	addwfc	fsr2h,f,c
   560  0004F2  C0A7  FFDF         	movff	midi_note_on@velocity,indf2
   561                           
   562                           ; BSR set to: 0
   563                           ;midi.c: 81: pkt->data_size = 2;
   564  0004F6  EE20 F001          	lfsr	2,1
   565  0004FA  51A2               	movf	midi_note_on@pkt& (0+255),w,b
   566  0004FC  26D9               	addwf	fsr2l,f,c
   567  0004FE  51A3               	movf	(midi_note_on@pkt+1)& (0+255),w,b
   568  000500  22DA               	addwfc	fsr2h,f,c
   569  000502  0E02               	movlw	2
   570  000504  6EDE               	movwf	postinc2,c
   571  000506  0E00               	movlw	0
   572  000508  6EDD               	movwf	postdec2,c
   573  00050A  0012               	return	
   574  00050C                     __end_of_midi_note_on:
   575                           	opt stack 0
   576                           tblptru	equ	0xFF8
   577                           intcon	equ	0xFF2
   578                           postinc0	equ	0xFEE
   579                           wreg	equ	0xFE8
   580                           indf2	equ	0xFDF
   581                           postinc2	equ	0xFDE
   582                           postdec2	equ	0xFDD
   583                           fsr2h	equ	0xFDA
   584                           fsr2l	equ	0xFD9
   585                           status	equ	0xFD8
   586                           
   587 ;; *************** function _midi_set_status *****************
   588 ;; Defined at:
   589 ;;		line 40 in file "midi.c"
   590 ;; Parameters:    Size  Location     Type
   591 ;;  pkt             2   42[COMRAM] PTR struct .
   592 ;;		 -> main@message(7), 
   593 ;;  status          1   44[COMRAM] enum E40
   594 ;; Auto vars:     Size  Location     Type
   595 ;;		None
   596 ;; Return value:  Size  Location     Type
   597 ;;                  2   42[COMRAM] int 
   598 ;; Registers used:
   599 ;;		wreg, fsr2l, fsr2h, status,2, status,0
   600 ;; Tracked objects:
   601 ;;		On entry : 0/0
   602 ;;		On exit  : 0/0
   603 ;;		Unchanged: 0/0
   604 ;; Data sizes:     COMRAM   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5
   605 ;;      Params:         3       0       0       0       0       0       0
   606 ;;      Locals:         0       0       0       0       0       0       0
   607 ;;      Temps:          1       0       0       0       0       0       0
   608 ;;      Totals:         4       0       0       0       0       0       0
   609 ;;Total ram usage:        4 bytes
   610 ;; Hardware stack levels used:    1
   611 ;; Hardware stack levels required when called:    1
   612 ;; This function calls:
   613 ;;		Nothing
   614 ;; This function is called by:
   615 ;;		_midi_note_on
   616 ;;		_midi_note_off
   617 ;; This function uses a non-reentrant model
   618 ;;
   619                           
   620                           	psect	text2
   621  0005C0                     __ptext2:
   622                           	opt stack 0
   623  0005C0                     _midi_set_status:
   624                           	opt stack 28
   625                           
   626                           ;midi.c: 42: if (pkt == (0)) {
   627                           
   628                           ; BSR set to: 0
   629                           ;incstack = 0
   630  0005C0  502B               	movf	midi_set_status@pkt,w,c
   631  0005C2  102C               	iorwf	midi_set_status@pkt+1,w,c
   632  0005C4  B4D8               	btfsc	status,2,c
   633  0005C6  0012               	return	
   634                           
   635                           ;midi.c: 44: }
   636                           ;midi.c: 46: pkt->status = status & 0x0F;
   637                           
   638                           ;midi.c: 43: return -1;
   639                           ;	Return value of _midi_set_status is never used
   640  0005C8  C02D  F02E         	movff	midi_set_status@status,??_midi_set_status
   641  0005CC  0E0F               	movlw	15
   642  0005CE  162E               	andwf	??_midi_set_status,f,c
   643  0005D0  C02B  FFD9         	movff	midi_set_status@pkt,fsr2l
   644  0005D4  C02C  FFDA         	movff	midi_set_status@pkt+1,fsr2h
   645  0005D8  50DF               	movf	indf2,w,c
   646  0005DA  182E               	xorwf	??_midi_set_status,w,c
   647  0005DC  0BF0               	andlw	-16
   648  0005DE  182E               	xorwf	??_midi_set_status,w,c
   649  0005E0  6EDF               	movwf	indf2,c
   650  0005E2  0012               	return	
   651  0005E4                     __end_of_midi_set_status:
   652                           	opt stack 0
   653                           tblptru	equ	0xFF8
   654                           intcon	equ	0xFF2
   655                           postinc0	equ	0xFEE
   656                           wreg	equ	0xFE8
   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 _midi_set_channel *****************
   665 ;; Defined at:
   666 ;;		line 51 in file "midi.c"
   667 ;; Parameters:    Size  Location     Type
   668 ;;  pkt             2   42[COMRAM] PTR struct .
   669 ;;		 -> main@message(7), 
   670 ;;  channel         2   44[COMRAM] unsigned int 
   671 ;; Auto vars:     Size  Location     Type
   672 ;;		None
   673 ;; Return value:  Size  Location     Type
   674 ;;                  2   42[COMRAM] int 
   675 ;; Registers used:
   676 ;;		wreg, fsr2l, fsr2h, status,2, status,0
   677 ;; Tracked objects:
   678 ;;		On entry : 0/0
   679 ;;		On exit  : 0/0
   680 ;;		Unchanged: 0/0
   681 ;; Data sizes:     COMRAM   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5
   682 ;;      Params:         4       0       0       0       0       0       0
   683 ;;      Locals:         0       0       0       0       0       0       0
   684 ;;      Temps:          1       0       0       0       0       0       0
   685 ;;      Totals:         5       0       0       0       0       0       0
   686 ;;Total ram usage:        5 bytes
   687 ;; Hardware stack levels used:    1
   688 ;; Hardware stack levels required when called:    1
   689 ;; This function calls:
   690 ;;		Nothing
   691 ;; This function is called by:
   692 ;;		_midi_note_on
   693 ;;		_midi_note_off
   694 ;; This function uses a non-reentrant model
   695 ;;
   696                           
   697                           	psect	text3
   698  00059A                     __ptext3:
   699                           	opt stack 0
   700  00059A                     _midi_set_channel:
   701                           	opt stack 28
   702                           
   703                           ;midi.c: 53: if (pkt == (0)) {
   704                           
   705                           ;incstack = 0
   706  00059A  502B               	movf	midi_set_channel@pkt,w,c
   707  00059C  102C               	iorwf	midi_set_channel@pkt+1,w,c
   708  00059E  B4D8               	btfsc	status,2,c
   709  0005A0  0012               	return	
   710                           
   711                           ;midi.c: 55: }
   712                           ;midi.c: 57: pkt->channel = channel & 0x0F;
   713                           
   714                           ;midi.c: 54: return -1;
   715                           ;	Return value of _midi_set_channel is never used
   716  0005A2  C02D  F02F         	movff	midi_set_channel@channel,??_midi_set_channel
   717  0005A6  0E0F               	movlw	15
   718  0005A8  162F               	andwf	??_midi_set_channel,f,c
   719  0005AA  C02B  FFD9         	movff	midi_set_channel@pkt,fsr2l
   720  0005AE  C02C  FFDA         	movff	midi_set_channel@pkt+1,fsr2h
   721  0005B2  3A2F               	swapf	??_midi_set_channel,f,c
   722  0005B4  50DF               	movf	indf2,w,c
   723  0005B6  182F               	xorwf	??_midi_set_channel,w,c
   724  0005B8  0B0F               	andlw	-241
   725  0005BA  182F               	xorwf	??_midi_set_channel,w,c
   726  0005BC  6EDF               	movwf	indf2,c
   727  0005BE  0012               	return	
   728  0005C0                     __end_of_midi_set_channel:
   729                           	opt stack 0
   730                           tblptru	equ	0xFF8
   731                           intcon	equ	0xFF2
   732                           postinc0	equ	0xFEE
   733                           wreg	equ	0xFE8
   734                           indf2	equ	0xFDF
   735                           postinc2	equ	0xFDE
   736                           postdec2	equ	0xFDD
   737                           fsr2h	equ	0xFDA
   738                           fsr2l	equ	0xFD9
   739                           status	equ	0xFD8
   740                           
   741 ;; *************** function _memset *****************
   742 ;; Defined at:
   743 ;;		line 8 in file "C:\Program Files\Microchip\xc8\v1.44\sources\common\memset.c"
   744 ;; Parameters:    Size  Location     Type
   745 ;;  p1              2   42[COMRAM] PTR void 
   746 ;;		 -> keys_data(64), 
   747 ;;  c               2   44[COMRAM] int 
   748 ;;  n               2   46[COMRAM] unsigned int 
   749 ;; Auto vars:     Size  Location     Type
   750 ;;  p               2   48[COMRAM] PTR unsigned char 
   751 ;;		 -> keys_data(64), 
   752 ;; Return value:  Size  Location     Type
   753 ;;                  2   42[COMRAM] PTR void 
   754 ;; Registers used:
   755 ;;		wreg, fsr2l, fsr2h, status,2, status,0
   756 ;; Tracked objects:
   757 ;;		On entry : 0/0
   758 ;;		On exit  : 0/0
   759 ;;		Unchanged: 0/0
   760 ;; Data sizes:     COMRAM   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5
   761 ;;      Params:         6       0       0       0       0       0       0
   762 ;;      Locals:         2       0       0       0       0       0       0
   763 ;;      Temps:          0       0       0       0       0       0       0
   764 ;;      Totals:         8       0       0       0       0       0       0
   765 ;;Total ram usage:        8 bytes
   766 ;; Hardware stack levels used:    1
   767 ;; Hardware stack levels required when called:    1
   768 ;; This function calls:
   769 ;;		Nothing
   770 ;; This function is called by:
   771 ;;		_main
   772 ;; This function uses a non-reentrant model
   773 ;;
   774                           
   775                           	psect	text4
   776  00056E                     __ptext4:
   777                           	opt stack 0
   778  00056E                     _memset:
   779                           	opt stack 29
   780                           
   781                           ;incstack = 0
   782  00056E  C02B  F031         	movff	memset@p1,memset@p
   783  000572  C02C  F032         	movff	memset@p1+1,memset@p+1
   784  000576  D008               	goto	l596
   785  000578                     l1110:
   786  000578  C031  FFD9         	movff	memset@p,fsr2l
   787  00057C  C032  FFDA         	movff	memset@p+1,fsr2h
   788  000580  C02D  FFDF         	movff	memset@c,indf2
   789  000584  4A31               	infsnz	memset@p,f,c
   790  000586  2A32               	incf	memset@p+1,f,c
   791  000588                     l596:
   792  000588  062F               	decf	memset@n,f,c
   793  00058A  A0D8               	btfss	status,0,c
   794  00058C  0630               	decf	memset@n+1,f,c
   795  00058E  282F               	incf	memset@n,w,c
   796  000590  E1F3               	bnz	l1110
   797  000592  2830               	incf	memset@n+1,w,c
   798  000594  B4D8               	btfsc	status,2,c
   799  000596  0012               	return	
   800  000598  D7EF               	goto	l597
   801  00059A                     __end_of_memset:
   802                           	opt stack 0
   803                           tblptru	equ	0xFF8
   804                           intcon	equ	0xFF2
   805                           postinc0	equ	0xFEE
   806                           wreg	equ	0xFE8
   807                           indf2	equ	0xFDF
   808                           postinc2	equ	0xFDE
   809                           postdec2	equ	0xFDD
   810                           fsr2h	equ	0xFDA
   811                           fsr2l	equ	0xFD9
   812                           status	equ	0xFD8
   813                           
   814 ;; *************** function _init_hw *****************
   815 ;; Defined at:
   816 ;;		line 150 in file "main.c"
   817 ;; Parameters:    Size  Location     Type
   818 ;;		None
   819 ;; Auto vars:     Size  Location     Type
   820 ;;		None
   821 ;; Return value:  Size  Location     Type
   822 ;;                  1    wreg      void 
   823 ;; Registers used:
   824 ;;		wreg, status,2, cstack
   825 ;; Tracked objects:
   826 ;;		On entry : 0/0
   827 ;;		On exit  : 0/0
   828 ;;		Unchanged: 0/0
   829 ;; Data sizes:     COMRAM   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5
   830 ;;      Params:         0       0       0       0       0       0       0
   831 ;;      Locals:         0       0       0       0       0       0       0
   832 ;;      Temps:          0       0       0       0       0       0       0
   833 ;;      Totals:         0       0       0       0       0       0       0
   834 ;;Total ram usage:        0 bytes
   835 ;; Hardware stack levels used:    1
   836 ;; Hardware stack levels required when called:    2
   837 ;; This function calls:
   838 ;;		_eusart1_init
   839 ;;		_eusart2_init
   840 ;; This function is called by:
   841 ;;		_main
   842 ;; This function uses a non-reentrant model
   843 ;;
   844                           
   845                           	psect	text5
   846  00050C                     __ptext5:
   847                           	opt stack 0
   848  00050C                     _init_hw:
   849                           	opt stack 28
   850                           
   851                           ;main.c: 152: (INTCONbits.GIE = 0);
   852                           
   853                           ;incstack = 0
   854  00050C  9EF2               	bcf	intcon,7,c	;volatile
   855                           
   856                           ;main.c: 156: OSCTUNEbits.PLLEN = 1;
   857  00050E  8C9B               	bsf	3995,6,c	;volatile
   858                           
   859                           ;main.c: 158: OSCTUNEbits.TUN = 0b011111;
   860  000510  809B               	bsf	3995,0,c	;volatile
   861  000512  829B               	bsf	3995,1,c	;volatile
   862  000514  849B               	bsf	3995,2,c	;volatile
   863  000516  869B               	bsf	3995,3,c	;volatile
   864  000518  889B               	bsf	3995,4,c	;volatile
   865  00051A  9A9B               	bcf	3995,5,c	;volatile
   866                           
   867                           ;main.c: 160: OSCCONbits.IRCF = 0b111;
   868  00051C  88D3               	bsf	4051,4,c	;volatile
   869  00051E  8AD3               	bsf	4051,5,c	;volatile
   870  000520  8CD3               	bsf	4051,6,c	;volatile
   871                           
   872                           ;main.c: 162: OSCCONbits.SCS = 0b00;
   873  000522  0EFC               	movlw	-4
   874  000524  16D3               	andwf	4051,f,c	;volatile
   875                           
   876                           ;main.c: 166: ANSELA = 0x00;
   877  000526  0E00               	movlw	0
   878  000528  010F               	movlb	15	; () banked
   879  00052A  6F38               	movwf	56,b	;volatile
   880                           
   881                           ;main.c: 167: ANSELB = 0x00;
   882  00052C  0E00               	movlw	0
   883  00052E  6F39               	movwf	57,b	;volatile
   884                           
   885                           ;main.c: 168: ANSELC = 0x00;
   886  000530  0E00               	movlw	0
   887  000532  6F3A               	movwf	58,b	;volatile
   888                           
   889                           ;main.c: 169: ANSELD = 0x00;
   890  000534  0E00               	movlw	0
   891  000536  6F3B               	movwf	59,b	;volatile
   892                           
   893                           ; BSR set to: 15
   894                           ;main.c: 172: TRISA = 0xFF;
   895  000538  6892               	setf	3986,c	;volatile
   896                           
   897                           ; BSR set to: 15
   898                           ;main.c: 173: TRISB = 0xFF;
   899  00053A  6893               	setf	3987,c	;volatile
   900                           
   901                           ; BSR set to: 15
   902                           ;main.c: 176: TRISDbits.TRISD1 = 0;
   903  00053C  9295               	bcf	3989,1,c	;volatile
   904                           
   905                           ; BSR set to: 15
   906                           ;main.c: 177: TRISDbits.TRISD2 = 0;
   907  00053E  9495               	bcf	3989,2,c	;volatile
   908                           
   909                           ; BSR set to: 15
   910                           ;main.c: 178: TRISDbits.TRISD3 = 0;
   911  000540  9695               	bcf	3989,3,c	;volatile
   912                           
   913                           ; BSR set to: 15
   914                           ;main.c: 179: TRISDbits.TRISD4 = 0;
   915  000542  9895               	bcf	3989,4,c	;volatile
   916                           
   917                           ; BSR set to: 15
   918                           ;main.c: 182: PORTDbits.RD1 = 1;
   919  000544  8283               	bsf	3971,1,c	;volatile
   920                           
   921                           ; BSR set to: 15
   922                           ;main.c: 184: PORTDbits.RD2 = 0;
   923  000546  9483               	bcf	3971,2,c	;volatile
   924                           
   925                           ; BSR set to: 15
   926                           ;main.c: 186: PORTDbits.RD3 = 1;
   927  000548  8683               	bsf	3971,3,c	;volatile
   928                           
   929                           ; BSR set to: 15
   930                           ;main.c: 188: PORTDbits.RD4 = 0;
   931  00054A  9883               	bcf	3971,4,c	;volatile
   932                           
   933                           ;main.c: 193: PR2 = 128;
   934  00054C  0E80               	movlw	128
   935  00054E  6EBB               	movwf	4027,c	;volatile
   936                           
   937                           ;main.c: 195: T2CONbits.T2OUTPS = 0b0001;
   938  000550  50BA               	movf	4026,w,c	;volatile
   939  000552  0B87               	andlw	-121
   940  000554  0908               	iorlw	8
   941  000556  6EBA               	movwf	4026,c	;volatile
   942                           
   943                           ;main.c: 197: T2CONbits.T2CKPS = 0b11;
   944  000558  0E03               	movlw	3
   945  00055A  12BA               	iorwf	4026,f,c	;volatile
   946                           
   947                           ; BSR set to: 15
   948                           ;main.c: 199: T2CONbits.TMR2ON = 1;
   949  00055C  84BA               	bsf	4026,2,c	;volatile
   950                           
   951                           ; BSR set to: 15
   952                           ;main.c: 202: PIE1bits.TMR2IE = 1;
   953  00055E  829D               	bsf	3997,1,c	;volatile
   954                           
   955                           ; BSR set to: 15
   956                           ;main.c: 203: PIR1bits.TMR2IF = 0;
   957  000560  929E               	bcf	3998,1,c	;volatile
   958                           
   959                           ; BSR set to: 15
   960                           ;main.c: 206: INTCONbits.PEIE = 1;
   961  000562  8CF2               	bsf	intcon,6,c	;volatile
   962                           
   963                           ; BSR set to: 15
   964                           ;main.c: 209: eusart1_init();
   965  000564  EC00  F003         	call	_eusart1_init	;wreg free
   966                           
   967                           ;main.c: 210: eusart2_init();
   968  000568  ECF2  F002         	call	_eusart2_init	;wreg free
   969  00056C  0012               	return		;funcret
   970  00056E                     __end_of_init_hw:
   971                           	opt stack 0
   972                           tblptru	equ	0xFF8
   973                           intcon	equ	0xFF2
   974                           postinc0	equ	0xFEE
   975                           wreg	equ	0xFE8
   976                           indf2	equ	0xFDF
   977                           postinc2	equ	0xFDE
   978                           postdec2	equ	0xFDD
   979                           fsr2h	equ	0xFDA
   980                           fsr2l	equ	0xFD9
   981                           status	equ	0xFD8
   982                           
   983 ;; *************** function _eusart2_init *****************
   984 ;; Defined at:
   985 ;;		line 25 in file "rs232.c"
   986 ;; Parameters:    Size  Location     Type
   987 ;;		None
   988 ;; Auto vars:     Size  Location     Type
   989 ;;		None
   990 ;; Return value:  Size  Location     Type
   991 ;;                  1    wreg      void 
   992 ;; Registers used:
   993 ;;		wreg, status,2
   994 ;; Tracked objects:
   995 ;;		On entry : 0/0
   996 ;;		On exit  : 0/0
   997 ;;		Unchanged: 0/0
   998 ;; Data sizes:     COMRAM   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5
   999 ;;      Params:         0       0       0       0       0       0       0
  1000 ;;      Locals:         0       0       0       0       0       0       0
  1001 ;;      Temps:          0       0       0       0       0       0       0
  1002 ;;      Totals:         0       0       0       0       0       0       0
  1003 ;;Total ram usage:        0 bytes
  1004 ;; Hardware stack levels used:    1
  1005 ;; Hardware stack levels required when called:    1
  1006 ;; This function calls:
  1007 ;;		Nothing
  1008 ;; This function is called by:
  1009 ;;		_init_hw
  1010 ;; This function uses a non-reentrant model
  1011 ;;
  1012                           
  1013                           	psect	text6
  1014  0005E4                     __ptext6:
  1015                           	opt stack 0
  1016  0005E4                     _eusart2_init:
  1017                           	opt stack 28
  1018                           
  1019                           ;rs232.c: 28: TXSTA2bits.SYNC = 0;
  1020                           
  1021                           ;incstack = 0
  1022  0005E4  9872               	bcf	3954,4,c	;volatile
  1023                           
  1024                           ;rs232.c: 29: TXSTA2bits.TX9 = 0;
  1025  0005E6  9C72               	bcf	3954,6,c	;volatile
  1026                           
  1027                           ;rs232.c: 32: RCSTA2bits.SPEN = 1;
  1028  0005E8  8E71               	bsf	3953,7,c	;volatile
  1029                           
  1030                           ;rs232.c: 33: SPBRG2 = 31;
  1031  0005EA  0E1F               	movlw	31
  1032  0005EC  6E75               	movwf	3957,c	;volatile
  1033                           
  1034                           ;rs232.c: 34: SPBRGH2 = 0;
  1035  0005EE  0E00               	movlw	0
  1036  0005F0  6E76               	movwf	3958,c	;volatile
  1037                           
  1038                           ;rs232.c: 35: TXSTA2bits.BRGH = 0;
  1039  0005F2  9472               	bcf	3954,2,c	;volatile
  1040                           
  1041                           ;rs232.c: 36: BAUDCON2bits.BRG16 = 0;
  1042  0005F4  9670               	bcf	3952,3,c	;volatile
  1043                           
  1044                           ;rs232.c: 39: TRISDbits.TRISD7 = 1;
  1045  0005F6  8E95               	bsf	3989,7,c	;volatile
  1046                           
  1047                           ;rs232.c: 40: TRISDbits.TRISD6 = 1;
  1048  0005F8  8C95               	bsf	3989,6,c	;volatile
  1049                           
  1050                           ;rs232.c: 42: RCSTA2bits.CREN = 1;
  1051  0005FA  8871               	bsf	3953,4,c	;volatile
  1052                           
  1053                           ;rs232.c: 43: TXSTA2bits.TXEN = 1;
  1054  0005FC  8A72               	bsf	3954,5,c	;volatile
  1055  0005FE  0012               	return		;funcret
  1056  000600                     __end_of_eusart2_init:
  1057                           	opt stack 0
  1058                           tblptru	equ	0xFF8
  1059                           intcon	equ	0xFF2
  1060                           postinc0	equ	0xFEE
  1061                           wreg	equ	0xFE8
  1062                           indf2	equ	0xFDF
  1063                           postinc2	equ	0xFDE
  1064                           postdec2	equ	0xFDD
  1065                           fsr2h	equ	0xFDA
  1066                           fsr2l	equ	0xFD9
  1067                           status	equ	0xFD8
  1068                           
  1069 ;; *************** function _eusart1_init *****************
  1070 ;; Defined at:
  1071 ;;		line 4 in file "rs232.c"
  1072 ;; Parameters:    Size  Location     Type
  1073 ;;		None
  1074 ;; Auto vars:     Size  Location     Type
  1075 ;;		None
  1076 ;; Return value:  Size  Location     Type
  1077 ;;                  1    wreg      void 
  1078 ;; Registers used:
  1079 ;;		wreg, status,2
  1080 ;; Tracked objects:
  1081 ;;		On entry : 0/0
  1082 ;;		On exit  : 0/0
  1083 ;;		Unchanged: 0/0
  1084 ;; Data sizes:     COMRAM   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5
  1085 ;;      Params:         0       0       0       0       0       0       0
  1086 ;;      Locals:         0       0       0       0       0       0       0
  1087 ;;      Temps:          0       0       0       0       0       0       0
  1088 ;;      Totals:         0       0       0       0       0       0       0
  1089 ;;Total ram usage:        0 bytes
  1090 ;; Hardware stack levels used:    1
  1091 ;; Hardware stack levels required when called:    1
  1092 ;; This function calls:
  1093 ;;		Nothing
  1094 ;; This function is called by:
  1095 ;;		_init_hw
  1096 ;; This function uses a non-reentrant model
  1097 ;;
  1098                           
  1099                           	psect	text7
  1100  000600                     __ptext7:
  1101                           	opt stack 0
  1102  000600                     _eusart1_init:
  1103                           	opt stack 28
  1104                           
  1105                           ;rs232.c: 7: TXSTA1bits.SYNC = 0;
  1106                           
  1107                           ;incstack = 0
  1108  000600  98AC               	bcf	4012,4,c	;volatile
  1109                           
  1110                           ;rs232.c: 8: TXSTA1bits.TX9 = 0;
  1111  000602  9CAC               	bcf	4012,6,c	;volatile
  1112                           
  1113                           ;rs232.c: 11: RCSTA1bits.SPEN = 1;
  1114  000604  8EAB               	bsf	4011,7,c	;volatile
  1115                           
  1116                           ;rs232.c: 12: SPBRG1 = 31;
  1117  000606  0E1F               	movlw	31
  1118  000608  6EAF               	movwf	4015,c	;volatile
  1119                           
  1120                           ;rs232.c: 13: SPBRGH1 = 0;
  1121  00060A  0E00               	movlw	0
  1122  00060C  6EB0               	movwf	4016,c	;volatile
  1123                           
  1124                           ;rs232.c: 14: TXSTA1bits.BRGH = 0;
  1125  00060E  94AC               	bcf	4012,2,c	;volatile
  1126                           
  1127                           ;rs232.c: 15: BAUDCON1bits.BRG16 = 0;
  1128  000610  96B8               	bcf	4024,3,c	;volatile
  1129                           
  1130                           ;rs232.c: 18: TRISCbits.TRISC7 = 1;
  1131  000612  8E94               	bsf	3988,7,c	;volatile
  1132                           
  1133                           ;rs232.c: 19: TRISCbits.TRISC6 = 1;
  1134  000614  8C94               	bsf	3988,6,c	;volatile
  1135                           
  1136                           ;rs232.c: 21: RCSTA1bits.CREN = 1;
  1137  000616  88AB               	bsf	4011,4,c	;volatile
  1138                           
  1139                           ;rs232.c: 22: TXSTA1bits.TXEN = 1;
  1140  000618  8AAC               	bsf	4012,5,c	;volatile
  1141  00061A  0012               	return		;funcret
  1142  00061C                     __end_of_eusart1_init:
  1143                           	opt stack 0
  1144                           tblptru	equ	0xFF8
  1145                           intcon	equ	0xFF2
  1146                           postinc0	equ	0xFEE
  1147                           wreg	equ	0xFE8
  1148                           indf2	equ	0xFDF
  1149                           postinc2	equ	0xFDE
  1150                           postdec2	equ	0xFDD
  1151                           fsr2h	equ	0xFDA
  1152                           fsr2l	equ	0xFD9
  1153                           status	equ	0xFD8
  1154                           
  1155 ;; *************** function _eusart_write_midi *****************
  1156 ;; Defined at:
  1157 ;;		line 261 in file "main.c"
  1158 ;; Parameters:    Size  Location     Type
  1159 ;;  pkt             2   43[COMRAM] PTR const struct .
  1160 ;;		 -> main@message(7), 
  1161 ;; Auto vars:     Size  Location     Type
  1162 ;;  data            2   49[COMRAM] PTR unsigned char 
  1163 ;;		 -> message.data(4), main@message(7), 
  1164 ;;  length          2   47[COMRAM] unsigned int 
  1165 ;; Return value:  Size  Location     Type
  1166 ;;                  2   43[COMRAM] int 
  1167 ;; Registers used:
  1168 ;;		wreg, fsr2l, fsr2h, status,2, status,0, cstack
  1169 ;; Tracked objects:
  1170 ;;		On entry : 0/0
  1171 ;;		On exit  : 0/0
  1172 ;;		Unchanged: 0/0
  1173 ;; Data sizes:     COMRAM   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5
  1174 ;;      Params:         2       0       0       0       0       0       0
  1175 ;;      Locals:         4       0       0       0       0       0       0
  1176 ;;      Temps:          2       0       0       0       0       0       0
  1177 ;;      Totals:         8       0       0       0       0       0       0
  1178 ;;Total ram usage:        8 bytes
  1179 ;; Hardware stack levels used:    1
  1180 ;; Hardware stack levels required when called:    2
  1181 ;; This function calls:
  1182 ;;		_eusart2_putch
  1183 ;; This function is called by:
  1184 ;;		_main
  1185 ;; This function uses a non-reentrant model
  1186 ;;
  1187                           
  1188                           	psect	text8
  1189  000432                     __ptext8:
  1190                           	opt stack 0
  1191  000432                     _eusart_write_midi:
  1192                           	opt stack 28
  1193                           
  1194                           ;main.c: 263: size_t length;
  1195                           ;main.c: 264: uint8_t *data;
  1196                           ;main.c: 266: if (pkt == (0)) {
  1197                           
  1198                           ;incstack = 0
  1199  000432  502C               	movf	eusart_write_midi@pkt,w,c
  1200  000434  102D               	iorwf	eusart_write_midi@pkt+1,w,c
  1201  000436  B4D8               	btfsc	status,2,c
  1202  000438  0012               	return	
  1203                           
  1204                           ;main.c: 268: }
  1205                           ;main.c: 270: length = pkt->data_size;
  1206                           
  1207                           ;main.c: 267: return -1;
  1208                           ;	Return value of _eusart_write_midi is never used
  1209  00043A  EE20 F001          	lfsr	2,1
  1210  00043E  502C               	movf	eusart_write_midi@pkt,w,c
  1211  000440  26D9               	addwf	fsr2l,f,c
  1212  000442  502D               	movf	eusart_write_midi@pkt+1,w,c
  1213  000444  22DA               	addwfc	fsr2h,f,c
  1214  000446  CFDE F030          	movff	postinc2,eusart_write_midi@length
  1215  00044A  CFDD F031          	movff	postdec2,eusart_write_midi@length+1
  1216                           
  1217                           ;main.c: 271: data = (uint8_t *) pkt->data;
  1218  00044E  0E03               	movlw	3
  1219  000450  242C               	addwf	eusart_write_midi@pkt,w,c
  1220  000452  6E32               	movwf	eusart_write_midi@data,c
  1221  000454  0E00               	movlw	0
  1222  000456  202D               	addwfc	eusart_write_midi@pkt+1,w,c
  1223  000458  6E33               	movwf	eusart_write_midi@data+1,c
  1224                           
  1225                           ;main.c: 273: eusart2_putch((char)((pkt->status << 4) | pkt->channel));
  1226  00045A  C02C  FFD9         	movff	eusart_write_midi@pkt,fsr2l
  1227  00045E  C02D  FFDA         	movff	eusart_write_midi@pkt+1,fsr2h
  1228  000462  38DF               	swapf	indf2,w,c
  1229  000464  0B0F               	andlw	15
  1230  000466  6E2E               	movwf	??_eusart_write_midi& (0+255),c
  1231  000468  C02C  FFD9         	movff	eusart_write_midi@pkt,fsr2l
  1232  00046C  C02D  FFDA         	movff	eusart_write_midi@pkt+1,fsr2h
  1233  000470  50DF               	movf	indf2,w,c
  1234  000472  0B0F               	andlw	15
  1235  000474  6E2F               	movwf	(??_eusart_write_midi+1)& (0+255),c
  1236  000476  382F               	swapf	??_eusart_write_midi+1,w,c
  1237  000478  0BF0               	andlw	240
  1238  00047A  102E               	iorwf	??_eusart_write_midi,w,c
  1239  00047C  EC1B  F003         	call	_eusart2_putch
  1240                           
  1241                           ;main.c: 275: while (length--) {
  1242  000480  D009               	goto	l87
  1243  000482                     l1140:
  1244                           
  1245                           ;main.c: 276: eusart2_putch((char) *(data++));
  1246  000482  C032  FFD9         	movff	eusart_write_midi@data,fsr2l
  1247  000486  C033  FFDA         	movff	eusart_write_midi@data+1,fsr2h
  1248  00048A  50DF               	movf	indf2,w,c
  1249  00048C  EC1B  F003         	call	_eusart2_putch
  1250  000490  4A32               	infsnz	eusart_write_midi@data,f,c
  1251  000492  2A33               	incf	eusart_write_midi@data+1,f,c
  1252  000494                     l87:
  1253  000494  0630               	decf	eusart_write_midi@length,f,c
  1254  000496  A0D8               	btfss	status,0,c
  1255  000498  0631               	decf	eusart_write_midi@length+1,f,c
  1256  00049A  2830               	incf	eusart_write_midi@length,w,c
  1257  00049C  E1F2               	bnz	l1140
  1258  00049E  2831               	incf	eusart_write_midi@length+1,w,c
  1259  0004A0  B4D8               	btfsc	status,2,c
  1260  0004A2  0012               	return	
  1261  0004A4  D7EE               	goto	l88
  1262  0004A6                     __end_of_eusart_write_midi:
  1263                           	opt stack 0
  1264                           tblptru	equ	0xFF8
  1265                           intcon	equ	0xFF2
  1266                           postinc0	equ	0xFEE
  1267                           wreg	equ	0xFE8
  1268                           indf2	equ	0xFDF
  1269                           postinc2	equ	0xFDE
  1270                           postdec2	equ	0xFDD
  1271                           fsr2h	equ	0xFDA
  1272                           fsr2l	equ	0xFD9
  1273                           status	equ	0xFD8
  1274                           
  1275 ;; *************** function _eusart2_putch *****************
  1276 ;; Defined at:
  1277 ;;		line 52 in file "rs232.c"
  1278 ;; Parameters:    Size  Location     Type
  1279 ;;  c               1    wreg     unsigned char 
  1280 ;; Auto vars:     Size  Location     Type
  1281 ;;  c               1   42[COMRAM] unsigned char 
  1282 ;; Return value:  Size  Location     Type
  1283 ;;                  1    wreg      void 
  1284 ;; Registers used:
  1285 ;;		wreg
  1286 ;; Tracked objects:
  1287 ;;		On entry : 0/0
  1288 ;;		On exit  : 0/0
  1289 ;;		Unchanged: 0/0
  1290 ;; Data sizes:     COMRAM   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5
  1291 ;;      Params:         0       0       0       0       0       0       0
  1292 ;;      Locals:         1       0       0       0       0       0       0
  1293 ;;      Temps:          0       0       0       0       0       0       0
  1294 ;;      Totals:         1       0       0       0       0       0       0
  1295 ;;Total ram usage:        1 bytes
  1296 ;; Hardware stack levels used:    1
  1297 ;; Hardware stack levels required when called:    1
  1298 ;; This function calls:
  1299 ;;		Nothing
  1300 ;; This function is called by:
  1301 ;;		_eusart_write_midi
  1302 ;; This function uses a non-reentrant model
  1303 ;;
  1304                           
  1305                           	psect	text9
  1306  000636                     __ptext9:
  1307                           	opt stack 0
  1308  000636                     _eusart2_putch:
  1309                           	opt stack 28
  1310                           
  1311                           ;incstack = 0
  1312                           ;eusart2_putch@c stored from wreg
  1313  000636  6E2B               	movwf	eusart2_putch@c,c
  1314  000638                     
  1315                           ;rs232.c: 54: while (!TX2IF);
  1316  000638  A8A4               	btfss	4004,4,c	;volatile
  1317  00063A  D7FE               	goto	l1052
  1318                           
  1319                           ;rs232.c: 55: TX2REG = c;
  1320  00063C  C02B  FF73         	movff	eusart2_putch@c,3955	;volatile
  1321  000640  0012               	return		;funcret
  1322  000642                     __end_of_eusart2_putch:
  1323                           	opt stack 0
  1324                           tblptru	equ	0xFF8
  1325                           intcon	equ	0xFF2
  1326                           postinc0	equ	0xFEE
  1327                           wreg	equ	0xFE8
  1328                           indf2	equ	0xFDF
  1329                           postinc2	equ	0xFDE
  1330                           postdec2	equ	0xFDD
  1331                           fsr2h	equ	0xFDA
  1332                           fsr2l	equ	0xFD9
  1333                           status	equ	0xFD8
  1334                           
  1335 ;; *************** function _isr *****************
  1336 ;; Defined at:
  1337 ;;		line 113 in file "main.c"
  1338 ;; Parameters:    Size  Location     Type
  1339 ;;		None
  1340 ;; Auto vars:     Size  Location     Type
  1341 ;;  i               1   41[COMRAM] unsigned char 
  1342 ;;  data_b          1   37[COMRAM] unsigned char 
  1343 ;;  data_a          1   36[COMRAM] unsigned char 
  1344 ;; Return value:  Size  Location     Type
  1345 ;;                  1    wreg      void 
  1346 ;; Registers used:
  1347 ;;		wreg, fsr2l, fsr2h, status,2, status,0, prodl, prodh
  1348 ;; Tracked objects:
  1349 ;;		On entry : 0/0
  1350 ;;		On exit  : 0/0
  1351 ;;		Unchanged: 0/0
  1352 ;; Data sizes:     COMRAM   BANK0   BANK1   BANK2   BANK3   BANK4   BANK5
  1353 ;;      Params:         0       0       0       0       0       0       0
  1354 ;;      Locals:         6       0       0       0       0       0       0
  1355 ;;      Temps:         36       0       0       0       0       0       0
  1356 ;;      Totals:        42       0       0       0       0       0       0
  1357 ;;Total ram usage:       42 bytes
  1358 ;; Hardware stack levels used:    1
  1359 ;; This function calls:
  1360 ;;		Nothing
  1361 ;; This function is called by:
  1362 ;;		Interrupt level 2
  1363 ;; This function uses a non-reentrant model
  1364 ;;
  1365                           
  1366                           	psect	intcode
  1367  000008                     __pintcode:
  1368                           	opt stack 0
  1369  000008                     _isr:
  1370                           	opt stack 28
  1371                           
  1372                           ;incstack = 0
  1373  000008  8234               	bsf	btemp,1,c	;set compiler interrupt flag (level 2)
  1374  00000A  CFFA F013          	movff	pclath,??_isr+18
  1375  00000E  CFFB F014          	movff	pclatu,??_isr+19
  1376  000012  CFE9 F015          	movff	fsr0l,??_isr+20
  1377  000016  CFEA F016          	movff	fsr0h,??_isr+21
  1378  00001A  CFE1 F017          	movff	fsr1l,??_isr+22
  1379  00001E  CFE2 F018          	movff	fsr1h,??_isr+23
  1380  000022  CFD9 F019          	movff	fsr2l,??_isr+24
  1381  000026  CFDA F01A          	movff	fsr2h,??_isr+25
  1382  00002A  CFF3 F01B          	movff	prodl,??_isr+26
  1383  00002E  CFF4 F01C          	movff	prodh,??_isr+27
  1384  000032  CFF6 F01D          	movff	tblptrl,??_isr+28
  1385  000036  CFF7 F01E          	movff	tblptrh,??_isr+29
  1386  00003A  CFF8 F01F          	movff	tblptru,??_isr+30
  1387  00003E  CFF5 F020          	movff	tablat,??_isr+31
  1388  000042  C034  F021         	movff	btemp,??_isr+32
  1389  000046  C035  F022         	movff	btemp+1,??_isr+33
  1390  00004A  C036  F023         	movff	btemp+2,??_isr+34
  1391  00004E  C037  F024         	movff	btemp+3,??_isr+35
  1392                           
  1393                           ;main.c: 115: unsigned char i, data_a, data_b;
  1394                           ;main.c: 117: PORTDbits.RD3 = 0;
  1395  000052  9683               	bcf	3971,3,c	;volatile
  1396                           
  1397                           ;main.c: 119: if (PIR1bits.TMR2IF) {
  1398  000054  A29E               	btfss	3998,1,c	;volatile
  1399  000056  D156               	goto	i2l59
  1400                           
  1401                           ;main.c: 120: data_a = PORTA;
  1402  000058  CF80 F025          	movff	3968,isr@data_a	;volatile
  1403                           
  1404                           ;main.c: 121: data_b = PORTB;
  1405  00005C  CF81 F026          	movff	3969,isr@data_b	;volatile
  1406                           
  1407                           ;main.c: 122: i = 7;
  1408  000060  0E07               	movlw	7
  1409  000062  6E2A               	movwf	isr@i,c
  1410  000064                     
  1411                           ;main.c: 125: keys_data[i] = (keys_data[i] << 1) | ((data_a >> i) & 0x01);
  1412  000064  502A               	movf	isr@i,w,c
  1413  000066  0D04               	mullw	4
  1414  000068  0E62               	movlw	low _keys_data
  1415  00006A  24F3               	addwf	prodl,w,c
  1416  00006C  6ED9               	movwf	fsr2l,c
  1417  00006E  0E00               	movlw	high _keys_data
  1418  000070  20F4               	addwfc	prodh,w,c
  1419  000072  6EDA               	movwf	fsr2h,c
  1420  000074  CFDE F001          	movff	postinc2,??_isr
  1421  000078  CFDE F002          	movff	postinc2,??_isr+1
  1422  00007C  CFDE F003          	movff	postinc2,??_isr+2
  1423  000080  CFDE F004          	movff	postinc2,??_isr+3
  1424  000084  90D8               	bcf	status,0,c
  1425  000086  3401               	rlcf	??_isr,w,c
  1426  000088  6E05               	movwf	(??_isr+4)& (0+255),c
  1427  00008A  3402               	rlcf	??_isr+1,w,c
  1428  00008C  6E06               	movwf	(??_isr+5)& (0+255),c
  1429  00008E  3403               	rlcf	??_isr+2,w,c
  1430  000090  6E07               	movwf	(??_isr+6)& (0+255),c
  1431  000092  3404               	rlcf	??_isr+3,w,c
  1432  000094  6E08               	movwf	(??_isr+7)& (0+255),c
  1433  000096  C02A  F009         	movff	isr@i,??_isr+8
  1434  00009A  C025  F00A         	movff	isr@data_a,??_isr+9
  1435  00009E  2A09               	incf	??_isr+8,f,c
  1436  0000A0  D002               	goto	i2u38_44
  1437  0000A2                     i2u38_45:
  1438  0000A2  90D8               	bcf	status,0,c
  1439  0000A4  320A               	rrcf	??_isr+9,f,c
  1440  0000A6                     i2u38_44:
  1441  0000A6  2E09               	decfsz	??_isr+8,f,c
  1442  0000A8  D7FC               	goto	i2u38_45
  1443  0000AA  0E01               	movlw	1
  1444  0000AC  160A               	andwf	??_isr+9,f,c
  1445  0000AE  500A               	movf	??_isr+9,w,c
  1446  0000B0  1005               	iorwf	??_isr+4,w,c
  1447  0000B2  6E0B               	movwf	(??_isr+10)& (0+255),c
  1448  0000B4  5006               	movf	??_isr+5,w,c
  1449  0000B6  6E0C               	movwf	(??_isr+11)& (0+255),c
  1450  0000B8  5007               	movf	??_isr+6,w,c
  1451  0000BA  6E0D               	movwf	(??_isr+12)& (0+255),c
  1452  0000BC  5008               	movf	??_isr+7,w,c
  1453  0000BE  6E0E               	movwf	(??_isr+13)& (0+255),c
  1454  0000C0  502A               	movf	isr@i,w,c
  1455  0000C2  0D04               	mullw	4
  1456  0000C4  0E62               	movlw	low _keys_data
  1457  0000C6  24F3               	addwf	prodl,w,c
  1458  0000C8  6ED9               	movwf	fsr2l,c
  1459  0000CA  0E00               	movlw	high _keys_data
  1460  0000CC  20F4               	addwfc	prodh,w,c
  1461  0000CE  6EDA               	movwf	fsr2h,c
  1462  0000D0  C00B  FFDE         	movff	??_isr+10,postinc2
  1463  0000D4  C00C  FFDE         	movff	??_isr+11,postinc2
  1464  0000D8  C00D  FFDE         	movff	??_isr+12,postinc2
  1465  0000DC  C00E  FFDE         	movff	??_isr+13,postinc2
  1466                           
  1467                           ;main.c: 126: keys_data[i + 8] = (keys_data[i + 8] << 1) | ((data_b >> i) & 0x01);
  1468  0000E0  502A               	movf	isr@i,w,c
  1469  0000E2  6E01               	movwf	??_isr& (0+255),c
  1470  0000E4  6A02               	clrf	(??_isr+1)& (0+255),c
  1471  0000E6  90D8               	bcf	status,0,c
  1472  0000E8  3601               	rlcf	??_isr,f,c
  1473  0000EA  3602               	rlcf	??_isr+1,f,c
  1474  0000EC  90D8               	bcf	status,0,c
  1475  0000EE  3601               	rlcf	??_isr,f,c
  1476  0000F0  3602               	rlcf	??_isr+1,f,c
  1477  0000F2  0E20               	movlw	32
  1478  0000F4  2601               	addwf	??_isr,f,c
  1479  0000F6  0E00               	movlw	0
  1480  0000F8  2202               	addwfc	??_isr+1,f,c
  1481  0000FA  0E62               	movlw	low _keys_data
  1482  0000FC  2401               	addwf	??_isr,w,c
  1483  0000FE  6ED9               	movwf	fsr2l,c
  1484  000100  0E00               	movlw	high _keys_data
  1485  000102  2002               	addwfc	??_isr+1,w,c
  1486  000104  6EDA               	movwf	fsr2h,c
  1487  000106  CFDE F003          	movff	postinc2,??_isr+2
  1488  00010A  CFDE F004          	movff	postinc2,??_isr+3
  1489  00010E  CFDE F005          	movff	postinc2,??_isr+4
  1490  000112  CFDE F006          	movff	postinc2,??_isr+5
  1491  000116  90D8               	bcf	status,0,c
  1492  000118  3403               	rlcf	??_isr+2,w,c
  1493  00011A  6E07               	movwf	(??_isr+6)& (0+255),c
  1494  00011C  3404               	rlcf	??_isr+3,w,c
  1495  00011E  6E08               	movwf	(??_isr+7)& (0+255),c
  1496  000120  3405               	rlcf	??_isr+4,w,c
  1497  000122  6E09               	movwf	(??_isr+8)& (0+255),c
  1498  000124  3406               	rlcf	??_isr+5,w,c
  1499  000126  6E0A               	movwf	(??_isr+9)& (0+255),c
  1500  000128  C02A  F00B         	movff	isr@i,??_isr+10
  1501  00012C  C026  F00C         	movff	isr@data_b,??_isr+11
  1502  000130  2A0B               	incf	??_isr+10,f,c
  1503  000132  D002               	goto	i2u39_44
  1504  000134                     i2u39_45:
  1505  000134  90D8               	bcf	status,0,c
  1506  000136  320C               	rrcf	??_isr+11,f,c
  1507  000138                     i2u39_44:
  1508  000138  2E0B               	decfsz	??_isr+10,f,c
  1509  00013A  D7FC               	goto	i2u39_45
  1510  00013C  0E01               	movlw	1
  1511  00013E  160C               	andwf	??_isr+11,f,c
  1512  000140  500C               	movf	??_isr+11,w,c
  1513  000142  1007               	iorwf	??_isr+6,w,c
  1514  000144  6E0D               	movwf	(??_isr+12)& (0+255),c
  1515  000146  5008               	movf	??_isr+7,w,c
  1516  000148  6E0E               	movwf	(??_isr+13)& (0+255),c
  1517  00014A  5009               	movf	??_isr+8,w,c
  1518  00014C  6E0F               	movwf	(??_isr+14)& (0+255),c
  1519  00014E  500A               	movf	??_isr+9,w,c
  1520  000150  6E10               	movwf	(??_isr+15)& (0+255),c
  1521  000152  502A               	movf	isr@i,w,c
  1522  000154  6E11               	movwf	(??_isr+16)& (0+255),c
  1523  000156  6A12               	clrf	(??_isr+17)& (0+255),c
  1524  000158  90D8               	bcf	status,0,c
  1525  00015A  3611               	rlcf	??_isr+16,f,c
  1526  00015C  3612               	rlcf	??_isr+17,f,c
  1527  00015E  90D8               	bcf	status,0,c
  1528  000160  3611               	rlcf	??_isr+16,f,c
  1529  000162  3612               	rlcf	??_isr+17,f,c
  1530  000164  0E20               	movlw	32
  1531  000166  2611               	addwf	??_isr+16,f,c
  1532  000168  0E00               	movlw	0
  1533  00016A  2212               	addwfc	??_isr+17,f,c
  1534  00016C  0E62               	movlw	low _keys_data
  1535  00016E  2411               	addwf	??_isr+16,w,c
  1536  000170  6ED9               	movwf	fsr2l,c
  1537  000172  0E00               	movlw	high _keys_data
  1538  000174  2012               	addwfc	??_isr+17,w,c
  1539  000176  6EDA               	movwf	fsr2h,c
  1540  000178  C00D  FFDE         	movff	??_isr+12,postinc2
  1541  00017C  C00E  FFDE         	movff	??_isr+13,postinc2
  1542  000180  C00F  FFDE         	movff	??_isr+14,postinc2
  1543  000184  C010  FFDE         	movff	??_isr+15,postinc2
  1544                           
  1545                           ;main.c: 131: keypresses |= (keys_data[i] && !(keys_data[i] & 0xFFFFFF00))<<i;
  1546  000188  0E00               	movlw	0
  1547  00018A  6E27               	movwf	_isr$595,c
  1548  00018C  502A               	movf	isr@i,w,c
  1549  00018E  0D04               	mullw	4
  1550  000190  0E62               	movlw	low _keys_data
  1551  000192  24F3               	addwf	prodl,w,c
  1552  000194  6ED9               	movwf	fsr2l,c
  1553  000196  0E00               	movlw	high _keys_data
  1554  000198  20F4               	addwfc	prodh,w,c
  1555  00019A  6EDA               	movwf	fsr2h,c
  1556  00019C  50DE               	movf	postinc2,w,c
  1557  00019E  10DE               	iorwf	postinc2,w,c
  1558  0001A0  10DE               	iorwf	postinc2,w,c
  1559  0001A2  10DE               	iorwf	postinc2,w,c
  1560  0001A4  B4D8               	btfsc	status,2,c
  1561  0001A6  D01C               	goto	i2l62
  1562  0001A8  502A               	movf	isr@i,w,c
  1563  0001AA  0D04               	mullw	4
  1564  0001AC  0E62               	movlw	low _keys_data
  1565  0001AE  24F3               	addwf	prodl,w,c
  1566  0001B0  6ED9               	movwf	fsr2l,c
  1567  0001B2  0E00               	movlw	high _keys_data
  1568  0001B4  20F4               	addwfc	prodh,w,c
  1569  0001B6  6EDA               	movwf	fsr2h,c
  1570  0001B8  0E00               	movlw	0
  1571  0001BA  14DE               	andwf	postinc2,w,c
  1572  0001BC  6E01               	movwf	??_isr& (0+255),c
  1573  0001BE  0EFF               	movlw	255
  1574  0001C0  14DE               	andwf	postinc2,w,c
  1575  0001C2  6E02               	movwf	(??_isr+1)& (0+255),c
  1576  0001C4  0EFF               	movlw	255
  1577  0001C6  14DE               	andwf	postinc2,w,c
  1578  0001C8  6E03               	movwf	(??_isr+2)& (0+255),c
  1579  0001CA  0EFF               	movlw	255
  1580  0001CC  14DE               	andwf	postinc2,w,c
  1581  0001CE  6E04               	movwf	(??_isr+3)& (0+255),c
  1582  0001D0  5001               	movf	??_isr,w,c
  1583  0001D2  1002               	iorwf	??_isr+1,w,c
  1584  0001D4  1003               	iorwf	??_isr+2,w,c
  1585  0001D6  1004               	iorwf	??_isr+3,w,c
  1586  0001D8  A4D8               	btfss	status,2,c
  1587  0001DA  D002               	goto	i2l62
  1588  0001DC  0E01               	movlw	1
  1589  0001DE  6E27               	movwf	_isr$595,c
  1590  0001E0                     i2l62:
  1591  0001E0  C02A  F001         	movff	isr@i,??_isr
  1592  0001E4  5027               	movf	_isr$595,w,c
  1593  0001E6  6E02               	movwf	(??_isr+1)& (0+255),c
  1594  0001E8  6A03               	clrf	(??_isr+2)& (0+255),c
  1595  0001EA  2A01               	incf	??_isr,f,c
  1596  0001EC  D003               	goto	i2u42_44
  1597  0001EE                     i2u42_45:
  1598  0001EE  90D8               	bcf	status,0,c
  1599  0001F0  3602               	rlcf	??_isr+1,f,c
  1600  0001F2  3603               	rlcf	??_isr+2,f,c
  1601  0001F4                     i2u42_44:
  1602  0001F4  2E01               	decfsz	??_isr,f,c
  1603  0001F6  D7FB               	goto	i2u42_45
  1604  0001F8  5002               	movf	??_isr+1,w,c
  1605  0001FA  0100               	movlb	0	; () banked
  1606  0001FC  1360               	iorwf	_keypresses& (0+255),f,b	;volatile
  1607  0001FE  5003               	movf	??_isr+2,w,c
  1608  000200  1361               	iorwf	(_keypresses+1)& (0+255),f,b	;volatile
  1609                           
  1610                           ; BSR set to: 0
  1611                           ;main.c: 132: keypresses |= (keys_data[i + 8] && !(keys_data[i + 8] & 0xFFFFFF00))<<(i +
      +                           8);
  1612  000202  0E00               	movlw	0
  1613  000204  6E28               	movwf	_isr$596,c
  1614                           
  1615                           ; BSR set to: 0
  1616  000206  502A               	movf	isr@i,w,c
  1617  000208  6E01               	movwf	??_isr& (0+255),c
  1618  00020A  6A02               	clrf	(??_isr+1)& (0+255),c
  1619  00020C  90D8               	bcf	status,0,c
  1620  00020E  3601               	rlcf	??_isr,f,c
  1621  000210  3602               	rlcf	??_isr+1,f,c
  1622  000212  90D8               	bcf	status,0,c
  1623  000214  3601               	rlcf	??_isr,f,c
  1624  000216  3602               	rlcf	??_isr+1,f,c
  1625  000218  0E20               	movlw	32
  1626  00021A  2601               	addwf	??_isr,f,c
  1627  00021C  0E00               	movlw	0
  1628  00021E  2202               	addwfc	??_isr+1,f,c
  1629  000220  0E62               	movlw	low _keys_data
  1630  000222  2401               	addwf	??_isr,w,c
  1631  000224  6ED9               	movwf	fsr2l,c
  1632  000226  0E00               	movlw	high _keys_data
  1633  000228  2002               	addwfc	??_isr+1,w,c
  1634  00022A  6EDA               	movwf	fsr2h,c
  1635  00022C  50DE               	movf	postinc2,w,c
  1636  00022E  10DE               	iorwf	postinc2,w,c
  1637  000230  10DE               	iorwf	postinc2,w,c
  1638  000232  10DE               	iorwf	postinc2,w,c
  1639  000234  B4D8               	btfsc	status,2,c
  1640  000236  D027               	goto	i2l64
  1641                           
  1642                           ; BSR set to: 0
  1643  000238  502A               	movf	isr@i,w,c
  1644  00023A  6E01               	movwf	??_isr& (0+255),c
  1645  00023C  6A02               	clrf	(??_isr+1)& (0+255),c
  1646  00023E  90D8               	bcf	status,0,c
  1647  000240  3601               	rlcf	??_isr,f,c
  1648  000242  3602               	rlcf	??_isr+1,f,c
  1649  000244  90D8               	bcf	status,0,c
  1650  000246  3601               	rlcf	??_isr,f,c
  1651  000248  3602               	rlcf	??_isr+1,f,c
  1652  00024A  0E20               	movlw	32
  1653  00024C  2601               	addwf	??_isr,f,c
  1654  00024E  0E00               	movlw	0
  1655  000250  2202               	addwfc	??_isr+1,f,c
  1656  000252  0E62               	movlw	low _keys_data
  1657  000254  2401               	addwf	??_isr,w,c
  1658  000256  6ED9               	movwf	fsr2l,c
  1659  000258  0E00               	movlw	high _keys_data
  1660  00025A  2002               	addwfc	??_isr+1,w,c
  1661  00025C  6EDA               	movwf	fsr2h,c
  1662  00025E  0E00               	movlw	0
  1663  000260  14DE               	andwf	postinc2,w,c
  1664  000262  6E03               	movwf	(??_isr+2)& (0+255),c
  1665  000264  0EFF               	movlw	255
  1666  000266  14DE               	andwf	postinc2,w,c
  1667  000268  6E04               	movwf	(??_isr+3)& (0+255),c
  1668  00026A  0EFF               	movlw	255
  1669  00026C  14DE               	andwf	postinc2,w,c
  1670  00026E  6E05               	movwf	(??_isr+4)& (0+255),c
  1671  000270  0EFF               	movlw	255
  1672  000272  14DE               	andwf	postinc2,w,c
  1673  000274  6E06               	movwf	(??_isr+5)& (0+255),c
  1674  000276  5003               	movf	??_isr+2,w,c
  1675  000278  1004               	iorwf	??_isr+3,w,c
  1676  00027A  1005               	iorwf	??_isr+4,w,c
  1677  00027C  1006               	iorwf	??_isr+5,w,c
  1678  00027E  A4D8               	btfss	status,2,c
  1679  000280  D002               	goto	i2l64
  1680                           
  1681                           ; BSR set to: 0
  1682  000282  0E01               	movlw	1
  1683  000284  6E28               	movwf	_isr$596,c
  1684  000286                     i2l64:
  1685                           
  1686                           ; BSR set to: 0
  1687                           
  1688                           ; BSR set to: 0
  1689  000286  C02A  F001         	movff	isr@i,??_isr
  1690  00028A  0E08               	movlw	8
  1691  00028C  2601               	addwf	??_isr,f,c
  1692  00028E  5028               	movf	_isr$596,w,c
  1693  000290  6E02               	movwf	(??_isr+1)& (0+255),c
  1694  000292  6A03               	clrf	(??_isr+2)& (0+255),c
  1695  000294  2A01               	incf	??_isr,f,c
  1696  000296  D003               	goto	i2u45_44
  1697  000298                     i2u45_45:
  1698  000298  90D8               	bcf	status,0,c
  1699  00029A  3602               	rlcf	??_isr+1,f,c
  1700  00029C  3603               	rlcf	??_isr+2,f,c
  1701  00029E                     i2u45_44:
  1702  00029E  2E01               	decfsz	??_isr,f,c
  1703  0002A0  D7FB               	goto	i2u45_45
  1704  0002A2  5002               	movf	??_isr+1,w,c
  1705  0002A4  0100               	movlb	0	; () banked
  1706  0002A6  1360               	iorwf	_keypresses& (0+255),f,b	;volatile
  1707  0002A8  5003               	movf	??_isr+2,w,c
  1708  0002AA  1361               	iorwf	(_keypresses+1)& (0+255),f,b	;volatile
  1709                           
  1710                           ; BSR set to: 0
  1711                           ;main.c: 134: } while (i--);
  1712  0002AC  062A               	decf	isr@i,f,c
  1713  0002AE  282A               	incf	isr@i,w,c
  1714  0002B0  A4D8               	btfss	status,2,c
  1715  0002B2  D6D8               	goto	i2l60
  1716                           
  1717                           ; BSR set to: 0
  1718                           ;main.c: 138: PORTDbits.RD4 = PORTAbits.RA0;
  1719  0002B4  A080               	btfss	3968,0,c	;volatile
  1720  0002B6  D002               	bra	i2u47_45
  1721  0002B8  8883               	bsf	3971,4,c	;volatile
  1722  0002BA  D001               	bra	i2u47_47
  1723  0002BC                     i2u47_45:
  1724  0002BC  9883               	bcf	3971,4,c	;volatile
  1725  0002BE                     i2u47_47:
  1726                           
  1727                           ;main.c: 139: PORTDbits.RD2 = (keys_data[0] && !(keys_data[0] & 0xFFFFFF00));
  1728  0002BE  0E00               	movlw	0
  1729  0002C0  6E29               	movwf	_isr$605,c
  1730  0002C2  0100               	movlb	0	; () banked
  1731  0002C4  5162               	movf	_keys_data& (0+255),w,b	;volatile
  1732  0002C6  1163               	iorwf	(_keys_data+1)& (0+255),w,b	;volatile
  1733  0002C8  1164               	iorwf	(_keys_data+2)& (0+255),w,b	;volatile
  1734  0002CA  1165               	iorwf	(_keys_data+3)& (0+255),w,b	;volatile
  1735  0002CC  B4D8               	btfsc	status,2,c
  1736  0002CE  D014               	goto	i2l67
  1737                           
  1738                           ; BSR set to: 0
  1739  0002D0  0E00               	movlw	0
  1740  0002D2  1562               	andwf	_keys_data& (0+255),w,b	;volatile
  1741  0002D4  6E01               	movwf	??_isr& (0+255),c
  1742  0002D6  0EFF               	movlw	255
  1743  0002D8  1563               	andwf	(_keys_data+1)& (0+255),w,b	;volatile
  1744  0002DA  6E02               	movwf	(??_isr+1)& (0+255),c
  1745  0002DC  0EFF               	movlw	255
  1746  0002DE  1564               	andwf	(_keys_data+2)& (0+255),w,b	;volatile
  1747  0002E0  6E03               	movwf	(??_isr+2)& (0+255),c
  1748  0002E2  0EFF               	movlw	255
  1749  0002E4  1565               	andwf	(_keys_data+3)& (0+255),w,b	;volatile
  1750  0002E6  6E04               	movwf	(??_isr+3)& (0+255),c
  1751  0002E8  5001               	movf	??_isr,w,c
  1752  0002EA  1002               	iorwf	??_isr+1,w,c
  1753  0002EC  1003               	iorwf	??_isr+2,w,c
  1754  0002EE  1004               	iorwf	??_isr+3,w,c
  1755  0002F0  A4D8               	btfss	status,2,c
  1756  0002F2  D002               	goto	i2l67
  1757                           
  1758                           ; BSR set to: 0
  1759  0002F4  0E01               	movlw	1
  1760  0002F6  6E29               	movwf	_isr$605,c
  1761  0002F8                     i2l67:
  1762                           
  1763                           ; BSR set to: 0
  1764                           
  1765                           ; BSR set to: 0
  1766  0002F8  B029               	btfsc	_isr$605,0,c
  1767  0002FA  D002               	bra	i2u50_45
  1768  0002FC  9483               	bcf	3971,2,c	;volatile
  1769  0002FE  D001               	bra	i2u50_46
  1770  000300                     i2u50_45:
  1771  000300  8483               	bsf	3971,2,c	;volatile
  1772  000302                     i2u50_46:
  1773                           
  1774                           ;main.c: 143: PIR1bits.TMR2IF = 0;
  1775  000302  929E               	bcf	3998,1,c	;volatile
  1776  000304                     i2l59:
  1777                           
  1778                           ;main.c: 144: }
  1779                           ;main.c: 146: PORTDbits.RD3 = 1;
  1780  000304  8683               	bsf	3971,3,c	;volatile
  1781  000306  C024  F037         	movff	??_isr+35,btemp+3
  1782  00030A  C023  F036         	movff	??_isr+34,btemp+2
  1783  00030E  C022  F035         	movff	??_isr+33,btemp+1
  1784  000312  C021  F034         	movff	??_isr+32,btemp
  1785  000316  C020  FFF5         	movff	??_isr+31,tablat
  1786  00031A  C01F  FFF8         	movff	??_isr+30,tblptru
  1787  00031E  C01E  FFF7         	movff	??_isr+29,tblptrh
  1788  000322  C01D  FFF6         	movff	??_isr+28,tblptrl
  1789  000326  C01C  FFF4         	movff	??_isr+27,prodh
  1790  00032A  C01B  FFF3         	movff	??_isr+26,prodl
  1791  00032E  C01A  FFDA         	movff	??_isr+25,fsr2h
  1792  000332  C019  FFD9         	movff	??_isr+24,fsr2l
  1793  000336  C018  FFE2         	movff	??_isr+23,fsr1h
  1794  00033A  C017  FFE1         	movff	??_isr+22,fsr1l
  1795  00033E  C016  FFEA         	movff	??_isr+21,fsr0h
  1796  000342  C015  FFE9         	movff	??_isr+20,fsr0l
  1797  000346  C014  FFFB         	movff	??_isr+19,pclatu
  1798  00034A  C013  FFFA         	movff	??_isr+18,pclath
  1799  00034E  9234               	bcf	btemp,1,c	;clear compiler interrupt flag (level 2)
  1800  000350  0011               	retfie		f
  1801  000352                     __end_of_isr:
  1802                           	opt stack 0
  1803  0000                     pclatu	equ	0xFFB
  1804                           pclath	equ	0xFFA
  1805                           tblptru	equ	0xFF8
  1806                           tblptrh	equ	0xFF7
  1807                           tblptrl	equ	0xFF6
  1808                           tablat	equ	0xFF5
  1809                           prodh	equ	0xFF4
  1810                           prodl	equ	0xFF3
  1811                           intcon	equ	0xFF2
  1812                           postinc0	equ	0xFEE
  1813                           fsr0h	equ	0xFEA
  1814                           fsr0l	equ	0xFE9
  1815                           wreg	equ	0xFE8
  1816                           fsr1h	equ	0xFE2
  1817                           fsr1l	equ	0xFE1
  1818                           indf2	equ	0xFDF
  1819                           postinc2	equ	0xFDE
  1820                           postdec2	equ	0xFDD
  1821                           fsr2h	equ	0xFDA
  1822                           fsr2l	equ	0xFD9
  1823                           status	equ	0xFD8
  1824                           pclatu	equ	0xFFB
  1825                           pclath	equ	0xFFA
  1826                           tblptru	equ	0xFF8
  1827                           tblptrh	equ	0xFF7
  1828                           tblptrl	equ	0xFF6
  1829                           tablat	equ	0xFF5
  1830                           prodh	equ	0xFF4
  1831                           prodl	equ	0xFF3
  1832                           intcon	equ	0xFF2
  1833                           postinc0	equ	0xFEE
  1834                           fsr0h	equ	0xFEA
  1835                           fsr0l	equ	0xFE9
  1836                           wreg	equ	0xFE8
  1837                           fsr1h	equ	0xFE2
  1838                           fsr1l	equ	0xFE1
  1839                           indf2	equ	0xFDF
  1840                           postinc2	equ	0xFDE
  1841                           postdec2	equ	0xFDD
  1842                           fsr2h	equ	0xFDA
  1843                           fsr2l	equ	0xFD9
  1844                           status	equ	0xFD8
  1845                           
  1846                           	psect	rparam
  1847  0000                     pclatu	equ	0xFFB
  1848                           pclath	equ	0xFFA
  1849                           tblptru	equ	0xFF8
  1850                           tblptrh	equ	0xFF7
  1851                           tblptrl	equ	0xFF6
  1852                           tablat	equ	0xFF5
  1853                           prodh	equ	0xFF4
  1854                           prodl	equ	0xFF3
  1855                           intcon	equ	0xFF2
  1856                           postinc0	equ	0xFEE
  1857                           fsr0h	equ	0xFEA
  1858                           fsr0l	equ	0xFE9
  1859                           wreg	equ	0xFE8
  1860                           fsr1h	equ	0xFE2
  1861                           fsr1l	equ	0xFE1
  1862                           indf2	equ	0xFDF
  1863                           postinc2	equ	0xFDE
  1864                           postdec2	equ	0xFDD
  1865                           fsr2h	equ	0xFDA
  1866                           fsr2l	equ	0xFD9
  1867                           status	equ	0xFD8
  1868                           
  1869                           	psect	temp
  1870  000034                     btemp:
  1871                           	opt stack 0
  1872  000034                     	ds	1
  1873  0000                     int$flags	set	btemp
  1874  0000                     wtemp6	set	btemp+1
  1875                           pclatu	equ	0xFFB
  1876                           pclath	equ	0xFFA
  1877                           tblptru	equ	0xFF8
  1878                           tblptrh	equ	0xFF7
  1879                           tblptrl	equ	0xFF6
  1880                           tablat	equ	0xFF5
  1881                           prodh	equ	0xFF4
  1882                           prodl	equ	0xFF3
  1883                           intcon	equ	0xFF2
  1884                           postinc0	equ	0xFEE
  1885                           fsr0h	equ	0xFEA
  1886                           fsr0l	equ	0xFE9
  1887                           wreg	equ	0xFE8
  1888                           fsr1h	equ	0xFE2
  1889                           fsr1l	equ	0xFE1
  1890                           indf2	equ	0xFDF
  1891                           postinc2	equ	0xFDE
  1892                           postdec2	equ	0xFDD
  1893                           fsr2h	equ	0xFDA
  1894                           fsr2l	equ	0xFD9
  1895                           status	equ	0xFD8


Data Sizes:
    Strings     0
    Constant    0
    Data        0
    BSS         66
    Persistent  0
    Stack       0

Auto Spaces:
    Space          Size  Autos    Used
    COMRAM           94     51      51
    BANK0           160     20      86
    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]), 

    eusart_write_midi@pkt	PTR const struct . size(2) Largest target is 7
		 -> main@message(BANK0[7]), 

    sp__memset	PTR void  size(2) Largest target is 64
		 -> keys_data(BANK0[64]), 


Critical Paths under _main in COMRAM

    _main->_eusart_write_midi
    _midi_note_on->_midi_set_channel
    _eusart_write_midi->_eusart2_putch

Critical Paths under _isr in COMRAM

    None.

Critical Paths under _main in BANK0

    _main->_midi_note_on

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                                                14    14      0    2013
                                              6 BANK0     14    14      0
                  _eusart_write_midi
                            _init_hw
                             _memset
                       _midi_note_on
 ---------------------------------------------------------------------------------
 (1) _midi_note_on                                         6     0      6    1242
                                              0 BANK0      6     0      6
                   _midi_set_channel
                    _midi_set_status
 ---------------------------------------------------------------------------------
 (2) _midi_set_status                                      4     1      3     370
                                             42 COMRAM     4     1      3
 ---------------------------------------------------------------------------------
 (2) _midi_set_channel                                     5     1      4     370
                                             42 COMRAM     5     1      4
 ---------------------------------------------------------------------------------
 (1) _memset                                               8     2      6     324
                                             42 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     255
                                             43 COMRAM     8     6      2
                      _eusart2_putch
 ---------------------------------------------------------------------------------
 (2) _eusart2_putch                                        1     1      0      22
                                             42 COMRAM     1     1      0
 ---------------------------------------------------------------------------------
 Estimated maximum stack depth 2
 ---------------------------------------------------------------------------------
 (Depth) Function   	        Calls       Base Space   Used Autos Params    Refs
 ---------------------------------------------------------------------------------
 (3) _isr                                                 42    42      0     405
                                              0 COMRAM    42    42      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     14      56       4       53.8%
BITCOMRAM           5E      0       0       0        0.0%
COMRAM              5E     33      33       1       54.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      89       9        0.0%
DATA                 0      0      89      17        0.0%
CODE                 0      0       0       0        0.0%


Microchip Technology PIC18 Macro Assembler V1.44 build -154322312 
Symbol Table                                                                                   Tue Feb 27 10:27:03 2018

                        l76 0398                          l87 0494                          l79 042C  
                        l88 0482                __CFG_CP0$OFF 000000                __CFG_CP1$OFF 000000  
              __CFG_CP2$OFF 000000                __CFG_CP3$OFF 000000                 __CFG_LVP$ON 000000  
                       l596 0588                         l597 0578                __CFG_CPB$OFF 000000  
                       _PR2 000FBB                __CFG_CPD$OFF 000000                         u524 03C4  
                       u525 03BE                         u544 0416                         u545 0410  
                       u577 03F4                         _isr 0008                         prod 000FF3  
                       wreg 000FE8                  _TXSTA1bits 000FAC                  _TXSTA2bits 000F72  
                      l1110 0578                        l1202 0398                        l1052 0638  
                      l1140 0482                        l1204 03A2                        ?_isr 0001  
                      i2l60 0064                        i2l62 01E0                        i2l64 0286  
                      i2l59 0304                        i2l67 02F8                 main@message 00AF  
                      _main 0356         midi_note_on@channel 00A4                        fsr0h 000FEA  
                      fsr1h 000FE2                        fsr2h 000FDA                        fsr0l 000FE9  
                      indf2 000FDF                        fsr1l 000FE1                        fsr2l 000FD9  
                      btemp 0034               __CFG_BORV$190 000000                        isr@i 002A  
                      prodh 000FF4                        prodl 000FF3                        start 0352  
             __CFG_IESO$OFF 000000             midi_note_on@pkt 00A2                ___param_bank 000000  
                     ??_isr 0001                _BAUDCON1bits 000FB8                _BAUDCON2bits 000F70  
                     ?_main 0001                       _RC1IF 007CF5               __CFG_WDTEN$ON 000000  
                     _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 056E          __CFG_MCLRE$EXTMCLR 000000  
                     main@i 00AD                       pclath 000FFA                       tablat 000FF5  
         _eusart_write_midi 0432     __end_of_midi_set_status 05E4                       status 000FD8  
                     wtemp6 0035              __CFG_HFOFST$ON 000000          ?_eusart_write_midi 002C  
            __CFG_PBADEN$ON 000000     eusart_write_midi@length 0030             __initialization 061C  
          midi_note_on@note 00A6                __end_of_main 0432         ??_eusart_write_midi 002E  
      midi_note_on@velocity 00A7                      ??_main 00A8               ?_midi_note_on 00A2  
             __activetblptr 000002              __CFG_PLLCFG$ON 000000   __end_of_eusart_write_midi 04A6  
                    _ANSELA 000F38                      _ANSELB 000F39                      _ANSELC 000F3A  
                    _ANSELD 000F3B                      _RC1REG 000FAE                      _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 05C0                      _memset 056E  
                    clear_0 0622       midi_set_status@status 002D              ??_midi_note_on 0030  
    __size_of_eusart2_putch 000C                   ??_init_hw 002B                      tblptrh 000FF7  
                    tblptrl 000FF6                      tblptru 000FF8                  __accesstop 0060  
   __end_of__initialization 0628            ?_midi_set_status 002B              ??_eusart1_init 002B  
            ??_eusart2_init 002B               ___rparam_used 000001              __pcstackCOMRAM 0001  
__size_of_eusart_write_midi 0074                  __pbssBANK0 0060               _eusart2_putch 0636  
        __CFG_CCP2MX$PORTC1 000000          __CFG_CCP3MX$PORTB5 000000                     ?_memset 002B  
                   i2u42_44 01F4                     i2u50_45 0300                     i2u42_45 01EE  
                   i2u50_46 0302                     i2u45_44 029E                     i2u45_45 0298  
                   i2u38_44 00A6                     i2u38_45 00A2                     i2u39_44 0138  
                   i2u47_45 02BC                     i2u39_45 0134                     i2u47_47 02BE  
                   _SPBRGH1 000FB0                     _SPBRGH2 000F76              ?_eusart2_putch 0001  
      __end_of_midi_note_on 050C        eusart_write_midi@pkt 002C             __CFG_PWRTEN$OFF 000000  
                   __Hparam 0000                     __Lparam 0000                     __pcinit 061C  
                   _isr$605 0029                     _isr$595 0027                     _isr$596 0028  
           __size_of_memset 002C                     __ramtop 0600                     __ptext0 0356  
                   __ptext1 04A6                     __ptext2 05C0                     __ptext3 059A  
                   __ptext4 056E                     __ptext5 050C                     __ptext6 05E4  
                   __ptext7 0600                     __ptext8 0432                     __ptext9 0636  
      __end_of_eusart1_init 061C        __end_of_eusart2_init 0600                   _T2CONbits 000FBA  
                   _init_hw 050C                __size_of_isr 034A                  _keypresses 0060  
      end_of_initialization 0628                     memset@c 002D                     memset@n 002F  
                   memset@p 0031               __Lmediumconst 0000                     postdec2 000FDD  
                   postinc0 000FEE                     postinc2 000FDE           ?_midi_set_channel 002B  
                 _PORTAbits 000F80                   _PORTDbits 000F83          ??_midi_set_channel 002F  
          __CFG_FOSC$INTIO7 000000                   _TRISCbits 000F94                   _TRISDbits 000F95  
           ??_eusart2_putch 002B     midi_set_channel@channel 002D              __end_of_memset 059A  
       start_initialization 061C                 __end_of_isr 0352       __size_of_midi_note_on 0066  
  __size_of_midi_set_status 0024       __size_of_eusart1_init 001C       __size_of_eusart2_init 001C  
                  ??_memset 0031                _midi_note_on 04A6               __pcstackBANK0 00A2  
        midi_set_status@pkt 002B                _eusart1_init 0600                _eusart2_init 05E4  
                 __pintcode 0008            __CFG_PRICLKEN$ON 000000                    ?_init_hw 0001  
                 _keys_data 0062                    _PIE1bits 000F9D                    _PIR1bits 000F9E  
          __CFG_WDTPS$32768 000000           ??_midi_set_status 002E   __size_of_midi_set_channel 0026  
     eusart_write_midi@data 0032                   isr@data_a 0025                   isr@data_b 0026  
                  __Hrparam 0000                    __Lrparam 0000          __CFG_BOREN$SBORDIS 000000  
         __CFG_P2BMX$PORTD2 000000              eusart2_putch@c 002B            __size_of_init_hw 0062  
     __end_of_eusart2_putch 0642               __size_of_main 00DC                    int$flags 0034  
               _OSCTUNEbits 000F9B                  _INTCONbits 000FF2                    memset@p1 002B  
       midi_set_channel@pkt 002B                    intlevel2 0000                  _RCSTA1bits 000FAB  
                _RCSTA2bits 000F71                  _OSCCONbits 000FD3           __CFG_T3CMX$PORTC0 000000  
          _midi_set_channel 059A             _midi_set_status 05C0