-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLED_Project.production.lst
4512 lines (4306 loc) · 258 KB
/
LED_Project.production.lst
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
Microchip MPLAB XC8 Assembler V2.41 build 20230208172133
Fri Jul 21 19:32:32 2023
Microchip MPLAB XC8 C Compiler v2.41 (Free license) build 20230208172133 Og1
1 processor 18F4620
2 fnconf rparam,??,?,0
3 pagewidth 120
4 opt flic
5 psect idataCOMRAM,global,class=CODE,delta=1,noexec
6 psect idataBANK0,global,class=CODE,delta=1,noexec
7 psect smallconst,global,reloc=2,class=SMALLCONST,delta=1,noexec
8 psect cinit,global,reloc=2,class=CODE,delta=1
9 psect bssCOMRAM,global,class=COMRAM,space=1,delta=1,lowdata,noexec
10 psect dataCOMRAM,global,class=COMRAM,space=1,delta=1,lowdata,noexec
11 psect bssBANK0,global,class=BANK0,space=1,delta=1,lowdata,noexec
12 psect dataBANK0,global,class=BANK0,space=1,delta=1,lowdata,noexec
13 psect cstackCOMRAM,global,class=COMRAM,space=1,delta=1,lowdata,noexec
14 psect text0,global,reloc=2,class=CODE,delta=1
15 psect text1,global,reloc=2,class=CODE,delta=1
16 psect text2,global,reloc=2,class=CODE,delta=1
17 psect text3,global,reloc=2,class=CODE,delta=1
18 psect text4,global,reloc=2,class=CODE,delta=1
19 psect text5,global,reloc=2,class=CODE,delta=1
20 psect text6,global,reloc=2,class=CODE,delta=1
21 psect text7,global,reloc=2,class=CODE,delta=1
22 psect intcode,global,reloc=2,class=CODE,delta=1
23 psect intcode_body,global,reloc=2,class=CODE,delta=1
24 psect text9,global,reloc=2,class=CODE,delta=1
25 psect text10,global,reloc=2,class=CODE,delta=1
26 psect text11,global,reloc=2,class=CODE,delta=1
27 psect text12,global,reloc=2,class=CODE,delta=1
28 psect text13,global,reloc=2,class=CODE,delta=1
29 psect text14,global,reloc=2,class=CODE,delta=1
30 psect text15,global,reloc=2,class=CODE,delta=1
31 psect text16,global,reloc=2,class=CODE,delta=1
32 psect text17,global,reloc=2,class=CODE,delta=1
33 psect text18,global,reloc=2,class=CODE,delta=1
34 psect text19,global,reloc=2,class=CODE,delta=1
35 psect text20,global,reloc=2,class=CODE,delta=1
36 psect text21,global,reloc=2,class=CODE,delta=1
37 psect text22,global,reloc=2,class=CODE,delta=1
38 psect text23,global,reloc=2,class=CODE,delta=1
39 psect text24,global,reloc=2,class=CODE,delta=1
40 psect text25,global,reloc=2,class=CODE,delta=1
41 psect text26,global,reloc=2,class=CODE,delta=1
42 psect intsave_regs,global,class=BIGRAM,space=1,delta=1,noexec
43 psect rparam,global,class=COMRAM,space=1,delta=1,noexec
44 psect temp,global,ovrld,common,class=COMRAM,space=1,delta=1
45 psect idloc,global,abs,ovrld,class=IDLOC,space=5,delta=1,noexec
46 psect config,global,abs,ovrld,class=CONFIG,space=4,delta=1,noexec
47 000000
48 ; Generated 09/02/2023 GMT
49 ;
50 ; Copyright © 2023, Microchip Technology Inc. and its subsidiaries ("Microchip")
51 ; All rights reserved.
52 ;
53 ; This software is developed by Microchip Technology Inc. and its subsidiaries ("Microch
+ ip").
54 ;
55 ; Redistribution and use in source and binary forms, with or without modification, are
56 ; permitted provided that the following conditions are met:
57 ;
58 ; 1. Redistributions of source code must retain the above copyright notice, this lis
+ t of
59 ; conditions and the following disclaimer.
60 ;
61 ; 2. Redistributions in binary form must reproduce the above copyright notice, this
+ list
62 ; of conditions and the following disclaimer in the documentation and/or other
63 ; materials provided with the distribution. Publication is not required when
64 ; this file is used in an embedded application.
65 ;
66 ; 3. Microchip's name may not be used to endorse or promote products derived from th
+ is
67 ; software without specific prior written permission.
68 ;
69 ; THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
70 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS F
+ OR
71 ; PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MICROCHIP BE LIABLE FOR ANY DIRECT, INDIREC
+ T,
72 ; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO
73 ; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS
74 ; INTERRUPTION) HOWSOEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ST
+ RICT
75 ; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE U
+ SE OF
76 ; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
77 ;
78 ;
79 ; Code-generator required, PIC18F4620 Definitions
80 ;
81 ; SFR Addresses
82 000000
83 psect idataCOMRAM
84 00196E __pidataCOMRAM:
85 callstack 0
86
87 ;initializer for _lat_registers
88 00196E 89 db 137
89 00196F 0F db 15
90 001970 8A db 138
91 001971 0F db 15
92 001972 8B db 139
93 001973 0F db 15
94 001974 8C db 140
95 001975 0F db 15
96 001976 8D db 141
97 001977 0F db 15
98
99 ;initializer for _tris_registers
100 001978 92 db 146
101 001979 0F db 15
102 00197A 93 db 147
103 00197B 0F db 15
104 00197C 94 db 148
105 00197D 0F db 15
106 00197E 95 db 149
107 00197F 0F db 15
108 001980 96 db 150
109 001981 0F db 15
110
111 ;initializer for _RB7_Flag
112 001982 01 db 1
113
114 ;initializer for _RB6_Flag
115 001983 01 db 1
116
117 ;initializer for _RB5_Flag
118 001984 01 db 1
119
120 ;initializer for _RB4_Flag
121 001985 01 db 1
122
123 ;initializer for _lcd_1
124 001986 02 db 2
125 001987 0A db 10
126 001988 12 db 18
127 001989 1A db 26
128 00198A 22 db 34
129 00198B 2A db 42
130
131 ;initializer for _led4
132 00198C 32 db 50
133
134 ;initializer for _led3
135 00198D 22 db 34
136
137 ;initializer for _led2
138 00198E 12 db 18
139
140 ;initializer for _led1
141 00198F 02 db 2
142
143 psect idataBANK0
144 0019F8 __pidataBANK0:
145 callstack 0
146
147 ;initializer for _port_registers
148 0019F8 80 db 128
149 0019F9 0F db 15
150 0019FA 81 db 129
151 0019FB 0F db 15
152 0019FC 82 db 130
153 0019FD 0F db 15
154 0019FE 83 db 131
155 0019FF 0F db 15
156 001A00 84 db 132
157 001A01 0F db 15
158
159 ;initializer for _lcd_2
160 001A02 32 db 50
161 001A03 3A db 58
162 001A04 03 db 3
163 001A05 0B db 11
164 001A06 13 db 19
165 001A07 1B db 27
166 001A08 23 db 35
167 001A09 2B db 43
168 001A0A 33 db 51
169 001A0B 3B db 59
170
171 psect smallconst
172 001000 __psmallconst:
173 callstack 0
174 001000 00 db 0
175 001001 _btn_values:
176 callstack 0
177 001001 37 db 55
178 001002 38 db 56
179 001003 39 db 57
180 001004 2F db 47
181 001005 34 db 52
182 001006 35 db 53
183 001007 36 db 54
184 001008 2A db 42
185 001009 31 db 49
186 00100A 32 db 50
187 00100B 33 db 51
188 00100C 2D db 45
189 00100D 23 db 35
190 00100E 30 db 48
191 00100F 3D db 61
192 001010 2B db 43
193 001011 __end_of_btn_values:
194 callstack 0
195 000000 _SPBRGH set 4016
196 000000 _SPBRG set 4015
197 000000 _TXREG set 4013
198 000000 _TXSTAbits set 4012
199 000000 _RCREG set 4014
200 000000 _RCSTAbits set 4011
201 000000 _TMR3L set 4018
202 000000 _TMR3H set 4019
203 000000 _TMR1L set 4046
204 000000 _TMR1H set 4047
205 000000 _TMR0L set 4054
206 000000 _TMR0H set 4055
207 000000 _INTCON2bits set 4081
208 000000 _SSPSTATbits set 4039
209 000000 _SSPADD set 4040
210 000000 _SSPCON2bits set 4037
211 000000 _SSPCON1bits set 4038
212 000000 _EECON2 set 4007
213 000000 _CCPR2H set 4028
214 000000 _CCPR2L set 4027
215 000000 _CCPR1H set 4031
216 000000 _CCPR1L set 4030
217 000000 _ADCON1bits set 4033
218 000000 _ADRESL set 4035
219 000000 _ADRESH set 4036
220 000000 _INTCONbits set 4082
221 000000 _TRISD set 3989
222 000000 _TRISC set 3988
223 000000 _TRISB set 3987
224 000000 _TRISE set 3990
225 000000 _PORTBbits set 3969
226 000000 _TRISCbits set 3988
227 000000 _PIE1bits set 3997
228 000000 _ADCON2bits set 4032
229 000000 _ADCON0bits set 4034
230 000000 _PORTE set 3972
231 000000 _PORTD set 3971
232 000000 _PORTC set 3970
233 000000 _PORTB set 3969
234 000000 _PORTA set 3968
235 000000 _LATA set 3977
236 000000 _TRISA set 3986
237 000000 _PIE2bits set 4000
238 000000 _CCP2CONbits set 4026
239 000000 _CCP1CONbits set 4029
240 000000 _PIR1bits set 3998
241 000000 _EECON1bits set 4006
242 000000 _EEDATA set 4008
243 000000 _EEADR set 4009
244 000000 _EEADRH set 4010
245 000000 _T3CONbits set 4017
246 000000 _PIR2bits set 4001
247 000000 _LATE set 3981
248 000000 _LATD set 3980
249 000000 _LATC set 3979
250 000000 _LATB set 3978
251 000000 _TMR2 set 4044
252 000000 _T2CONbits set 4042
253 000000 _T1CONbits set 4045
254 000000 _T0CONbits set 4053
255 000000 _INTCON3bits set 4080
256 000000 _SSPBUF set 4041
257 000000 _BAUDCONbits set 4024
258 001011 STR_1:
259 001011 25 db 37
260 001012 69 db 105 ;'i'
261 001013 00 db 0
262 001014 00 db 0 ; dummy byte at the end
263 000000
264 ; #config settings
265
266 psect cinit
267 0018D8 __pcinit:
268 callstack 0
269 0018D8 start_initialization:
270 callstack 0
271 0018D8 __initialization:
272 callstack 0
273
274 ; Initialize objects allocated to BANK0 (20 bytes)
275 ; load TBLPTR registers with __pidataBANK0
276 0018D8 0EF8 movlw low __pidataBANK0
277 0018DA 6EF6 movwf tblptrl,c
278 0018DC 0E19 movlw high __pidataBANK0
279 0018DE 6EF7 movwf tblptrh,c
280 0018E0 0E00 movlw low (__pidataBANK0 shr (0+16))
281 0018E2 6EF8 movwf tblptru,c
282 0018E4 EE00 F080 lfsr 0,__pdataBANK0
283 0018E8 EE10 F014 lfsr 1,20
284 0018EC copy_data0:
285 0018EC 0009 tblrd *+
286 0018EE CFF5 FFEE movff tablat,postinc0
287 0018F2 50E5 movf postdec1,w,c
288 0018F4 50E1 movf fsr1l,w,c
289 0018F6 E1FA bnz copy_data0
290
291 ; Initialize objects allocated to COMRAM (34 bytes)
292 ; load TBLPTR registers with __pidataCOMRAM
293 0018F8 0E6E movlw low __pidataCOMRAM
294 0018FA 6EF6 movwf tblptrl,c
295 0018FC 0E19 movlw high __pidataCOMRAM
296 0018FE 6EF7 movwf tblptrh,c
297 001900 0E00 movlw low (__pidataCOMRAM shr (0+16))
298 001902 6EF8 movwf tblptru,c
299 001904 EE00 F043 lfsr 0,__pdataCOMRAM
300 001908 EE10 F022 lfsr 1,34
301 00190C copy_data1:
302 00190C 0009 tblrd *+
303 00190E CFF5 FFEE movff tablat,postinc0
304 001912 50E5 movf postdec1,w,c
305 001914 50E1 movf fsr1l,w,c
306 001916 E1FA bnz copy_data1
307
308 ; Clear objects allocated to BANK0 (6 bytes)
309 001918 0100 movlb 0
310 00191A 6B99 clrf (__pbssBANK0+5)& (0+255),b
311 00191C 6B98 clrf (__pbssBANK0+4)& (0+255),b
312 00191E 6B97 clrf (__pbssBANK0+3)& (0+255),b
313 001920 6B96 clrf (__pbssBANK0+2)& (0+255),b
314 001922 6B95 clrf (__pbssBANK0+1)& (0+255),b
315 001924 6B94 clrf __pbssBANK0& (0+255),b
316
317 ; Clear objects allocated to COMRAM (66 bytes)
318 001926 EE00 F001 lfsr 0,__pbssCOMRAM
319 00192A 0E42 movlw 66
320 00192C clear_0:
321 00192C 6AEE clrf postinc0,c
322 00192E 06E8 decf wreg,f,c
323 001930 E1FD bnz clear_0
324 001932 end_of_initialization:
325 callstack 0
326 001932 __end_of__initialization:
327 callstack 0
328 001932 907B bcf int$flags,0,c ;clear compiler interrupt flag (level 1)
329 001934 927B bcf int$flags,1,c ;clear compiler interrupt flag (level 2)
330 001936 0100 movlb 0
331 001938 EF36 F00B goto _main ;jump to C main() function
332
333 psect bssCOMRAM
334 000001 __pbssCOMRAM:
335 callstack 0
336 000001 _USART_OverrunErrorHandler:
337 callstack 0
338 000001 ds 2
339 000003 _USART_FramingErrorHandler:
340 callstack 0
341 000003 ds 2
342 000005 _USART_RxDefaultInterruptHandler:
343 callstack 0
344 000005 ds 2
345 000007 _USART_TxDefaultInterruptHandler:
346 callstack 0
347 000007 ds 2
348 000009 _TMR3_InterruptHandler:
349 callstack 0
350 000009 ds 2
351 00000B _timer3_preload:
352 callstack 0
353 00000B ds 2
354 00000D _TMR2_InterruptHandler:
355 callstack 0
356 00000D ds 2
357 00000F _TMR1_InterruptHandler:
358 callstack 0
359 00000F ds 2
360 000011 _timer1_preload:
361 callstack 0
362 000011 ds 2
363 000013 _TMR0_InterruptHandler:
364 callstack 0
365 000013 ds 2
366 000015 _timer0_preload:
367 callstack 0
368 000015 ds 2
369 000017 _RB7_InterruptHandler_LOW:
370 callstack 0
371 000017 ds 2
372 000019 _RB7_InterruptHandler_HIGH:
373 callstack 0
374 000019 ds 2
375 00001B _RB6_InterruptHandler_LOW:
376 callstack 0
377 00001B ds 2
378 00001D _RB6_InterruptHandler_HIGH:
379 callstack 0
380 00001D ds 2
381 00001F _RB5_InterruptHandler_LOW:
382 callstack 0
383 00001F ds 2
384 000021 _RB5_InterruptHandler_HIGH:
385 callstack 0
386 000021 ds 2
387 000023 _RB4_InterruptHandler_LOW:
388 callstack 0
389 000023 ds 2
390 000025 _RB4_InterruptHandler_HIGH:
391 callstack 0
392 000025 ds 2
393 000027 _INT2_InterruptHandler:
394 callstack 0
395 000027 ds 2
396 000029 _INT1_InterruptHandler:
397 callstack 0
398 000029 ds 2
399 00002B _INT0_InterruptHandler:
400 callstack 0
401 00002B ds 2
402 00002D _MSSP_I2C_Report_Receive_Overflow_InterruptHandler:
403 callstack 0
404 00002D ds 2
405 00002F _MSSP_I2C_Report_Write_Collision_InterruptHandler:
406 callstack 0
407 00002F ds 2
408 000031 _MSSP_I2C_DefaultInterruptHandler:
409 callstack 0
410 000031 ds 2
411 000033 CCP_Set_Compare_Mode_Value@F3106:
412 callstack 0
413 000033 ds 2
414 000035 _CCP2_InterruptHandler:
415 callstack 0
416 000035 ds 2
417 000037 _CCP1_InterruptHandler:
418 callstack 0
419 000037 ds 2
420 000039 _ADC_InterruptHandler:
421 callstack 0
422 000039 ds 2
423 00003B _timer2_preload:
424 callstack 0
425 00003B ds 1
426 00003C relay_turn_off@F3052:
427 callstack 0
428 00003C ds 1
429 00003D relay_turn_on@F3047:
430 callstack 0
431 00003D ds 1
432 00003E relay_initialize@F3042:
433 callstack 0
434 00003E ds 1
435 00003F led_turn_toggle@F3063:
436 callstack 0
437 00003F ds 1
438 000040 led_turn_off@F3058:
439 callstack 0
440 000040 ds 1
441 000041 led_turn_on@F3053:
442 callstack 0
443 000041 ds 1
444 000042 led_initialize@F3048:
445 callstack 0
446 000042 ds 1
447
448 psect dataCOMRAM
449 000043 __pdataCOMRAM:
450 callstack 0
451 000043 _lat_registers:
452 callstack 0
453 000043 ds 10
454 00004D _tris_registers:
455 callstack 0
456 00004D ds 10
457 000057 _RB7_Flag:
458 callstack 0
459 000057 ds 1
460 000058 _RB6_Flag:
461 callstack 0
462 000058 ds 1
463 000059 _RB5_Flag:
464 callstack 0
465 000059 ds 1
466 00005A _RB4_Flag:
467 callstack 0
468 00005A ds 1
469 00005B _lcd_1:
470 callstack 0
471 00005B ds 6
472 000061 _led4:
473 callstack 0
474 000061 ds 1
475 000062 _led3:
476 callstack 0
477 000062 ds 1
478 000063 _led2:
479 callstack 0
480 000063 ds 1
481 000064 _led1:
482 callstack 0
483 000064 ds 1
484
485 psect bssBANK0
486 000094 __pbssBANK0:
487 callstack 0
488 000094 ds 6
489
490 psect dataBANK0
491 000080 __pdataBANK0:
492 callstack 0
493 000080 _port_registers:
494 callstack 0
495 000080 ds 10
496 00008A _lcd_2:
497 callstack 0
498 00008A ds 10
499
500 psect cstackCOMRAM
501 000065 __pcstackCOMRAM:
502 callstack 0
503 000065 RB4_ISR@RB4_Source:
504 callstack 0
505 000065 RB5_ISR@RB5_Source:
506 callstack 0
507 000065 RB6_ISR@RB6_Source:
508 callstack 0
509 000065 RB7_ISR@RB7_Source:
510 callstack 0
511
512 ; 1 bytes @ 0x0
513 000065 ds 1
514 000066 gpio_pin_direction_intialize@_pin_config:
515 callstack 0
516 000066 gpio_pin_write_logic@_pin_config:
517 callstack 0
518
519 ; 2 bytes @ 0x1
520 000066 ds 2
521 000068 ??_gpio_pin_direction_intialize:
522 000068 gpio_pin_write_logic@logic:
523 callstack 0
524
525 ; 1 bytes @ 0x3
526 000068 ds 1
527 000069 ??_gpio_pin_write_logic:
528
529 ; 1 bytes @ 0x4
530 000069 ds 5
531 00006E gpio_pin_direction_intialize@ret:
532 callstack 0
533
534 ; 1 bytes @ 0x9
535 00006E ds 1
536 00006F gpio_pin_write_logic@ret:
537 callstack 0
538
539 ; 1 bytes @ 0xA
540 00006F ds 1
541 000070 led_turn_on@led:
542 callstack 0
543 000070 led_turn_off@led:
544 callstack 0
545 000070 gpio_pin_intialize@_pin_config:
546 callstack 0
547
548 ; 2 bytes @ 0xB
549 000070 ds 2
550 000072 ??_gpio_pin_intialize:
551 000072 ??_led_turn_on:
552 000072 ??_led_turn_off:
553
554 ; 1 bytes @ 0xD
555 000072 ds 1
556 000073 led_turn_on@pin_obj:
557 callstack 0
558 000073 led_turn_off@pin_obj:
559 callstack 0
560 000073 gpio_pin_intialize@ret:
561 callstack 0
562
563 ; 1 bytes @ 0xE
564 000073 ds 1
565 000074 led_initialize@led:
566 callstack 0
567
568 ; 2 bytes @ 0xF
569 000074 ds 2
570 000076 ??_led_initialize:
571
572 ; 1 bytes @ 0x11
573 000076 ds 1
574 000077 led_initialize@ret:
575 callstack 0
576
577 ; 1 bytes @ 0x12
578 000077 ds 1
579 000078 led_initialize@pin_obj:
580 callstack 0
581
582 ; 1 bytes @ 0x13
583 000078 ds 1
584 000079 ??_main:
585
586 ; 1 bytes @ 0x14
587 000079 ds 2
588
589 ;;
590 ;;Main: autosize = 0, tempsize = 2, incstack = 0, save=0
591 ;;
592 ;; *************** function _main *****************
593 ;; Defined at:
594 ;; line 21 in file "application.c"
595 ;; Parameters: Size Location Type
596 ;; None
597 ;; Auto vars: Size Location Type
598 ;; None
599 ;; Return value: Size Location Type
600 ;; 2 1575[None ] int
601 ;; Registers used:
602 ;; wreg, fsr2l, fsr2h, status,2, status,0, prodl, prodh, cstack
603 ;; Tracked objects:
604 ;; On entry : 0/0
605 ;; On exit : 0/0
606 ;; Unchanged: 0/0
607 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5 BANK6 BANK7 BANK8 BANK9 BANK10 BANK1
+1 BANK12 BANK13 BANK14 BANK15
608 ;; Params: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
609 ;; Locals: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
610 ;; Temps: 2 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
611 ;; Totals: 2 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
612 ;;Total ram usage: 2 bytes
613 ;; Hardware stack levels required when called: 6
614 ;; This function calls:
615 ;; _application_intialize
616 ;; _led_turn_off
617 ;; _led_turn_on
618 ;; This function is called by:
619 ;; Startup code after reset
620 ;; This function uses a non-reentrant model
621 ;;
622
623 psect text0
624 00166C __ptext0:
625 callstack 0
626 00166C _main:
627 callstack 25
628 00166C
629 ;application.c: 23: application_intialize();
630 00166C EC9E F00C call _application_intialize ;wreg free
631 001670 l1576:
632
633 ;application.c: 26: {;application.c: 27: led_turn_on(&led1); led_turn_on(&le
+ d2); led_turn_on(&led3); led_turn_on(&led4);
634 001670 0E64 movlw low _led1
635 001672 6E70 movwf led_turn_on@led^0,c
636 001674 0E00 movlw high _led1
637 001676 6E71 movwf (led_turn_on@led+1)^0,c
638 001678 ECC0 F00B call _led_turn_on ;wreg free
639 00167C 0E63 movlw low _led2
640 00167E 6E70 movwf led_turn_on@led^0,c
641 001680 0E00 movlw high _led2
642 001682 6E71 movwf (led_turn_on@led+1)^0,c
643 001684 ECC0 F00B call _led_turn_on ;wreg free
644 001688 0E62 movlw low _led3
645 00168A 6E70 movwf led_turn_on@led^0,c
646 00168C 0E00 movlw high _led3
647 00168E 6E71 movwf (led_turn_on@led+1)^0,c
648 001690 ECC0 F00B call _led_turn_on ;wreg free
649 001694 0E61 movlw low _led4
650 001696 6E70 movwf led_turn_on@led^0,c
651 001698 0E00 movlw high _led4
652 00169A 6E71 movwf (led_turn_on@led+1)^0,c
653 00169C ECC0 F00B call _led_turn_on ;wreg free
654 0016A0
655 ;application.c: 28: _delay((unsigned long)((250)*(8000000UL/4000.0)));
656 0016A0 0E03 movlw 3
657 0016A2 6E7A movwf (??_main+1)^0,c
658 0016A4 0E8A movlw 138
659 0016A6 6E79 movwf ??_main^0,c
660 0016A8 0E56 movlw 86
661 0016AA u3987:
662 0016AA 2EE8 decfsz wreg,f,c
663 0016AC D7FE bra u3987
664 0016AE 2E79 decfsz ??_main^0,f,c
665 0016B0 D7FC bra u3987
666 0016B2 2E7A decfsz (??_main+1)^0,f,c
667 0016B4 D7FA bra u3987
668 0016B6
669 ;application.c: 29: led_turn_off(&led1); led_turn_off(&led2); led_turn_off(&led3
+ ); led_turn_off(&led4);
670 0016B6 0E64 movlw low _led1
671 0016B8 6E70 movwf led_turn_off@led^0,c
672 0016BA 0E00 movlw high _led1
673 0016BC 6E71 movwf (led_turn_off@led+1)^0,c
674 0016BE ECFB F00B call _led_turn_off ;wreg free
675 0016C2 0E63 movlw low _led2
676 0016C4 6E70 movwf led_turn_off@led^0,c
677 0016C6 0E00 movlw high _led2
678 0016C8 6E71 movwf (led_turn_off@led+1)^0,c
679 0016CA ECFB F00B call _led_turn_off ;wreg free
680 0016CE 0E62 movlw low _led3
681 0016D0 6E70 movwf led_turn_off@led^0,c
682 0016D2 0E00 movlw high _led3
683 0016D4 6E71 movwf (led_turn_off@led+1)^0,c
684 0016D6 ECFB F00B call _led_turn_off ;wreg free
685 0016DA 0E61 movlw low _led4
686 0016DC 6E70 movwf led_turn_off@led^0,c
687 0016DE 0E00 movlw high _led4
688 0016E0 6E71 movwf (led_turn_off@led+1)^0,c
689 0016E2 ECFB F00B call _led_turn_off ;wreg free
690 0016E6
691 ;application.c: 30: _delay((unsigned long)((250)*(8000000UL/4000.0)));
692 0016E6 0E03 movlw 3
693 0016E8 6E7A movwf (??_main+1)^0,c
694 0016EA 0E8A movlw 138
695 0016EC 6E79 movwf ??_main^0,c
696 0016EE 0E56 movlw 86
697 0016F0 u3997:
698 0016F0 2EE8 decfsz wreg,f,c
699 0016F2 D7FE bra u3997
700 0016F4 2E79 decfsz ??_main^0,f,c
701 0016F6 D7FC bra u3997
702 0016F8 2E7A decfsz (??_main+1)^0,f,c
703 0016FA D7FA bra u3997
704 0016FC EF38 F00B goto l1576
705 001700 EF07 F000 goto start
706 001704 __end_of_main:
707 callstack 0
708
709 ;; *************** function _led_turn_on *****************
710 ;; Defined at:
711 ;; line 43 in file "ECU_Layer/LED/ecu_led.c"
712 ;; Parameters: Size Location Type
713 ;; led 2 11[COMRAM] PTR const struct .
714 ;; -> led4(1), led3(1), led2(1), led1(1),
715 ;; Auto vars: Size Location Type
716 ;; pin_obj 1 14[COMRAM] struct .
717 ;; ret 1 0 unsigned char
718 ;; Return value: Size Location Type
719 ;; 1 wreg unsigned char
720 ;; Registers used:
721 ;; wreg, fsr2l, fsr2h, status,2, status,0, prodl, prodh, cstack
722 ;; Tracked objects:
723 ;; On entry : 0/0
724 ;; On exit : 0/0
725 ;; Unchanged: 0/0
726 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5 BANK6 BANK7 BANK8 BANK9 BANK10 BANK1
+1 BANK12 BANK13 BANK14 BANK15
727 ;; Params: 2 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
728 ;; Locals: 1 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
729 ;; Temps: 1 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
730 ;; Totals: 4 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
731 ;;Total ram usage: 4 bytes
732 ;; Hardware stack levels used: 1
733 ;; Hardware stack levels required when called: 3
734 ;; This function calls:
735 ;; _gpio_pin_write_logic
736 ;; This function is called by:
737 ;; _main
738 ;; This function uses a non-reentrant model
739 ;;
740
741 psect text1
742 001780 __ptext1:
743 callstack 0
744 001780 _led_turn_on:
745 callstack 27
746 001780
747 ;ECU_Layer/LED/ecu_led.c: 46: if(((void*)0) == led)
748 001780 5070 movf led_turn_on@led^0,w,c
749 001782 1071 iorwf (led_turn_on@led+1)^0,w,c
750 001784 A4D8 btfss status,2,c
751 001786 EFC7 F00B goto u3341
752 00178A EFC9 F00B goto u3340
753 00178E u3341:
754 00178E EFCB F00B goto l277
755 001792 u3340:
756 001792
757 ;ECU_Layer/LED/ecu_led.c: 49: }
758 001792 EFFA F00B goto l281
759 001796 l277:
760
761 ;ECU_Layer/LED/ecu_led.c: 51: {;ECU_Layer/LED/ecu_led.c: 52: pin_config_t p
+ in_obj = { .port = led->port_name, .pin = led->pin, .direction = GPIO_DIRECTION_OUTPUT,.
+ logic = led->led_status };
762 001796 C041 F073 movff led_turn_on@F3053,led_turn_on@pin_obj
763 00179A C070 FFD9 movff led_turn_on@led,fsr2l
764 00179E C071 FFDA movff led_turn_on@led+1,fsr2h
765 0017A2 50DF movf 223,w,c
766 0017A4 0B0F andlw 15
767 0017A6 6E72 movwf ??_led_turn_on^0,c
768 0017A8 5073 movf led_turn_on@pin_obj^0,w,c
769 0017AA 1872 xorwf ??_led_turn_on^0,w,c
770 0017AC 0BF8 andlw -8
771 0017AE 1872 xorwf ??_led_turn_on^0,w,c
772 0017B0 6E73 movwf led_turn_on@pin_obj^0,c
773 0017B2 C070 FFD9 movff led_turn_on@led,fsr2l
774 0017B6 C071 FFDA movff led_turn_on@led+1,fsr2h
775 0017BA 38DF swapf 223,w,c
776 0017BC 0B07 andlw 7
777 0017BE 6E72 movwf ??_led_turn_on^0,c
778 0017C0 4672 rlncf ??_led_turn_on^0,f,c
779 0017C2 4672 rlncf ??_led_turn_on^0,f,c
780 0017C4 4672 rlncf ??_led_turn_on^0,f,c
781 0017C6 5073 movf led_turn_on@pin_obj^0,w,c
782 0017C8 1872 xorwf ??_led_turn_on^0,w,c
783 0017CA 0BC7 andlw -57
784 0017CC 1872 xorwf ??_led_turn_on^0,w,c
785 0017CE 6E73 movwf led_turn_on@pin_obj^0,c
786 0017D0 9C73 bcf led_turn_on@pin_obj^0,6,c
787 0017D2 C070 FFD9 movff led_turn_on@led,fsr2l
788 0017D6 C071 FFDA movff led_turn_on@led+1,fsr2h
789 0017DA AEDF btfss indf2,7,c
790 0017DC D002 bra u3355
791 0017DE 8E73 bsf led_turn_on@pin_obj^0,7,c
792 0017E0 D001 bra u3357
793 0017E2 u3355:
794 0017E2 9E73 bcf led_turn_on@pin_obj^0,7,c
795 0017E4 u3357:
796 0017E4
797 ;ECU_Layer/LED/ecu_led.c: 53: gpio_pin_write_logic(&pin_obj, GPIO_HIGH);
798 0017E4 0E73 movlw low led_turn_on@pin_obj
799 0017E6 6E66 movwf gpio_pin_write_logic@_pin_config^0,c
800 0017E8 0E00 movlw high led_turn_on@pin_obj
801 0017EA 6E67 movwf (gpio_pin_write_logic@_pin_config+1)^0,c
802 0017EC 0E01 movlw 1
803 0017EE 6E68 movwf gpio_pin_write_logic@logic^0,c
804 0017F0 ECA0 F00A call _gpio_pin_write_logic ;wreg free
805 0017F4 l281:
806 0017F4 0012 return ;funcret
807 0017F6 __end_of_led_turn_on:
808 callstack 0
809
810 ;; *************** function _led_turn_off *****************
811 ;; Defined at:
812 ;; line 65 in file "ECU_Layer/LED/ecu_led.c"
813 ;; Parameters: Size Location Type
814 ;; led 2 11[COMRAM] PTR const struct .
815 ;; -> led4(1), led3(1), led2(1), led1(1),
816 ;; Auto vars: Size Location Type
817 ;; pin_obj 1 14[COMRAM] struct .
818 ;; ret 1 0 unsigned char
819 ;; Return value: Size Location Type
820 ;; 1 wreg unsigned char
821 ;; Registers used:
822 ;; wreg, fsr2l, fsr2h, status,2, status,0, prodl, prodh, cstack
823 ;; Tracked objects:
824 ;; On entry : 0/0
825 ;; On exit : 0/0
826 ;; Unchanged: 0/0
827 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5 BANK6 BANK7 BANK8 BANK9 BANK10 BANK1
+1 BANK12 BANK13 BANK14 BANK15
828 ;; Params: 2 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
829 ;; Locals: 1 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
830 ;; Temps: 1 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
831 ;; Totals: 4 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
832 ;;Total ram usage: 4 bytes
833 ;; Hardware stack levels used: 1
834 ;; Hardware stack levels required when called: 3
835 ;; This function calls:
836 ;; _gpio_pin_write_logic
837 ;; This function is called by:
838 ;; _main
839 ;; This function uses a non-reentrant model
840 ;;
841
842 psect text2
843 0017F6 __ptext2:
844 callstack 0
845 0017F6 _led_turn_off:
846 callstack 27
847 0017F6
848 ;ECU_Layer/LED/ecu_led.c: 68: if(((void*)0) == led)
849 0017F6 5070 movf led_turn_off@led^0,w,c
850 0017F8 1071 iorwf (led_turn_off@led+1)^0,w,c
851 0017FA A4D8 btfss status,2,c
852 0017FC EF02 F00C goto u3361
853 001800 EF04 F00C goto u3360
854 001804 u3361:
855 001804 EF06 F00C goto l284
856 001808 u3360:
857 001808
858 ;ECU_Layer/LED/ecu_led.c: 71: }
859 001808 EF35 F00C goto l288
860 00180C l284:
861
862 ;ECU_Layer/LED/ecu_led.c: 73: {;ECU_Layer/LED/ecu_led.c: 74: pin_config_t p
+ in_obj = { .port = led->port_name, .pin = led->pin, .direction = GPIO_DIRECTION_OUTPUT,.
+ logic = led->led_status };
863 00180C C040 F073 movff led_turn_off@F3058,led_turn_off@pin_obj
864 001810 C070 FFD9 movff led_turn_off@led,fsr2l
865 001814 C071 FFDA movff led_turn_off@led+1,fsr2h
866 001818 50DF movf 223,w,c
867 00181A 0B0F andlw 15
868 00181C 6E72 movwf ??_led_turn_off^0,c
869 00181E 5073 movf led_turn_off@pin_obj^0,w,c
870 001820 1872 xorwf ??_led_turn_off^0,w,c
871 001822 0BF8 andlw -8
872 001824 1872 xorwf ??_led_turn_off^0,w,c
873 001826 6E73 movwf led_turn_off@pin_obj^0,c
874 001828 C070 FFD9 movff led_turn_off@led,fsr2l
875 00182C C071 FFDA movff led_turn_off@led+1,fsr2h
876 001830 38DF swapf 223,w,c
877 001832 0B07 andlw 7
878 001834 6E72 movwf ??_led_turn_off^0,c
879 001836 4672 rlncf ??_led_turn_off^0,f,c
880 001838 4672 rlncf ??_led_turn_off^0,f,c
881 00183A 4672 rlncf ??_led_turn_off^0,f,c
882 00183C 5073 movf led_turn_off@pin_obj^0,w,c
883 00183E 1872 xorwf ??_led_turn_off^0,w,c
884 001840 0BC7 andlw -57
885 001842 1872 xorwf ??_led_turn_off^0,w,c
886 001844 6E73 movwf led_turn_off@pin_obj^0,c
887 001846 9C73 bcf led_turn_off@pin_obj^0,6,c
888 001848 C070 FFD9 movff led_turn_off@led,fsr2l
889 00184C C071 FFDA movff led_turn_off@led+1,fsr2h
890 001850 AEDF btfss indf2,7,c
891 001852 D002 bra u3375
892 001854 8E73 bsf led_turn_off@pin_obj^0,7,c
893 001856 D001 bra u3377
894 001858 u3375:
895 001858 9E73 bcf led_turn_off@pin_obj^0,7,c
896 00185A u3377:
897 00185A
898 ;ECU_Layer/LED/ecu_led.c: 75: gpio_pin_write_logic(&pin_obj, GPIO_LOW);
899 00185A 0E73 movlw low led_turn_off@pin_obj
900 00185C 6E66 movwf gpio_pin_write_logic@_pin_config^0,c
901 00185E 0E00 movlw high led_turn_off@pin_obj
902 001860 6E67 movwf (gpio_pin_write_logic@_pin_config+1)^0,c
903 001862 0E00 movlw 0
904 001864 6E68 movwf gpio_pin_write_logic@logic^0,c
905 001866 ECA0 F00A call _gpio_pin_write_logic ;wreg free
906 00186A l288:
907 00186A 0012 return ;funcret
908 00186C __end_of_led_turn_off:
909 callstack 0
910
911 ;; *************** function _application_intialize *****************
912 ;; Defined at:
913 ;; line 37 in file "application.c"
914 ;; Parameters: Size Location Type
915 ;; None
916 ;; Auto vars: Size Location Type
917 ;; ret 1 0 unsigned char
918 ;; Return value: Size Location Type
919 ;; 1 wreg void
920 ;; Registers used:
921 ;; wreg, fsr2l, fsr2h, status,2, status,0, prodl, prodh, cstack
922 ;; Tracked objects:
923 ;; On entry : 0/0
924 ;; On exit : 0/0
925 ;; Unchanged: 0/0
926 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5 BANK6 BANK7 BANK8 BANK9 BANK10 BANK1
+1 BANK12 BANK13 BANK14 BANK15
927 ;; Params: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
928 ;; Locals: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
929 ;; Temps: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
930 ;; Totals: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
931 ;;Total ram usage: 0 bytes
932 ;; Hardware stack levels used: 1
933 ;; Hardware stack levels required when called: 5
934 ;; This function calls:
935 ;; _led_initialize
936 ;; This function is called by:
937 ;; _main
938 ;; This function uses a non-reentrant model
939 ;;
940
941 psect text3
942 00193C __ptext3:
943 callstack 0
944 00193C _application_intialize:
945 callstack 25
946 00193C 0E64 movlw low _led1
947 00193E 6E74 movwf led_initialize@led^0,c
948 001940 0E00 movlw high _led1
949 001942 6E75 movwf (led_initialize@led+1)^0,c
950 001944 EC82 F00B call _led_initialize ;wreg free
951 001948 0E63 movlw low _led2
952 00194A 6E74 movwf led_initialize@led^0,c
953 00194C 0E00 movlw high _led2
954 00194E 6E75 movwf (led_initialize@led+1)^0,c
955 001950 EC82 F00B call _led_initialize ;wreg free
956 001954 0E62 movlw low _led3
957 001956 6E74 movwf led_initialize@led^0,c
958 001958 0E00 movlw high _led3
959 00195A 6E75 movwf (led_initialize@led+1)^0,c
960 00195C EC82 F00B call _led_initialize ;wreg free