-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTimer2_Project.production.lst
5515 lines (5303 loc) · 322 KB
/
Timer2_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
Sun Jul 23 00:30:51 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 intcode,global,reloc=2,class=CODE,delta=1
30 psect intcode_body,global,reloc=2,class=CODE,delta=1
31 psect text15,global,reloc=2,class=CODE,delta=1
32 psect text16,global,reloc=2,class=CODE,delta=1
33 psect text17,global,reloc=2,class=CODE,delta=1
34 psect text18,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 intsave_regs,global,class=BIGRAM,space=1,delta=1,noexec
51 psect text34,global,reloc=2,class=CODE,delta=1
52 psect rparam,global,class=COMRAM,space=1,delta=1,noexec
53 psect temp,global,ovrld,common,class=COMRAM,space=1,delta=1
54 psect idloc,global,abs,ovrld,class=IDLOC,space=5,delta=1,noexec
55 psect config,global,abs,ovrld,class=CONFIG,space=4,delta=1,noexec
56 000000
57 ; Generated 09/02/2023 GMT
58 ;
59 ; Copyright © 2023, Microchip Technology Inc. and its subsidiaries ("Microchip")
60 ; All rights reserved.
61 ;
62 ; This software is developed by Microchip Technology Inc. and its subsidiaries ("Microch
+ ip").
63 ;
64 ; Redistribution and use in source and binary forms, with or without modification, are
65 ; permitted provided that the following conditions are met:
66 ;
67 ; 1. Redistributions of source code must retain the above copyright notice, this lis
+ t of
68 ; conditions and the following disclaimer.
69 ;
70 ; 2. Redistributions in binary form must reproduce the above copyright notice, this
+ list
71 ; of conditions and the following disclaimer in the documentation and/or other
72 ; materials provided with the distribution. Publication is not required when
73 ; this file is used in an embedded application.
74 ;
75 ; 3. Microchip's name may not be used to endorse or promote products derived from th
+ is
76 ; software without specific prior written permission.
77 ;
78 ; THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
79 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS F
+ OR
80 ; PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MICROCHIP BE LIABLE FOR ANY DIRECT, INDIREC
+ T,
81 ; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO
82 ; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS
83 ; INTERRUPTION) HOWSOEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ST
+ RICT
84 ; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE U
+ SE OF
85 ; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
86 ;
87 ;
88 ; Code-generator required, PIC18F4620 Definitions
89 ;
90 ; SFR Addresses
91 000000
92 psect idataCOMRAM
93 001D1C __pidataCOMRAM:
94 callstack 0
95
96 ;initializer for _lat_registers
97 001D1C 89 db 137
98 001D1D 0F db 15
99 001D1E 8A db 138
100 001D1F 0F db 15
101 001D20 8B db 139
102 001D21 0F db 15
103 001D22 8C db 140
104 001D23 0F db 15
105 001D24 8D db 141
106 001D25 0F db 15
107
108 ;initializer for _tris_registers
109 001D26 92 db 146
110 001D27 0F db 15
111 001D28 93 db 147
112 001D29 0F db 15
113 001D2A 94 db 148
114 001D2B 0F db 15
115 001D2C 95 db 149
116 001D2D 0F db 15
117 001D2E 96 db 150
118 001D2F 0F db 15
119
120 ;initializer for _RB7_Flag
121 001D30 01 db 1
122
123 ;initializer for _RB6_Flag
124 001D31 01 db 1
125
126 ;initializer for _RB5_Flag
127 001D32 01 db 1
128
129 ;initializer for _RB4_Flag
130 001D33 01 db 1
131
132 psect idataBANK0
133 001C80 __pidataBANK0:
134 callstack 0
135
136 ;initializer for _port_registers
137 001C80 80 db 128
138 001C81 0F db 15
139 001C82 81 db 129
140 001C83 0F db 15
141 001C84 82 db 130
142 001C85 0F db 15
143 001C86 83 db 131
144 001C87 0F db 15
145 001C88 84 db 132
146 001C89 0F db 15
147
148 ;initializer for _lcd_2
149 001C8A 32 db 50
150 001C8B 3A db 58
151 001C8C 03 db 3
152 001C8D 0B db 11
153 001C8E 13 db 19
154 001C8F 1B db 27
155 001C90 23 db 35
156 001C91 2B db 43
157 001C92 33 db 51
158 001C93 3B db 59
159
160 ;initializer for _lcd_1
161 001C94 02 db 2
162 001C95 0A db 10
163 001C96 12 db 18
164 001C97 1A db 26
165 001C98 22 db 34
166 001C99 2A db 42
167
168 psect smallconst
169 001000 __psmallconst:
170 callstack 0
171 001000 00 db 0
172 001001 _btn_values:
173 callstack 0
174 001001 37 db 55
175 001002 38 db 56
176 001003 39 db 57
177 001004 2F db 47
178 001005 34 db 52
179 001006 35 db 53
180 001007 36 db 54
181 001008 2A db 42
182 001009 31 db 49
183 00100A 32 db 50
184 00100B 33 db 51
185 00100C 2D db 45
186 00100D 23 db 35
187 00100E 30 db 48
188 00100F 3D db 61
189 001010 2B db 43
190 001011 __end_of_btn_values:
191 callstack 0
192 000000 _SPBRGH set 4016
193 000000 _SPBRG set 4015
194 000000 _TXREG set 4013
195 000000 _TXSTAbits set 4012
196 000000 _RCREG set 4014
197 000000 _RCSTAbits set 4011
198 000000 _TMR3L set 4018
199 000000 _TMR3H set 4019
200 000000 _TMR1L set 4046
201 000000 _TMR1H set 4047
202 000000 _TMR0L set 4054
203 000000 _TMR0H set 4055
204 000000 _INTCON2bits set 4081
205 000000 _SSPSTATbits set 4039
206 000000 _SSPADD set 4040
207 000000 _SSPCON2bits set 4037
208 000000 _SSPCON1bits set 4038
209 000000 _EECON2 set 4007
210 000000 _CCPR2H set 4028
211 000000 _CCPR2L set 4027
212 000000 _CCPR1H set 4031
213 000000 _CCPR1L set 4030
214 000000 _ADCON1bits set 4033
215 000000 _ADRESL set 4035
216 000000 _ADRESH set 4036
217 000000 _INTCONbits set 4082
218 000000 _TRISD set 3989
219 000000 _TRISC set 3988
220 000000 _TRISB set 3987
221 000000 _TRISE set 3990
222 000000 _PORTBbits set 3969
223 000000 _TRISCbits set 3988
224 000000 _PIE1bits set 3997
225 000000 _ADCON2bits set 4032
226 000000 _ADCON0bits set 4034
227 000000 _PORTE set 3972
228 000000 _PORTD set 3971
229 000000 _PORTC set 3970
230 000000 _PORTB set 3969
231 000000 _PORTA set 3968
232 000000 _LATA set 3977
233 000000 _TRISA set 3986
234 000000 _PIE2bits set 4000
235 000000 _CCP2CONbits set 4026
236 000000 _CCP1CONbits set 4029
237 000000 _PIR1bits set 3998
238 000000 _EECON1bits set 4006
239 000000 _EEDATA set 4008
240 000000 _EEADR set 4009
241 000000 _EEADRH set 4010
242 000000 _T3CONbits set 4017
243 000000 _PIR2bits set 4001
244 000000 _LATE set 3981
245 000000 _LATD set 3980
246 000000 _LATC set 3979
247 000000 _LATB set 3978
248 000000 _TMR2 set 4044
249 000000 _T2CONbits set 4042
250 000000 _T1CONbits set 4045
251 000000 _T0CONbits set 4053
252 000000 _INTCON3bits set 4080
253 000000 _SSPBUF set 4041
254 000000 _BAUDCONbits set 4024
255 001011 STR_1:
256 001011 25 db 37
257 001012 69 db 105 ;'i'
258 001013 00 db 0
259 001014 00 db 0 ; dummy byte at the end
260 000000
261 ; #config settings
262
263 psect cinit
264 001B50 __pcinit:
265 callstack 0
266 001B50 start_initialization:
267 callstack 0
268 001B50 __initialization:
269 callstack 0
270
271 ; Initialize objects allocated to BANK0 (26 bytes)
272 ; load TBLPTR registers with __pidataBANK0
273 001B50 0E80 movlw low __pidataBANK0
274 001B52 6EF6 movwf tblptrl,c
275 001B54 0E1C movlw high __pidataBANK0
276 001B56 6EF7 movwf tblptrh,c
277 001B58 0E00 movlw low (__pidataBANK0 shr (0+16))
278 001B5A 6EF8 movwf tblptru,c
279 001B5C EE00 F080 lfsr 0,__pdataBANK0
280 001B60 EE10 F01A lfsr 1,26
281 001B64 copy_data0:
282 001B64 0009 tblrd *+
283 001B66 CFF5 FFEE movff tablat,postinc0
284 001B6A 50E5 movf postdec1,w,c
285 001B6C 50E1 movf fsr1l,w,c
286 001B6E E1FA bnz copy_data0
287
288 ; Initialize objects allocated to COMRAM (24 bytes)
289 ; load TBLPTR registers with __pidataCOMRAM
290 001B70 0E1C movlw low __pidataCOMRAM
291 001B72 6EF6 movwf tblptrl,c
292 001B74 0E1D movlw high __pidataCOMRAM
293 001B76 6EF7 movwf tblptrh,c
294 001B78 0E00 movlw low (__pidataCOMRAM shr (0+16))
295 001B7A 6EF8 movwf tblptru,c
296 001B7C EE00 F063 lfsr 0,__pdataCOMRAM
297 001B80 EE10 F018 lfsr 1,24
298 001B84 copy_data1:
299 001B84 0009 tblrd *+
300 001B86 CFF5 FFEE movff tablat,postinc0
301 001B8A 50E5 movf postdec1,w,c
302 001B8C 50E1 movf fsr1l,w,c
303 001B8E E1FA bnz copy_data1
304
305 ; Clear objects allocated to BANK0 (10 bytes)
306 001B90 EE00 F09A lfsr 0,__pbssBANK0
307 001B94 0E0A movlw 10
308 001B96 clear_0:
309 001B96 6AEE clrf postinc0,c
310 001B98 06E8 decf wreg,f,c
311 001B9A E1FD bnz clear_0
312
313 ; Clear objects allocated to COMRAM (71 bytes)
314 001B9C EE00 F001 lfsr 0,__pbssCOMRAM
315 001BA0 0E47 movlw 71
316 001BA2 clear_1:
317 001BA2 6AEE clrf postinc0,c
318 001BA4 06E8 decf wreg,f,c
319 001BA6 E1FD bnz clear_1
320 001BA8 end_of_initialization:
321 callstack 0
322 001BA8 __end_of__initialization:
323 callstack 0
324 001BA8 907B bcf int$flags,0,c ;clear compiler interrupt flag (level 1)
325 001BAA 927B bcf int$flags,1,c ;clear compiler interrupt flag (level 2)
326 001BAC 0100 movlb 0
327 001BAE EF28 F00E goto _main ;jump to C main() function
328
329 psect bssCOMRAM
330 000001 __pbssCOMRAM:
331 callstack 0
332 000001 _USART_OverrunErrorHandler:
333 callstack 0
334 000001 ds 2
335 000003 _USART_FramingErrorHandler:
336 callstack 0
337 000003 ds 2
338 000005 _USART_RxDefaultInterruptHandler:
339 callstack 0
340 000005 ds 2
341 000007 _USART_TxDefaultInterruptHandler:
342 callstack 0
343 000007 ds 2
344 000009 _TMR3_InterruptHandler:
345 callstack 0
346 000009 ds 2
347 00000B _timer3_preload:
348 callstack 0
349 00000B ds 2
350 00000D _TMR2_InterruptHandler:
351 callstack 0
352 00000D ds 2
353 00000F _TMR1_InterruptHandler:
354 callstack 0
355 00000F ds 2
356 000011 _timer1_preload:
357 callstack 0
358 000011 ds 2
359 000013 _TMR0_InterruptHandler:
360 callstack 0
361 000013 ds 2
362 000015 _timer0_preload:
363 callstack 0
364 000015 ds 2
365 000017 _RB7_InterruptHandler_LOW:
366 callstack 0
367 000017 ds 2
368 000019 _RB7_InterruptHandler_HIGH:
369 callstack 0
370 000019 ds 2
371 00001B _RB6_InterruptHandler_LOW:
372 callstack 0
373 00001B ds 2
374 00001D _RB6_InterruptHandler_HIGH:
375 callstack 0
376 00001D ds 2
377 00001F _RB5_InterruptHandler_LOW:
378 callstack 0
379 00001F ds 2
380 000021 _RB5_InterruptHandler_HIGH:
381 callstack 0
382 000021 ds 2
383 000023 _RB4_InterruptHandler_LOW:
384 callstack 0
385 000023 ds 2
386 000025 _RB4_InterruptHandler_HIGH:
387 callstack 0
388 000025 ds 2
389 000027 _INT2_InterruptHandler:
390 callstack 0
391 000027 ds 2
392 000029 _INT1_InterruptHandler:
393 callstack 0
394 000029 ds 2
395 00002B _INT0_InterruptHandler:
396 callstack 0
397 00002B ds 2
398 00002D _MSSP_I2C_Report_Receive_Overflow_InterruptHandler:
399 callstack 0
400 00002D ds 2
401 00002F _MSSP_I2C_Report_Write_Collision_InterruptHandler:
402 callstack 0
403 00002F ds 2
404 000031 _MSSP_I2C_DefaultInterruptHandler:
405 callstack 0
406 000031 ds 2
407 000033 CCP_Set_Compare_Mode_Value@F3106:
408 callstack 0
409 000033 ds 2
410 000035 _CCP2_InterruptHandler:
411 callstack 0
412 000035 ds 2
413 000037 _CCP1_InterruptHandler:
414 callstack 0
415 000037 ds 2
416 000039 _ADC_InterruptHandler:
417 callstack 0
418 000039 ds 2
419 00003B _timer2_preload:
420 callstack 0
421 00003B ds 1
422 00003C relay_turn_off@F3052:
423 callstack 0
424 00003C ds 1
425 00003D relay_turn_on@F3047:
426 callstack 0
427 00003D ds 1
428 00003E relay_initialize@F3042:
429 callstack 0
430 00003E ds 1
431 00003F led_turn_toggle@F3063:
432 callstack 0
433 00003F ds 1
434 000040 led_turn_off@F3058:
435 callstack 0
436 000040 ds 1
437 000041 led_turn_on@F3053:
438 callstack 0
439 000041 ds 1
440 000042 led_initialize@F3048:
441 callstack 0
442 000042 ds 1
443 000043 _timer2_obj:
444 callstack 0
445 000043 ds 5
446
447 psect dataCOMRAM
448 000063 __pdataCOMRAM:
449 callstack 0
450 000063 _lat_registers:
451 callstack 0
452 000063 ds 10
453 00006D _tris_registers:
454 callstack 0
455 00006D ds 10
456 000077 _RB7_Flag:
457 callstack 0
458 000077 ds 1
459 000078 _RB6_Flag:
460 callstack 0
461 000078 ds 1
462 000079 _RB5_Flag:
463 callstack 0
464 000079 ds 1
465 00007A _RB4_Flag:
466 callstack 0
467 00007A ds 1
468
469 psect bssBANK0
470 00009A __pbssBANK0:
471 callstack 0
472 00009A ds 6
473 0000A0 _timer2_flag:
474 callstack 0
475 0000A0 ds 4
476
477 psect dataBANK0
478 000080 __pdataBANK0:
479 callstack 0
480 000080 _port_registers:
481 callstack 0
482 000080 ds 10
483 00008A _lcd_2:
484 callstack 0
485 00008A ds 10
486 000094 _lcd_1:
487 callstack 0
488 000094 ds 6
489
490 psect cstackBANK0
491 0000A4 __pcstackBANK0:
492 callstack 0
493 0000A4 ??_lcd_8bit_intialize:
494
495 ; 1 bytes @ 0x0
496 0000A4 ds 2
497 0000A6 lcd_8bit_intialize@l_data_pins_counter:
498 callstack 0
499
500 ; 1 bytes @ 0x2
501 0000A6 ds 1
502 0000A7 lcd_8bit_intialize@ret:
503 callstack 0
504
505 ; 1 bytes @ 0x3
506 0000A7 ds 1
507
508 psect cstackCOMRAM
509 000048 __pcstackCOMRAM:
510 callstack 0
511 000048 RB4_ISR@RB4_Source:
512 callstack 0
513 000048 RB5_ISR@RB5_Source:
514 callstack 0
515 000048 RB6_ISR@RB6_Source:
516 callstack 0
517 000048 RB7_ISR@RB7_Source:
518 callstack 0
519
520 ; 1 bytes @ 0x0
521 000048 ds 1
522 000049 ??_InterruptManager:
523
524 ; 1 bytes @ 0x1
525 000049 ds 2
526 00004B gpio_pin_direction_intialize@_pin_config:
527 callstack 0
528 00004B gpio_pin_write_logic@_pin_config:
529 callstack 0
530 00004B Timer2_Init@_timer:
531 callstack 0
532
533 ; 2 bytes @ 0x3
534 00004B ds 2
535 00004D ??_gpio_pin_direction_intialize:
536 00004D ??_Timer2_Init:
537 00004D gpio_pin_write_logic@logic:
538 callstack 0
539
540 ; 1 bytes @ 0x5
541 00004D ds 1
542 00004E ??_gpio_pin_write_logic:
543 00004E Timer2_Init@ret:
544 callstack 0
545
546 ; 1 bytes @ 0x6
547 00004E ds 5
548 000053 gpio_pin_direction_intialize@ret:
549 callstack 0
550
551 ; 1 bytes @ 0xB
552 000053 ds 1
553 000054 gpio_pin_write_logic@ret:
554 callstack 0
555
556 ; 1 bytes @ 0xC
557 000054 ds 1
558 000055 lcd_send_4bits@lcd:
559 callstack 0
560 000055 lcd_4bit_send_enable_signal@lcd:
561 callstack 0
562 000055 lcd_8bit_send_enable_signal@lcd:
563 callstack 0
564 000055 gpio_pin_intialize@_pin_config:
565 callstack 0
566
567 ; 2 bytes @ 0xD
568 000055 ds 2
569 000057 ??_gpio_pin_intialize:
570 000057 lcd_send_4bits@_data_command:
571 callstack 0
572 000057 lcd_4bit_send_enable_signal@ret:
573 callstack 0
574 000057 lcd_8bit_send_enable_signal@ret:
575 callstack 0
576
577 ; 1 bytes @ 0xF
578 000057 ds 1
579 000058 lcd_send_4bits@ret:
580 callstack 0
581 000058 gpio_pin_intialize@ret:
582 callstack 0
583 000058 lcd_8bit_send_command@lcd:
584 callstack 0
585
586 ; 2 bytes @ 0x10
587 000058 ds 1
588 000059 lcd_4bit_send_command@lcd:
589 callstack 0
590
591 ; 2 bytes @ 0x11
592 000059 ds 1
593 00005A lcd_8bit_send_command@command:
594 callstack 0
595
596 ; 1 bytes @ 0x12
597 00005A ds 1
598 00005B ??_lcd_8bit_send_command:
599 00005B lcd_4bit_send_command@command:
600 callstack 0
601
602 ; 1 bytes @ 0x13
603 00005B ds 1
604 00005C lcd_4bit_send_command@ret:
605 callstack 0
606
607 ; 1 bytes @ 0x14
608 00005C ds 1
609 00005D lcd_4bit_intialize@lcd:
610 callstack 0
611
612 ; 2 bytes @ 0x15
613 00005D ds 2
614 00005F ??_lcd_4bit_intialize:
615 00005F lcd_8bit_send_command@ret:
616 callstack 0
617
618 ; 1 bytes @ 0x17
619 00005F ds 1
620 000060 lcd_8bit_send_command@l_pin_counter:
621 callstack 0
622
623 ; 1 bytes @ 0x18
624 000060 ds 1
625 000061 lcd_4bit_intialize@l_data_pins_counter:
626 callstack 0
627 000061 lcd_8bit_intialize@lcd:
628 callstack 0
629
630 ; 2 bytes @ 0x19
631 000061 ds 1
632 000062 lcd_4bit_intialize@ret:
633 callstack 0
634
635 ; 1 bytes @ 0x1A
636 000062 ds 1
637 000063
638 ; 1 bytes @ 0x1B
639 ;;
640 ;;Main: autosize = 0, tempsize = 0, incstack = 0, save=0
641 ;;
642 ;; *************** function _main *****************
643 ;; Defined at:
644 ;; line 26 in file "application.c"
645 ;; Parameters: Size Location Type
646 ;; None
647 ;; Auto vars: Size Location Type
648 ;; ret 1 0 unsigned char
649 ;; Return value: Size Location Type
650 ;; 2 1570[None ] int
651 ;; Registers used:
652 ;; wreg, fsr2l, fsr2h, status,2, status,0, prodl, prodh, cstack
653 ;; Tracked objects:
654 ;; On entry : 0/0
655 ;; On exit : 0/0
656 ;; Unchanged: 0/0
657 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5 BANK6 BANK7 BANK8 BANK9 BANK10 BANK1
+1 BANK12 BANK13 BANK14 BANK15
658 ;; Params: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
659 ;; Locals: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
660 ;; Temps: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
661 ;; Totals: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
662 ;;Total ram usage: 0 bytes
663 ;; Hardware stack levels required when called: 9
664 ;; This function calls:
665 ;; _Timer2_Init
666 ;; _application_intialize
667 ;; This function is called by:
668 ;; Startup code after reset
669 ;; This function uses a non-reentrant model
670 ;;
671
672 psect text0
673 001C50 __ptext0:
674 callstack 0
675 001C50 _main:
676 callstack 22
677 001C50
678 ;application.c: 29: application_intialize();
679 001C50 ECB4 F00E call _application_intialize ;wreg free
680 001C54
681 ;application.c: 31: timer2_obj.TMR2_InterruptHandler = Timer2_DefaultInterrruptHandl
+ er;
682 001C54 0E34 movlw low _Timer2_DefaultInterrruptHandler
683 001C56 6E43 movwf _timer2_obj^0,c
684 001C58 0E1D movlw high _Timer2_DefaultInterrruptHandler
685 001C5A 6E44 movwf (_timer2_obj+1)^0,c
686 001C5C
687 ;application.c: 32: timer2_obj.priority = INTERRUPT_LOW_PRIORITY;
688 001C5C 0E00 movlw 0
689 001C5E 6E45 movwf (_timer2_obj+2)^0,c
690 001C60
691 ;application.c: 33: timer2_obj.timer2_prescaler_value = 0;
692 001C60 0ECF movlw -49
693 001C62 1647 andwf (_timer2_obj+4)^0,f,c
694 001C64
695 ;application.c: 34: timer2_obj.timer2_postscaler_value = 15;
696 001C64 0E0F movlw 15
697 001C66 1247 iorwf (_timer2_obj+4)^0,f,c
698 001C68
699 ;application.c: 35: timer2_obj.timer2_preload_value = 249;
700 001C68 0EF9 movlw 249
701 001C6A 6E46 movwf (_timer2_obj+3)^0,c
702 001C6C 0E43 movlw low _timer2_obj
703 001C6E 6E4B movwf Timer2_Init@_timer^0,c
704 001C70 0E00 movlw high _timer2_obj
705 001C72 6E4C movwf (Timer2_Init@_timer+1)^0,c
706 001C74 EC6F F00C call _Timer2_Init ;wreg free
707 001C78 l1571:
708 001C78 EF3C F00E goto l1571
709 001C7C EF07 F000 goto start
710 001C80 __end_of_main:
711 callstack 0
712
713 ;; *************** function _application_intialize *****************
714 ;; Defined at:
715 ;; line 46 in file "application.c"
716 ;; Parameters: Size Location Type
717 ;; None
718 ;; Auto vars: Size Location Type
719 ;; ret 1 0 unsigned char
720 ;; Return value: Size Location Type
721 ;; 1 wreg void
722 ;; Registers used:
723 ;; wreg, fsr2l, fsr2h, status,2, status,0, prodl, prodh, cstack
724 ;; Tracked objects:
725 ;; On entry : 0/0
726 ;; On exit : 0/0
727 ;; Unchanged: 0/0
728 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5 BANK6 BANK7 BANK8 BANK9 BANK10 BANK1
+1 BANK12 BANK13 BANK14 BANK15
729 ;; Params: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
730 ;; Locals: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
731 ;; Temps: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
732 ;; Totals: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
733 ;;Total ram usage: 0 bytes
734 ;; Hardware stack levels used: 1
735 ;; Hardware stack levels required when called: 8
736 ;; This function calls:
737 ;; _ecu_layer_intialize
738 ;; This function is called by:
739 ;; _main
740 ;; This function uses a non-reentrant model
741 ;;
742
743 psect text1
744 001D68 __ptext1:
745 callstack 0
746 001D68 _application_intialize:
747 callstack 22
748 001D68
749 ;application.c: 49: ecu_layer_intialize();
750 001D68 EC4D F00E call _ecu_layer_intialize ;wreg free
751 001D6C 0012 return ;funcret
752 001D6E __end_of_application_intialize:
753 callstack 0
754
755 ;; *************** function _ecu_layer_intialize *****************
756 ;; Defined at:
757 ;; line 96 in file "ECU_Layer/ecu_layer_init.c"
758 ;; Parameters: Size Location Type
759 ;; None
760 ;; Auto vars: Size Location Type
761 ;; ret 1 0 unsigned char
762 ;; Return value: Size Location Type
763 ;; 1 wreg void
764 ;; Registers used:
765 ;; wreg, fsr2l, fsr2h, status,2, status,0, prodl, prodh, cstack
766 ;; Tracked objects:
767 ;; On entry : 0/0
768 ;; On exit : 0/0
769 ;; Unchanged: 0/0
770 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5 BANK6 BANK7 BANK8 BANK9 BANK10 BANK1
+1 BANK12 BANK13 BANK14 BANK15
771 ;; Params: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
772 ;; Locals: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
773 ;; Temps: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
774 ;; Totals: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
775 ;;Total ram usage: 0 bytes
776 ;; Hardware stack levels used: 1
777 ;; Hardware stack levels required when called: 7
778 ;; This function calls:
779 ;; _lcd_4bit_intialize
780 ;; _lcd_8bit_intialize
781 ;; This function is called by:
782 ;; _application_intialize
783 ;; This function uses a non-reentrant model
784 ;;
785
786 psect text2
787 001C9A __ptext2:
788 callstack 0
789 001C9A _ecu_layer_intialize:
790 callstack 22
791 001C9A 0E94 movlw low _lcd_1
792 001C9C 6E5D movwf lcd_4bit_intialize@lcd^0,c
793 001C9E 0E00 movlw high _lcd_1
794 001CA0 6E5E movwf (lcd_4bit_intialize@lcd+1)^0,c
795 001CA2 ECDB F00B call _lcd_4bit_intialize ;wreg free
796 001CA6 0E8A movlw low _lcd_2
797 001CA8 6E61 movwf lcd_8bit_intialize@lcd^0,c
798 001CAA 0E00 movlw high _lcd_2
799 001CAC 6E62 movwf (lcd_8bit_intialize@lcd+1)^0,c
800 001CAE ECA8 F00A call _lcd_8bit_intialize ;wreg free
801 001CB2 0012 return ;funcret
802 001CB4 __end_of_ecu_layer_intialize:
803 callstack 0
804
805 ;; *************** function _lcd_8bit_intialize *****************
806 ;; Defined at:
807 ;; line 275 in file "ECU_Layer/Chr_LCD/ecu_chr_lcd.c"
808 ;; Parameters: Size Location Type
809 ;; lcd 2 25[COMRAM] PTR const struct .
810 ;; -> lcd_2(10),
811 ;; Auto vars: Size Location Type
812 ;; ret 1 3[BANK0 ] unsigned char
813 ;; l_data_pins_ 1 2[BANK0 ] unsigned char
814 ;; Return value: Size Location Type
815 ;; 1 wreg unsigned char
816 ;; Registers used:
817 ;; wreg, fsr2l, fsr2h, status,2, status,0, prodl, prodh, cstack
818 ;; Tracked objects:
819 ;; On entry : 0/0
820 ;; On exit : 0/0
821 ;; Unchanged: 0/0
822 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5 BANK6 BANK7 BANK8 BANK9 BANK10 BANK1
+1 BANK12 BANK13 BANK14 BANK15
823 ;; Params: 2 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
824 ;; Locals: 0 2 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
825 ;; Temps: 0 2 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
826 ;; Totals: 2 4 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
827 ;;Total ram usage: 6 bytes
828 ;; Hardware stack levels used: 1
829 ;; Hardware stack levels required when called: 6
830 ;; This function calls:
831 ;; _gpio_pin_intialize
832 ;; _lcd_8bit_send_command
833 ;; This function is called by:
834 ;; _ecu_layer_intialize
835 ;; This function uses a non-reentrant model
836 ;;
837
838 psect text3
839 001550 __ptext3:
840 callstack 0
841 001550 _lcd_8bit_intialize:
842 callstack 22
843 001550
844 ;ECU_Layer/Chr_LCD/ecu_chr_lcd.c: 278: uint8 l_data_pins_counter = 0;
845 001550 0E00 movlw 0
846 001552 0100 movlb 0 ; () banked
847 001554 6FA6 movwf lcd_8bit_intialize@l_data_pins_counter& (0+255),b
848 001556
849 ; BSR set to: 0
850 ;ECU_Layer/Chr_LCD/ecu_chr_lcd.c: 279: if(((void*)0) == lcd)
851 001556 5061 movf lcd_8bit_intialize@lcd^0,w,c
852 001558 1062 iorwf (lcd_8bit_intialize@lcd+1)^0,w,c
853 00155A A4D8 btfss status,2,c
854 00155C EFB2 F00A goto u4811
855 001560 EFB4 F00A goto u4810
856 001564 u4811:
857 001564 EFB8 F00A goto l6144
858 001568 u4810:
859 001568
860 ; BSR set to: 0
861 ;ECU_Layer/Chr_LCD/ecu_chr_lcd.c: 280: {;ECU_Layer/Chr_LCD/ecu_chr_lcd.c: 281:
+ ret = (Std_ReturnType)0x00;
862 001568 0E00 movlw 0
863 00156A 6FA7 movwf lcd_8bit_intialize@ret& (0+255),b
864
865 ;ECU_Layer/Chr_LCD/ecu_chr_lcd.c: 282: }
866 00156C EF43 F00B goto l6180
867 001570 l6144:
868
869 ; BSR set to: 0
870 ;ECU_Layer/Chr_LCD/ecu_chr_lcd.c: 284: {;ECU_Layer/Chr_LCD/ecu_chr_lcd.c: 285:
+ ret = gpio_pin_intialize(&(lcd->lcd_rs));
871 001570 C061 F055 movff lcd_8bit_intialize@lcd,gpio_pin_intialize@_pin_config
872 001574 C062 F056 movff lcd_8bit_intialize@lcd+1,gpio_pin_intialize@_pin_config+1
873 001578 EC3E F00D call _gpio_pin_intialize ;wreg free
874 00157C 0100 movlb 0 ; () banked
875 00157E 6FA7 movwf lcd_8bit_intialize@ret& (0+255),b
876
877 ;ECU_Layer/Chr_LCD/ecu_chr_lcd.c: 286: ret = gpio_pin_intialize(&(lcd->lcd_en));
878 001580 0E01 movlw 1
879 001582 2461 addwf lcd_8bit_intialize@lcd^0,w,c
880 001584 6E55 movwf gpio_pin_intialize@_pin_config^0,c
881 001586 0E00 movlw 0
882 001588 2062 addwfc (lcd_8bit_intialize@lcd+1)^0,w,c
883 00158A 6E56 movwf (gpio_pin_intialize@_pin_config+1)^0,c
884 00158C EC3E F00D call _gpio_pin_intialize ;wreg free
885 001590 0100 movlb 0 ; () banked
886 001592 6FA7 movwf lcd_8bit_intialize@ret& (0+255),b
887 001594
888 ; BSR set to: 0
889 ;ECU_Layer/Chr_LCD/ecu_chr_lcd.c: 287: for(l_data_pins_counter = 0; l_data_pins_
+ counter < 8; l_data_pins_counter++)
890 001594 0E00 movlw 0
891 001596 6FA6 movwf lcd_8bit_intialize@l_data_pins_counter& (0+255),b
892 001598 l6152:
893
894 ; BSR set to: 0
895 001598 51A6 movf lcd_8bit_intialize@l_data_pins_counter& (0+255),w,b
896 00159A 2461 addwf lcd_8bit_intialize@lcd^0,w,c
897 00159C 6FA4 movwf ??_lcd_8bit_intialize& (0+255),b
898 00159E 0E00 movlw 0
899 0015A0 2062 addwfc (lcd_8bit_intialize@lcd+1)^0,w,c
900 0015A2 6FA5 movwf (??_lcd_8bit_intialize+1)& (0+255),b
901 0015A4 0E02 movlw 2
902 0015A6 25A4 addwf ??_lcd_8bit_intialize& (0+255),w,b
903 0015A8 6E55 movwf gpio_pin_intialize@_pin_config^0,c
904 0015AA 0E00 movlw 0
905 0015AC 21A5 addwfc (??_lcd_8bit_intialize+1)& (0+255),w,b
906 0015AE 6E56 movwf (gpio_pin_intialize@_pin_config+1)^0,c
907 0015B0 EC3E F00D call _gpio_pin_intialize ;wreg free
908 0015B4
909 ;ECU_Layer/Chr_LCD/ecu_chr_lcd.c: 290: }
910 0015B4 0100 movlb 0 ; () banked
911 0015B6 2BA6 incf lcd_8bit_intialize@l_data_pins_counter& (0+255),f,b
912 0015B8
913 ; BSR set to: 0
914 0015B8 0E07 movlw 7
915 0015BA 65A6 cpfsgt lcd_8bit_intialize@l_data_pins_counter& (0+255),b
916 0015BC EFE2 F00A goto u4821
917 0015C0 EFE4 F00A goto u4820
918 0015C4 u4821:
919 0015C4 EFCC F00A goto l6152
920 0015C8 u4820:
921 0015C8
922 ; BSR set to: 0
923 ;ECU_Layer/Chr_LCD/ecu_chr_lcd.c: 291: _delay((unsigned long)((20)*(8000000UL/40
+ 00.0)));
924 0015C8 0E34 movlw 52
925 0015CA 0100 movlb 0 ; () banked
926 0015CC 6FA4 movwf ??_lcd_8bit_intialize& (0+255),b
927 0015CE 0EF1 movlw 241
928 0015D0 u5377:
929 0015D0 2EE8 decfsz wreg,f,c
930 0015D2 D7FE bra u5377
931 0015D4 2FA4 decfsz ??_lcd_8bit_intialize& (0+255),f,b
932 0015D6 D7FC bra u5377
933 0015D8 D000 nop2
934 0015DA C061 F058 movff lcd_8bit_intialize@lcd,lcd_8bit_send_command@lcd
935 0015DE C062 F059 movff lcd_8bit_intialize@lcd+1,lcd_8bit_send_command@lcd+1
936 0015E2 0E38 movlw 56
937 0015E4 6E5A movwf lcd_8bit_send_command@command^0,c
938 0015E6 ECBD F00C call _lcd_8bit_send_command ;wreg free
939 0015EA
940 ;ECU_Layer/Chr_LCD/ecu_chr_lcd.c: 293: _delay((unsigned long)((5)*(8000000UL/400
+ 0.0)));
941 0015EA 0E0D movlw 13
942 0015EC 0100 movlb 0 ; () banked
943 0015EE 6FA4 movwf ??_lcd_8bit_intialize& (0+255),b
944 0015F0 0EFB movlw 251
945 0015F2 u5387:
946 0015F2 2EE8 decfsz wreg,f,c
947 0015F4 D7FE bra u5387
948 0015F6 2FA4 decfsz ??_lcd_8bit_intialize& (0+255),f,b
949 0015F8 D7FC bra u5387
950 0015FA D000 nop2
951 0015FC C061 F058 movff lcd_8bit_intialize@lcd,lcd_8bit_send_command@lcd
952 001600 C062 F059 movff lcd_8bit_intialize@lcd+1,lcd_8bit_send_command@lcd+1
953 001604 0E38 movlw 56
954 001606 6E5A movwf lcd_8bit_send_command@command^0,c
955 001608 ECBD F00C call _lcd_8bit_send_command ;wreg free
956 00160C
957 ;ECU_Layer/Chr_LCD/ecu_chr_lcd.c: 295: _delay((unsigned long)((150)*(8000000UL/4
+ 000000.0)));
958 00160C 0E64 movlw 100
959 00160E u5397: