-
Notifications
You must be signed in to change notification settings - Fork 0
/
EEPROM_Project.production.lst
5986 lines (5772 loc) · 351 KB
/
EEPROM_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
Sat Jul 22 01:10:22 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 cstackBANK0,global,class=BANK0,space=1,delta=1,lowdata,noexec
14 psect cstackCOMRAM,global,class=COMRAM,space=1,delta=1,lowdata,noexec
15 psect text0,global,reloc=2,class=CODE,delta=1
16 psect text1,global,reloc=2,class=CODE,delta=1
17 psect text2,global,reloc=2,class=CODE,delta=1
18 psect text3,global,reloc=2,class=CODE,delta=1
19 psect text4,global,reloc=2,class=CODE,delta=1
20 psect text5,global,reloc=2,class=CODE,delta=1
21 psect text6,global,reloc=2,class=CODE,delta=1
22 psect text7,global,reloc=2,class=CODE,delta=1
23 psect text8,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 intcode,global,reloc=2,class=CODE,delta=1
34 psect intcode_body,global,reloc=2,class=CODE,delta=1
35 psect text19,global,reloc=2,class=CODE,delta=1
36 psect text20,global,reloc=2,class=CODE,delta=1
37 psect text21,global,reloc=2,class=CODE,delta=1
38 psect text22,global,reloc=2,class=CODE,delta=1
39 psect text23,global,reloc=2,class=CODE,delta=1
40 psect text24,global,reloc=2,class=CODE,delta=1
41 psect text25,global,reloc=2,class=CODE,delta=1
42 psect text26,global,reloc=2,class=CODE,delta=1
43 psect text27,global,reloc=2,class=CODE,delta=1
44 psect text28,global,reloc=2,class=CODE,delta=1
45 psect text29,global,reloc=2,class=CODE,delta=1
46 psect text30,global,reloc=2,class=CODE,delta=1
47 psect text31,global,reloc=2,class=CODE,delta=1
48 psect text32,global,reloc=2,class=CODE,delta=1
49 psect text33,global,reloc=2,class=CODE,delta=1
50 psect text34,global,reloc=2,class=CODE,delta=1
51 psect text35,global,reloc=2,class=CODE,delta=1
52 psect text36,global,reloc=2,class=CODE,delta=1
53 psect intsave_regs,global,class=BIGRAM,space=1,delta=1,noexec
54 psect rparam,global,class=COMRAM,space=1,delta=1,noexec
55 psect temp,global,ovrld,common,class=COMRAM,space=1,delta=1
56 psect idloc,global,abs,ovrld,class=IDLOC,space=5,delta=1,noexec
57 psect config,global,abs,ovrld,class=CONFIG,space=4,delta=1,noexec
58 000000
59 ; Generated 09/02/2023 GMT
60 ;
61 ; Copyright © 2023, Microchip Technology Inc. and its subsidiaries ("Microchip")
62 ; All rights reserved.
63 ;
64 ; This software is developed by Microchip Technology Inc. and its subsidiaries ("Microch
+ ip").
65 ;
66 ; Redistribution and use in source and binary forms, with or without modification, are
67 ; permitted provided that the following conditions are met:
68 ;
69 ; 1. Redistributions of source code must retain the above copyright notice, this lis
+ t of
70 ; conditions and the following disclaimer.
71 ;
72 ; 2. Redistributions in binary form must reproduce the above copyright notice, this
+ list
73 ; of conditions and the following disclaimer in the documentation and/or other
74 ; materials provided with the distribution. Publication is not required when
75 ; this file is used in an embedded application.
76 ;
77 ; 3. Microchip's name may not be used to endorse or promote products derived from th
+ is
78 ; software without specific prior written permission.
79 ;
80 ; THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
81 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS F
+ OR
82 ; PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MICROCHIP BE LIABLE FOR ANY DIRECT, INDIREC
+ T,
83 ; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO
84 ; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS
85 ; INTERRUPTION) HOWSOEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ST
+ RICT
86 ; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE U
+ SE OF
87 ; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
88 ;
89 ;
90 ; Code-generator required, PIC18F4620 Definitions
91 ;
92 ; SFR Addresses
93 000000
94 psect idataCOMRAM
95 001E88 __pidataCOMRAM:
96 callstack 0
97
98 ;initializer for _lat_registers
99 001E88 89 db 137
100 001E89 0F db 15
101 001E8A 8A db 138
102 001E8B 0F db 15
103 001E8C 8B db 139
104 001E8D 0F db 15
105 001E8E 8C db 140
106 001E8F 0F db 15
107 001E90 8D db 141
108 001E91 0F db 15
109
110 ;initializer for _btn_high
111 001E92 52 db 82
112 001E93 01 db 1
113 001E94 00 db 0
114
115 ;initializer for _btn_high_last_valid_status
116 001E95 01 db 1
117
118 ;initializer for _btn_high_valid_status
119 001E96 01 db 1
120
121 ;initializer for _btn_high_status
122 001E97 01 db 1
123
124 ;initializer for _led2
125 001E98 12 db 18
126
127 ;initializer for _RB7_Flag
128 001E99 01 db 1
129
130 ;initializer for _RB6_Flag
131 001E9A 01 db 1
132
133 ;initializer for _RB5_Flag
134 001E9B 01 db 1
135
136 ;initializer for _RB4_Flag
137 001E9C 01 db 1
138
139 ;initializer for _led1
140 001E9D 02 db 2
141
142 psect idataBANK0
143 001DE2 __pidataBANK0:
144 callstack 0
145
146 ;initializer for _port_registers
147 001DE2 80 db 128
148 001DE3 0F db 15
149 001DE4 81 db 129
150 001DE5 0F db 15
151 001DE6 82 db 130
152 001DE7 0F db 15
153 001DE8 83 db 131
154 001DE9 0F db 15
155 001DEA 84 db 132
156 001DEB 0F db 15
157
158 ;initializer for _tris_registers
159 001DEC 92 db 146
160 001DED 0F db 15
161 001DEE 93 db 147
162 001DEF 0F db 15
163 001DF0 94 db 148
164 001DF1 0F db 15
165 001DF2 95 db 149
166 001DF3 0F db 15
167 001DF4 96 db 150
168 001DF5 0F db 15
169
170 ;initializer for _lcd_2
171 001DF6 32 db 50
172 001DF7 3A db 58
173 001DF8 03 db 3
174 001DF9 0B db 11
175 001DFA 13 db 19
176 001DFB 1B db 27
177 001DFC 23 db 35
178 001DFD 2B db 43
179 001DFE 33 db 51
180 001DFF 3B db 59
181
182 ;initializer for _lcd_1
183 001E00 02 db 2
184 001E01 0A db 10
185 001E02 12 db 18
186 001E03 1A db 26
187 001E04 22 db 34
188 001E05 2A db 42
189
190 psect smallconst
191 001000 __psmallconst:
192 callstack 0
193 001000 00 db 0
194 001001 _btn_values:
195 callstack 0
196 001001 37 db 55
197 001002 38 db 56
198 001003 39 db 57
199 001004 2F db 47
200 001005 34 db 52
201 001006 35 db 53
202 001007 36 db 54
203 001008 2A db 42
204 001009 31 db 49
205 00100A 32 db 50
206 00100B 33 db 51
207 00100C 2D db 45
208 00100D 23 db 35
209 00100E 30 db 48
210 00100F 3D db 61
211 001010 2B db 43
212 001011 __end_of_btn_values:
213 callstack 0
214 000000 _SPBRGH set 4016
215 000000 _SPBRG set 4015
216 000000 _TXREG set 4013
217 000000 _TXSTAbits set 4012
218 000000 _RCREG set 4014
219 000000 _RCSTAbits set 4011
220 000000 _TMR3L set 4018
221 000000 _TMR3H set 4019
222 000000 _TMR1L set 4046
223 000000 _TMR1H set 4047
224 000000 _TMR0L set 4054
225 000000 _TMR0H set 4055
226 000000 _INTCON2bits set 4081
227 000000 _SSPSTATbits set 4039
228 000000 _SSPADD set 4040
229 000000 _SSPCON2bits set 4037
230 000000 _SSPCON1bits set 4038
231 000000 _EECON2 set 4007
232 000000 _CCPR2H set 4028
233 000000 _CCPR2L set 4027
234 000000 _CCPR1H set 4031
235 000000 _CCPR1L set 4030
236 000000 _ADCON1bits set 4033
237 000000 _ADRESL set 4035
238 000000 _ADRESH set 4036
239 000000 _INTCONbits set 4082
240 000000 _TRISD set 3989
241 000000 _TRISC set 3988
242 000000 _TRISB set 3987
243 000000 _TRISE set 3990
244 000000 _PORTBbits set 3969
245 000000 _TRISCbits set 3988
246 000000 _PIE1bits set 3997
247 000000 _ADCON2bits set 4032
248 000000 _ADCON0bits set 4034
249 000000 _PORTE set 3972
250 000000 _PORTD set 3971
251 000000 _PORTC set 3970
252 000000 _PORTB set 3969
253 000000 _PORTA set 3968
254 000000 _LATA set 3977
255 000000 _TRISA set 3986
256 000000 _PIE2bits set 4000
257 000000 _CCP2CONbits set 4026
258 000000 _CCP1CONbits set 4029
259 000000 _PIR1bits set 3998
260 000000 _EECON1bits set 4006
261 000000 _EEDATA set 4008
262 000000 _EEADR set 4009
263 000000 _EEADRH set 4010
264 000000 _T3CONbits set 4017
265 000000 _PIR2bits set 4001
266 000000 _LATE set 3981
267 000000 _LATD set 3980
268 000000 _LATC set 3979
269 000000 _LATB set 3978
270 000000 _TMR2 set 4044
271 000000 _T2CONbits set 4042
272 000000 _T1CONbits set 4045
273 000000 _T0CONbits set 4053
274 000000 _INTCON3bits set 4080
275 000000 _SSPBUF set 4041
276 000000 _BAUDCONbits set 4024
277 001011 STR_1:
278 001011 25 db 37
279 001012 69 db 105 ;'i'
280 001013 00 db 0
281 001014 00 db 0 ; dummy byte at the end
282 000000
283 ; #config settings
284
285 psect cinit
286 001C8A __pcinit:
287 callstack 0
288 001C8A start_initialization:
289 callstack 0
290 001C8A __initialization:
291 callstack 0
292
293 ; Initialize objects allocated to BANK0 (36 bytes)
294 ; load TBLPTR registers with __pidataBANK0
295 001C8A 0EE2 movlw low __pidataBANK0
296 001C8C 6EF6 movwf tblptrl,c
297 001C8E 0E1D movlw high __pidataBANK0
298 001C90 6EF7 movwf tblptrh,c
299 001C92 0E00 movlw low (__pidataBANK0 shr (0+16))
300 001C94 6EF8 movwf tblptru,c
301 001C96 EE00 F080 lfsr 0,__pdataBANK0
302 001C9A EE10 F024 lfsr 1,36
303 001C9E copy_data0:
304 001C9E 0009 tblrd *+
305 001CA0 CFF5 FFEE movff tablat,postinc0
306 001CA4 50E5 movf postdec1,w,c
307 001CA6 50E1 movf fsr1l,w,c
308 001CA8 E1FA bnz copy_data0
309
310 ; Initialize objects allocated to COMRAM (22 bytes)
311 ; load TBLPTR registers with __pidataCOMRAM
312 001CAA 0E88 movlw low __pidataCOMRAM
313 001CAC 6EF6 movwf tblptrl,c
314 001CAE 0E1E movlw high __pidataCOMRAM
315 001CB0 6EF7 movwf tblptrh,c
316 001CB2 0E00 movlw low (__pidataCOMRAM shr (0+16))
317 001CB4 6EF8 movwf tblptru,c
318 001CB6 EE00 F067 lfsr 0,__pdataCOMRAM
319 001CBA EE10 F016 lfsr 1,22
320 001CBE copy_data1:
321 001CBE 0009 tblrd *+
322 001CC0 CFF5 FFEE movff tablat,postinc0
323 001CC4 50E5 movf postdec1,w,c
324 001CC6 50E1 movf fsr1l,w,c
325 001CC8 E1FA bnz copy_data1
326
327 ; Clear objects allocated to BANK0 (6 bytes)
328 001CCA 0100 movlb 0
329 001CCC 6BA9 clrf (__pbssBANK0+5)& (0+255),b
330 001CCE 6BA8 clrf (__pbssBANK0+4)& (0+255),b
331 001CD0 6BA7 clrf (__pbssBANK0+3)& (0+255),b
332 001CD2 6BA6 clrf (__pbssBANK0+2)& (0+255),b
333 001CD4 6BA5 clrf (__pbssBANK0+1)& (0+255),b
334 001CD6 6BA4 clrf __pbssBANK0& (0+255),b
335
336 ; Clear objects allocated to COMRAM (73 bytes)
337 001CD8 EE00 F001 lfsr 0,__pbssCOMRAM
338 001CDC 0E49 movlw 73
339 001CDE clear_0:
340 001CDE 6AEE clrf postinc0,c
341 001CE0 06E8 decf wreg,f,c
342 001CE2 E1FD bnz clear_0
343 001CE4 end_of_initialization:
344 callstack 0
345 001CE4 __end_of__initialization:
346 callstack 0
347 001CE4 907D bcf int$flags,0,c ;clear compiler interrupt flag (level 1)
348 001CE6 927D bcf int$flags,1,c ;clear compiler interrupt flag (level 2)
349 001CE8 0100 movlb 0
350 001CEA EF5E F00C goto _main ;jump to C main() function
351
352 psect bssCOMRAM
353 000001 __pbssCOMRAM:
354 callstack 0
355 000001 _btn_high_valid:
356 callstack 0
357 000001 ds 4
358 000005 _USART_OverrunErrorHandler:
359 callstack 0
360 000005 ds 2
361 000007 _USART_FramingErrorHandler:
362 callstack 0
363 000007 ds 2
364 000009 _USART_RxDefaultInterruptHandler:
365 callstack 0
366 000009 ds 2
367 00000B _USART_TxDefaultInterruptHandler:
368 callstack 0
369 00000B ds 2
370 00000D _TMR3_InterruptHandler:
371 callstack 0
372 00000D ds 2
373 00000F _timer3_preload:
374 callstack 0
375 00000F ds 2
376 000011 _TMR2_InterruptHandler:
377 callstack 0
378 000011 ds 2
379 000013 _TMR1_InterruptHandler:
380 callstack 0
381 000013 ds 2
382 000015 _timer1_preload:
383 callstack 0
384 000015 ds 2
385 000017 _TMR0_InterruptHandler:
386 callstack 0
387 000017 ds 2
388 000019 _timer0_preload:
389 callstack 0
390 000019 ds 2
391 00001B _RB7_InterruptHandler_LOW:
392 callstack 0
393 00001B ds 2
394 00001D _RB7_InterruptHandler_HIGH:
395 callstack 0
396 00001D ds 2
397 00001F _RB6_InterruptHandler_LOW:
398 callstack 0
399 00001F ds 2
400 000021 _RB6_InterruptHandler_HIGH:
401 callstack 0
402 000021 ds 2
403 000023 _RB5_InterruptHandler_LOW:
404 callstack 0
405 000023 ds 2
406 000025 _RB5_InterruptHandler_HIGH:
407 callstack 0
408 000025 ds 2
409 000027 _RB4_InterruptHandler_LOW:
410 callstack 0
411 000027 ds 2
412 000029 _RB4_InterruptHandler_HIGH:
413 callstack 0
414 000029 ds 2
415 00002B _INT2_InterruptHandler:
416 callstack 0
417 00002B ds 2
418 00002D _INT1_InterruptHandler:
419 callstack 0
420 00002D ds 2
421 00002F _INT0_InterruptHandler:
422 callstack 0
423 00002F ds 2
424 000031 _MSSP_I2C_Report_Receive_Overflow_InterruptHandler:
425 callstack 0
426 000031 ds 2
427 000033 _MSSP_I2C_Report_Write_Collision_InterruptHandler:
428 callstack 0
429 000033 ds 2
430 000035 _MSSP_I2C_DefaultInterruptHandler:
431 callstack 0
432 000035 ds 2
433 000037 CCP_Set_Compare_Mode_Value@F3106:
434 callstack 0
435 000037 ds 2
436 000039 _CCP2_InterruptHandler:
437 callstack 0
438 000039 ds 2
439 00003B _CCP1_InterruptHandler:
440 callstack 0
441 00003B ds 2
442 00003D _ADC_InterruptHandler:
443 callstack 0
444 00003D ds 2
445 00003F _program_selected:
446 callstack 0
447 00003F ds 1
448 000040 _eeprom_val:
449 callstack 0
450 000040 ds 1
451 000041 _timer2_preload:
452 callstack 0
453 000041 ds 1
454 000042 relay_turn_off@F3052:
455 callstack 0
456 000042 ds 1
457 000043 relay_turn_on@F3047:
458 callstack 0
459 000043 ds 1
460 000044 relay_initialize@F3042:
461 callstack 0
462 000044 ds 1
463 000045 led_turn_toggle@F3063:
464 callstack 0
465 000045 ds 1
466 000046 led_turn_off@F3058:
467 callstack 0
468 000046 ds 1
469 000047 led_turn_on@F3053:
470 callstack 0
471 000047 ds 1
472 000048 led_initialize@F3048:
473 callstack 0
474 000048 ds 1
475 000049 _eeprom_read_val:
476 callstack 0
477 000049 ds 1
478
479 psect dataCOMRAM
480 000067 __pdataCOMRAM:
481 callstack 0
482 000067 _lat_registers:
483 callstack 0
484 000067 ds 10
485 000071 _btn_high:
486 callstack 0
487 000071 ds 3
488 000074 _btn_high_last_valid_status:
489 callstack 0
490 000074 ds 1
491 000075 _btn_high_valid_status:
492 callstack 0
493 000075 ds 1
494 000076 _btn_high_status:
495 callstack 0
496 000076 ds 1
497 000077 _led2:
498 callstack 0
499 000077 ds 1
500 000078 _RB7_Flag:
501 callstack 0
502 000078 ds 1
503 000079 _RB6_Flag:
504 callstack 0
505 000079 ds 1
506 00007A _RB5_Flag:
507 callstack 0
508 00007A ds 1
509 00007B _RB4_Flag:
510 callstack 0
511 00007B ds 1
512 00007C _led1:
513 callstack 0
514 00007C ds 1
515
516 psect bssBANK0
517 0000A4 __pbssBANK0:
518 callstack 0
519 0000A4 ds 6
520
521 psect dataBANK0
522 000080 __pdataBANK0:
523 callstack 0
524 000080 _port_registers:
525 callstack 0
526 000080 ds 10
527 00008A _tris_registers:
528 callstack 0
529 00008A ds 10
530 000094 _lcd_2:
531 callstack 0
532 000094 ds 10
533 00009E _lcd_1:
534 callstack 0
535 00009E ds 6
536
537 psect cstackBANK0
538 0000AA __pcstackBANK0:
539 callstack 0
540 0000AA ??_main:
541
542 ; 1 bytes @ 0x0
543 0000AA ds 2
544
545 psect cstackCOMRAM
546 00004A __pcstackCOMRAM:
547 callstack 0
548 00004A RB4_ISR@RB4_Source:
549 callstack 0
550 00004A RB5_ISR@RB5_Source:
551 callstack 0
552 00004A RB6_ISR@RB6_Source:
553 callstack 0
554 00004A RB7_ISR@RB7_Source:
555 callstack 0
556
557 ; 1 bytes @ 0x0
558 00004A ds 1
559 00004B Data_EEPROM_WriteByte@bAdd:
560 callstack 0
561 00004B Data_EEPROM_ReadByte@bAdd:
562 callstack 0
563 00004B gpio_pin_direction_intialize@_pin_config:
564 callstack 0
565 00004B gpio_pin_write_logic@_pin_config:
566 callstack 0
567
568 ; 2 bytes @ 0x1
569 00004B ds 2
570 00004D ??_gpio_pin_direction_intialize:
571 00004D Data_EEPROM_WriteByte@bData:
572 callstack 0
573 00004D gpio_pin_write_logic@logic:
574 callstack 0
575 00004D Data_EEPROM_ReadByte@bData:
576 callstack 0
577
578 ; 2 bytes @ 0x3
579 00004D ds 1
580 00004E ??_gpio_pin_write_logic:
581 00004E Data_EEPROM_WriteByte@Global_Interrupt_Status:
582 callstack 0
583
584 ; 1 bytes @ 0x4
585 00004E ds 1
586 00004F Data_EEPROM_ReadByte@ret:
587 callstack 0
588
589 ; 1 bytes @ 0x5
590 00004F ds 4
591 000053 gpio_pin_direction_intialize@ret:
592 callstack 0
593
594 ; 1 bytes @ 0x9
595 000053 ds 1
596 000054 gpio_pin_write_logic@ret:
597 callstack 0
598
599 ; 1 bytes @ 0xA
600 000054 ds 1
601 000055 lcd_send_4bits@lcd:
602 callstack 0
603 000055 lcd_4bit_send_enable_signal@lcd:
604 callstack 0
605 000055 lcd_8bit_send_enable_signal@lcd:
606 callstack 0
607 000055 led_turn_on@led:
608 callstack 0
609 000055 led_turn_off@led:
610 callstack 0
611 000055 gpio_pin_intialize@_pin_config:
612 callstack 0
613
614 ; 2 bytes @ 0xB
615 000055 ds 2
616 000057 ??_gpio_pin_intialize:
617 000057 ??_led_turn_on:
618 000057 ??_led_turn_off:
619 000057 lcd_send_4bits@_data_command:
620 callstack 0
621 000057 lcd_4bit_send_enable_signal@ret:
622 callstack 0
623 000057 lcd_8bit_send_enable_signal@ret:
624 callstack 0
625
626 ; 1 bytes @ 0xD
627 000057 ds 1
628 000058 lcd_send_4bits@ret:
629 callstack 0
630 000058 led_turn_on@pin_obj:
631 callstack 0
632 000058 led_turn_off@pin_obj:
633 callstack 0
634 000058 gpio_pin_intialize@ret:
635 callstack 0
636 000058 lcd_8bit_send_command@lcd:
637 callstack 0
638
639 ; 2 bytes @ 0xE
640 000058 ds 1
641 000059 lcd_4bit_send_command@lcd:
642 callstack 0
643 000059 led_initialize@led:
644 callstack 0
645
646 ; 2 bytes @ 0xF
647 000059 ds 1
648 00005A lcd_8bit_send_command@command:
649 callstack 0
650
651 ; 1 bytes @ 0x10
652 00005A ds 1
653 00005B ??_lcd_8bit_send_command:
654 00005B ??_led_initialize:
655 00005B lcd_4bit_send_command@command:
656 callstack 0
657
658 ; 1 bytes @ 0x11
659 00005B ds 1
660 00005C lcd_4bit_send_command@ret:
661 callstack 0
662 00005C led_initialize@ret:
663 callstack 0
664
665 ; 1 bytes @ 0x12
666 00005C ds 1
667 00005D led_initialize@pin_obj:
668 callstack 0
669 00005D lcd_4bit_intialize@lcd:
670 callstack 0
671
672 ; 2 bytes @ 0x13
673 00005D ds 2
674 00005F ??_lcd_4bit_intialize:
675 00005F lcd_8bit_send_command@ret:
676 callstack 0
677
678 ; 1 bytes @ 0x15
679 00005F ds 1
680 000060 lcd_8bit_send_command@l_pin_counter:
681 callstack 0
682
683 ; 1 bytes @ 0x16
684 000060 ds 1
685 000061 lcd_4bit_intialize@l_data_pins_counter:
686 callstack 0
687 000061 lcd_8bit_intialize@lcd:
688 callstack 0
689
690 ; 2 bytes @ 0x17
691 000061 ds 1
692 000062 lcd_4bit_intialize@ret:
693 callstack 0
694
695 ; 1 bytes @ 0x18
696 000062 ds 1
697 000063 ??_lcd_8bit_intialize:
698
699 ; 1 bytes @ 0x19
700 000063 ds 2
701 000065 lcd_8bit_intialize@l_data_pins_counter:
702 callstack 0
703
704 ; 1 bytes @ 0x1B
705 000065 ds 1
706 000066 lcd_8bit_intialize@ret:
707 callstack 0
708
709 ; 1 bytes @ 0x1C
710 000066 ds 1
711 000067
712 ; 1 bytes @ 0x1D
713 ;;
714 ;;Main: autosize = 0, tempsize = 2, incstack = 0, save=0
715 ;;
716 ;; *************** function _main *****************
717 ;; Defined at:
718 ;; line 71 in file "application.c"
719 ;; Parameters: Size Location Type
720 ;; None
721 ;; Auto vars: Size Location Type
722 ;; ret 1 0 unsigned char
723 ;; Return value: Size Location Type
724 ;; 2 1606[None ] int
725 ;; Registers used:
726 ;; wreg, fsr2l, fsr2h, status,2, status,0, prodl, prodh, cstack
727 ;; Tracked objects:
728 ;; On entry : 0/0
729 ;; On exit : 0/0
730 ;; Unchanged: 0/0
731 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5 BANK6 BANK7 BANK8 BANK9 BANK10 BANK1
+1 BANK12 BANK13 BANK14 BANK15
732 ;; Params: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
733 ;; Locals: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
734 ;; Temps: 0 2 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
735 ;; Totals: 0 2 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
736 ;;Total ram usage: 2 bytes
737 ;; Hardware stack levels required when called: 8
738 ;; This function calls:
739 ;; _Data_EEPROM_ReadByte
740 ;; _Data_EEPROM_WriteByte
741 ;; _application_intialize
742 ;; _led_initialize
743 ;; _led_turn_off
744 ;; _led_turn_on
745 ;; This function is called by:
746 ;; Startup code after reset
747 ;; This function uses a non-reentrant model
748 ;;
749
750 psect text0
751 0018BC __ptext0:
752 callstack 0
753 0018BC _main:
754 callstack 23
755 0018BC
756 ;application.c: 74: application_intialize();
757 0018BC EC65 F00F call _application_intialize ;wreg free
758 0018C0 0E7C movlw low _led1
759 0018C2 6E59 movwf led_initialize@led^0,c
760 0018C4 0E00 movlw high _led1
761 0018C6 6E5A movwf (led_initialize@led+1)^0,c
762 0018C8 ECEE F00C call _led_initialize ;wreg free
763 0018CC 0E03 movlw 3
764 0018CE 6E4C movwf (Data_EEPROM_WriteByte@bAdd+1)^0,c
765 0018D0 684B setf Data_EEPROM_WriteByte@bAdd^0,c
766 0018D2 0E00 movlw 0
767 0018D4 6E4D movwf Data_EEPROM_WriteByte@bData^0,c
768 0018D6 EC77 F00E call _Data_EEPROM_WriteByte ;wreg free
769 0018DA l5976:
770 0018DA 0E03 movlw 3
771 0018DC 6E4C movwf (Data_EEPROM_WriteByte@bAdd+1)^0,c
772 0018DE 684B setf Data_EEPROM_WriteByte@bAdd^0,c
773 0018E0 C040 F04D movff _eeprom_val,Data_EEPROM_WriteByte@bData
774 0018E4 EC77 F00E call _Data_EEPROM_WriteByte ;wreg free
775 0018E8 2A40 incf _eeprom_val^0,f,c
776 0018EA
777 ;application.c: 81: _delay((unsigned long)((1000)*(8000000UL/4000.0)));
778 0018EA 0E0B movlw 11
779 0018EC 0100 movlb 0 ; () banked
780 0018EE 6FAB movwf (??_main+1)& (0+255),b
781 0018F0 0E26 movlw 38
782 0018F2 6FAA movwf ??_main& (0+255),b
783 0018F4 0E5D movlw 93
784 0018F6 u4157:
785 0018F6 2EE8 decfsz wreg,f,c
786 0018F8 D7FE bra u4157
787 0018FA 2FAA decfsz ??_main& (0+255),f,b
788 0018FC D7FC bra u4157
789 0018FE 2FAB decfsz (??_main+1)& (0+255),f,b
790 001900 D7FA bra u4157
791 001902 D000 nop2
792 001904 0E03 movlw 3
793 001906 6E4C movwf (Data_EEPROM_ReadByte@bAdd+1)^0,c
794 001908 684B setf Data_EEPROM_ReadByte@bAdd^0,c
795 00190A 0E49 movlw low _eeprom_read_val
796 00190C 6E4D movwf Data_EEPROM_ReadByte@bData^0,c
797 00190E 0E00 movlw high _eeprom_read_val
798 001910 6E4E movwf (Data_EEPROM_ReadByte@bData+1)^0,c
799 001912 EC9A F00E call _Data_EEPROM_ReadByte ;wreg free
800 001916
801 ;application.c: 83: if(5 == eeprom_read_val)
802 001916 0E05 movlw 5
803 001918 1849 xorwf _eeprom_read_val^0,w,c
804 00191A A4D8 btfss status,2,c
805 00191C EF92 F00C goto u4141
806 001920 EF94 F00C goto u4140
807 001924 u4141:
808 001924 EF9C F00C goto l5988
809 001928 u4140:
810 001928
811 ;application.c: 84: {;application.c: 85: led_turn_on(&led1);
812 001928 0E7C movlw low _led1
813 00192A 6E55 movwf led_turn_on@led^0,c
814 00192C 0E00 movlw high _led1
815 00192E 6E56 movwf (led_turn_on@led+1)^0,c
816 001930 EC2C F00D call _led_turn_on ;wreg free
817
818 ;application.c: 86: }
819 001934 EF6D F00C goto l5976
820 001938 l5988:
821
822 ;application.c: 88: {;application.c: 89: led_turn_off(&led1);
823 001938 0E7C movlw low _led1
824 00193A 6E55 movwf led_turn_off@led^0,c
825 00193C 0E00 movlw high _led1
826 00193E 6E56 movwf (led_turn_off@led+1)^0,c
827 001940 EC67 F00D call _led_turn_off ;wreg free
828 001944 EF6D F00C goto l5976
829 001948 EF07 F000 goto start
830 00194C __end_of_main:
831 callstack 0
832
833 ;; *************** function _led_turn_on *****************
834 ;; Defined at:
835 ;; line 43 in file "ECU_Layer/LED/ecu_led.c"
836 ;; Parameters: Size Location Type
837 ;; led 2 11[COMRAM] PTR const struct .
838 ;; -> led1(1),
839 ;; Auto vars: Size Location Type
840 ;; pin_obj 1 14[COMRAM] struct .
841 ;; ret 1 0 unsigned char
842 ;; Return value: Size Location Type
843 ;; 1 wreg unsigned char
844 ;; Registers used:
845 ;; wreg, fsr2l, fsr2h, status,2, status,0, prodl, prodh, cstack
846 ;; Tracked objects:
847 ;; On entry : 0/0
848 ;; On exit : 0/0
849 ;; Unchanged: 0/0
850 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5 BANK6 BANK7 BANK8 BANK9 BANK10 BANK1
+1 BANK12 BANK13 BANK14 BANK15
851 ;; Params: 2 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
852 ;; Locals: 1 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
853 ;; Temps: 1 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
854 ;; Totals: 4 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
855 ;;Total ram usage: 4 bytes
856 ;; Hardware stack levels used: 1
857 ;; Hardware stack levels required when called: 3
858 ;; This function calls:
859 ;; _gpio_pin_write_logic
860 ;; This function is called by:
861 ;; _main
862 ;; _program_1
863 ;; _program_2
864 ;; _program_3
865 ;; This function uses a non-reentrant model
866 ;;
867
868 psect text1
869 001A58 __ptext1:
870 callstack 0
871 001A58 _led_turn_on:
872 callstack 27
873 001A58
874 ;ECU_Layer/LED/ecu_led.c: 46: if(((void*)0) == led)
875 001A58 5055 movf led_turn_on@led^0,w,c
876 001A5A 1056 iorwf (led_turn_on@led+1)^0,w,c
877 001A5C A4D8 btfss status,2,c
878 001A5E EF33 F00D goto u3371
879 001A62 EF35 F00D goto u3370
880 001A66 u3371:
881 001A66 EF37 F00D goto l277
882 001A6A u3370:
883 001A6A
884 ;ECU_Layer/LED/ecu_led.c: 49: }
885 001A6A EF66 F00D goto l281
886 001A6E l277:
887
888 ;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 };
889 001A6E C047 F058 movff led_turn_on@F3053,led_turn_on@pin_obj
890 001A72 C055 FFD9 movff led_turn_on@led,fsr2l
891 001A76 C056 FFDA movff led_turn_on@led+1,fsr2h
892 001A7A 50DF movf 223,w,c
893 001A7C 0B0F andlw 15
894 001A7E 6E57 movwf ??_led_turn_on^0,c
895 001A80 5058 movf led_turn_on@pin_obj^0,w,c
896 001A82 1857 xorwf ??_led_turn_on^0,w,c
897 001A84 0BF8 andlw -8
898 001A86 1857 xorwf ??_led_turn_on^0,w,c
899 001A88 6E58 movwf led_turn_on@pin_obj^0,c
900 001A8A C055 FFD9 movff led_turn_on@led,fsr2l
901 001A8E C056 FFDA movff led_turn_on@led+1,fsr2h
902 001A92 38DF swapf 223,w,c
903 001A94 0B07 andlw 7
904 001A96 6E57 movwf ??_led_turn_on^0,c
905 001A98 4657 rlncf ??_led_turn_on^0,f,c
906 001A9A 4657 rlncf ??_led_turn_on^0,f,c
907 001A9C 4657 rlncf ??_led_turn_on^0,f,c
908 001A9E 5058 movf led_turn_on@pin_obj^0,w,c
909 001AA0 1857 xorwf ??_led_turn_on^0,w,c
910 001AA2 0BC7 andlw -57
911 001AA4 1857 xorwf ??_led_turn_on^0,w,c
912 001AA6 6E58 movwf led_turn_on@pin_obj^0,c
913 001AA8 9C58 bcf led_turn_on@pin_obj^0,6,c
914 001AAA C055 FFD9 movff led_turn_on@led,fsr2l
915 001AAE C056 FFDA movff led_turn_on@led+1,fsr2h
916 001AB2 AEDF btfss indf2,7,c
917 001AB4 D002 bra u3385
918 001AB6 8E58 bsf led_turn_on@pin_obj^0,7,c
919 001AB8 D001 bra u3387
920 001ABA u3385:
921 001ABA 9E58 bcf led_turn_on@pin_obj^0,7,c
922 001ABC u3387:
923 001ABC
924 ;ECU_Layer/LED/ecu_led.c: 53: gpio_pin_write_logic(&pin_obj, GPIO_HIGH);
925 001ABC 0E58 movlw low led_turn_on@pin_obj
926 001ABE 6E4B movwf gpio_pin_write_logic@_pin_config^0,c
927 001AC0 0E00 movlw high led_turn_on@pin_obj
928 001AC2 6E4C movwf (gpio_pin_write_logic@_pin_config+1)^0,c
929 001AC4 0E01 movlw 1
930 001AC6 6E4D movwf gpio_pin_write_logic@logic^0,c
931 001AC8 ECA0 F00A call _gpio_pin_write_logic ;wreg free
932 001ACC l281:
933 001ACC 0012 return ;funcret
934 001ACE __end_of_led_turn_on:
935 callstack 0
936
937 ;; *************** function _led_turn_off *****************
938 ;; Defined at:
939 ;; line 65 in file "ECU_Layer/LED/ecu_led.c"
940 ;; Parameters: Size Location Type
941 ;; led 2 11[COMRAM] PTR const struct .
942 ;; -> led1(1),
943 ;; Auto vars: Size Location Type
944 ;; pin_obj 1 14[COMRAM] struct .
945 ;; ret 1 0 unsigned char
946 ;; Return value: Size Location Type
947 ;; 1 wreg unsigned char
948 ;; Registers used:
949 ;; wreg, fsr2l, fsr2h, status,2, status,0, prodl, prodh, cstack
950 ;; Tracked objects:
951 ;; On entry : 0/0
952 ;; On exit : 0/0
953 ;; Unchanged: 0/0
954 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5 BANK6 BANK7 BANK8 BANK9 BANK10 BANK1
+1 BANK12 BANK13 BANK14 BANK15
955 ;; Params: 2 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
956 ;; Locals: 1 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
957 ;; Temps: 1 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
958 ;; Totals: 4 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
959 ;;Total ram usage: 4 bytes
960 ;; Hardware stack levels used: 1
961 ;; Hardware stack levels required when called: 3
962 ;; This function calls:
963 ;; _gpio_pin_write_logic
964 ;; This function is called by:
965 ;; _main
966 ;; _program_1
967 ;; _program_2
968 ;; _program_3
969 ;; This function uses a non-reentrant model