-
Notifications
You must be signed in to change notification settings - Fork 0
/
Custom_Character_LCD_Project.production.lst
6106 lines (5891 loc) · 359 KB
/
Custom_Character_LCD_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 15:54:19 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 text8,global,reloc=2,class=CODE,delta=1
23 psect text9,global,reloc=2,class=CODE,delta=1
24 psect text10,global,reloc=2,class=CODE,delta=1
25 psect text11,global,reloc=2,class=CODE,delta=1
26 psect text12,global,reloc=2,class=CODE,delta=1
27 psect text13,global,reloc=2,class=CODE,delta=1
28 psect text14,global,reloc=2,class=CODE,delta=1
29 psect text15,global,reloc=2,class=CODE,delta=1
30 psect text16,global,reloc=2,class=CODE,delta=1
31 psect intcode,global,reloc=2,class=CODE,delta=1
32 psect intcode_body,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 text27,global,reloc=2,class=CODE,delta=1
43 psect text28,global,reloc=2,class=CODE,delta=1
44 psect text29,global,reloc=2,class=CODE,delta=1
45 psect text30,global,reloc=2,class=CODE,delta=1
46 psect text31,global,reloc=2,class=CODE,delta=1
47 psect text32,global,reloc=2,class=CODE,delta=1
48 psect text33,global,reloc=2,class=CODE,delta=1
49 psect text34,global,reloc=2,class=CODE,delta=1
50 psect text35,global,reloc=2,class=CODE,delta=1
51 psect intsave_regs,global,class=BIGRAM,space=1,delta=1,noexec
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 001FDE __pidataCOMRAM:
94 callstack 0
95
96 ;initializer for _RB7_Flag
97 001FDE 01 db 1
98
99 ;initializer for _RB6_Flag
100 001FDF 01 db 1
101
102 ;initializer for _RB5_Flag
103 001FE0 01 db 1
104
105 ;initializer for _RB4_Flag
106 001FE1 01 db 1
107
108 psect idataBANK0
109 001EFC __pidataBANK0:
110 callstack 0
111
112 ;initializer for _port_registers
113 001EFC 80 db 128
114 001EFD 0F db 15
115 001EFE 81 db 129
116 001EFF 0F db 15
117 001F00 82 db 130
118 001F01 0F db 15
119 001F02 83 db 131
120 001F03 0F db 15
121 001F04 84 db 132
122 001F05 0F db 15
123
124 ;initializer for _lat_registers
125 001F06 89 db 137
126 001F07 0F db 15
127 001F08 8A db 138
128 001F09 0F db 15
129 001F0A 8B db 139
130 001F0B 0F db 15
131 001F0C 8C db 140
132 001F0D 0F db 15
133 001F0E 8D db 141
134 001F0F 0F db 15
135
136 ;initializer for _tris_registers
137 001F10 92 db 146
138 001F11 0F db 15
139 001F12 93 db 147
140 001F13 0F db 15
141 001F14 94 db 148
142 001F15 0F db 15
143 001F16 95 db 149
144 001F17 0F db 15
145 001F18 96 db 150
146 001F19 0F db 15
147
148 ;initializer for _lcd_2
149 001F1A 32 db 50
150 001F1B 3A db 58
151 001F1C 03 db 3
152 001F1D 0B db 11
153 001F1E 13 db 19
154 001F1F 1B db 27
155 001F20 23 db 35
156 001F21 2B db 43
157 001F22 33 db 51
158 001F23 3B db 59
159
160 ;initializer for _lcd_1
161 001F24 02 db 2
162 001F25 0A db 10
163 001F26 12 db 18
164 001F27 1A db 26
165 001F28 22 db 34
166 001F29 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 001011 _customChar6:
193 callstack 0
194 001011 0E db 14
195 001012 0E db 14
196 001013 1F db 31
197 001014 1F db 31
198 001015 1F db 31
199 001016 1F db 31
200 001017 1F db 31
201 001018 00 db 0
202 001019 __end_of_customChar6:
203 callstack 0
204 001019 _customChar5:
205 callstack 0
206 001019 0E db 14
207 00101A 0A db 10
208 00101B 1F db 31
209 00101C 1F db 31
210 00101D 1F db 31
211 00101E 1F db 31
212 00101F 1F db 31
213 001020 00 db 0
214 001021 __end_of_customChar5:
215 callstack 0
216 001021 _customChar4:
217 callstack 0
218 001021 0E db 14
219 001022 0A db 10
220 001023 11 db 17
221 001024 1F db 31
222 001025 1F db 31
223 001026 1F db 31
224 001027 1F db 31
225 001028 00 db 0
226 001029 __end_of_customChar4:
227 callstack 0
228 001029 _customChar3:
229 callstack 0
230 001029 0E db 14
231 00102A 0A db 10
232 00102B 11 db 17
233 00102C 11 db 17
234 00102D 1F db 31
235 00102E 1F db 31
236 00102F 1F db 31
237 001030 00 db 0
238 001031 __end_of_customChar3:
239 callstack 0
240 001031 _customChar2:
241 callstack 0
242 001031 0E db 14
243 001032 0A db 10
244 001033 11 db 17
245 001034 11 db 17
246 001035 11 db 17
247 001036 1F db 31
248 001037 1F db 31
249 001038 00 db 0
250 001039 __end_of_customChar2:
251 callstack 0
252 001039 _customChar1:
253 callstack 0
254 001039 0E db 14
255 00103A 0A db 10
256 00103B 11 db 17
257 00103C 11 db 17
258 00103D 11 db 17
259 00103E 11 db 17
260 00103F 1F db 31
261 001040 00 db 0
262 001041 __end_of_customChar1:
263 callstack 0
264 000000 _SPBRGH set 4016
265 000000 _SPBRG set 4015
266 000000 _TXREG set 4013
267 000000 _TXSTAbits set 4012
268 000000 _RCREG set 4014
269 000000 _RCSTAbits set 4011
270 000000 _TMR3L set 4018
271 000000 _TMR3H set 4019
272 000000 _TMR1L set 4046
273 000000 _TMR1H set 4047
274 000000 _TMR0L set 4054
275 000000 _TMR0H set 4055
276 000000 _INTCON2bits set 4081
277 000000 _SSPSTATbits set 4039
278 000000 _SSPADD set 4040
279 000000 _SSPCON2bits set 4037
280 000000 _SSPCON1bits set 4038
281 000000 _EECON2 set 4007
282 000000 _CCPR2H set 4028
283 000000 _CCPR2L set 4027
284 000000 _CCPR1H set 4031
285 000000 _CCPR1L set 4030
286 000000 _ADCON1bits set 4033
287 000000 _ADRESL set 4035
288 000000 _ADRESH set 4036
289 000000 _INTCONbits set 4082
290 000000 _TRISD set 3989
291 000000 _TRISC set 3988
292 000000 _TRISB set 3987
293 000000 _TRISE set 3990
294 000000 _PORTBbits set 3969
295 000000 _TRISCbits set 3988
296 000000 _PIE1bits set 3997
297 000000 _ADCON2bits set 4032
298 000000 _ADCON0bits set 4034
299 000000 _PORTE set 3972
300 000000 _PORTD set 3971
301 000000 _PORTC set 3970
302 000000 _PORTB set 3969
303 000000 _PORTA set 3968
304 000000 _LATA set 3977
305 000000 _TRISA set 3986
306 000000 _PIE2bits set 4000
307 000000 _CCP2CONbits set 4026
308 000000 _CCP1CONbits set 4029
309 000000 _PIR1bits set 3998
310 000000 _EECON1bits set 4006
311 000000 _EEDATA set 4008
312 000000 _EEADR set 4009
313 000000 _EEADRH set 4010
314 000000 _T3CONbits set 4017
315 000000 _PIR2bits set 4001
316 000000 _LATE set 3981
317 000000 _LATD set 3980
318 000000 _LATC set 3979
319 000000 _LATB set 3978
320 000000 _TMR2 set 4044
321 000000 _T2CONbits set 4042
322 000000 _T1CONbits set 4045
323 000000 _T0CONbits set 4053
324 000000 _INTCON3bits set 4080
325 000000 _SSPBUF set 4041
326 000000 _BAUDCONbits set 4024
327 001041 STR_1:
328 001041 25 db 37
329 001042 69 db 105 ;'i'
330 001043 00 db 0
331 001044 00 db 0 ; dummy byte at the end
332 000000
333 ; #config settings
334
335 psect cinit
336 001DE6 __pcinit:
337 callstack 0
338 001DE6 start_initialization:
339 callstack 0
340 001DE6 __initialization:
341 callstack 0
342
343 ; Initialize objects allocated to BANK0 (46 bytes)
344 ; load TBLPTR registers with __pidataBANK0
345 001DE6 0EFC movlw low __pidataBANK0
346 001DE8 6EF6 movwf tblptrl,c
347 001DEA 0E1E movlw high __pidataBANK0
348 001DEC 6EF7 movwf tblptrh,c
349 001DEE 0E00 movlw low (__pidataBANK0 shr (0+16))
350 001DF0 6EF8 movwf tblptru,c
351 001DF2 EE00 F080 lfsr 0,__pdataBANK0
352 001DF6 EE10 F02E lfsr 1,46
353 001DFA copy_data0:
354 001DFA 0009 tblrd *+
355 001DFC CFF5 FFEE movff tablat,postinc0
356 001E00 50E5 movf postdec1,w,c
357 001E02 50E1 movf fsr1l,w,c
358 001E04 E1FA bnz copy_data0
359
360 ; Initialize objects allocated to COMRAM (4 bytes)
361 ; load TBLPTR registers with __pidataCOMRAM
362 001E06 0EDE movlw low __pidataCOMRAM
363 001E08 6EF6 movwf tblptrl,c
364 001E0A 0E1F movlw high __pidataCOMRAM
365 001E0C 6EF7 movwf tblptrh,c
366 001E0E 0E00 movlw low (__pidataCOMRAM shr (0+16))
367 001E10 6EF8 movwf tblptru,c
368 001E12 EE00 F079 lfsr 0,__pdataCOMRAM
369 001E16 EE10 F004 lfsr 1,4
370 001E1A copy_data1:
371 001E1A 0009 tblrd *+
372 001E1C CFF5 FFEE movff tablat,postinc0
373 001E20 50E5 movf postdec1,w,c
374 001E22 50E1 movf fsr1l,w,c
375 001E24 E1FA bnz copy_data1
376
377 ; Clear objects allocated to BANK0 (6 bytes)
378 001E26 0100 movlb 0
379 001E28 6BB3 clrf (__pbssBANK0+5)& (0+255),b
380 001E2A 6BB2 clrf (__pbssBANK0+4)& (0+255),b
381 001E2C 6BB1 clrf (__pbssBANK0+3)& (0+255),b
382 001E2E 6BB0 clrf (__pbssBANK0+2)& (0+255),b
383 001E30 6BAF clrf (__pbssBANK0+1)& (0+255),b
384 001E32 6BAE clrf __pbssBANK0& (0+255),b
385
386 ; Clear objects allocated to COMRAM (71 bytes)
387 001E34 EE00 F001 lfsr 0,__pbssCOMRAM
388 001E38 0E47 movlw 71
389 001E3A clear_0:
390 001E3A 6AEE clrf postinc0,c
391 001E3C 06E8 decf wreg,f,c
392 001E3E E1FD bnz clear_0
393 001E40 end_of_initialization:
394 callstack 0
395 001E40 __end_of__initialization:
396 callstack 0
397 001E40 907D bcf int$flags,0,c ;clear compiler interrupt flag (level 1)
398 001E42 927D bcf int$flags,1,c ;clear compiler interrupt flag (level 2)
399 001E44 0100 movlb 0
400 001E46 EF16 F00A goto _main ;jump to C main() function
401
402 psect bssCOMRAM
403 000001 __pbssCOMRAM:
404 callstack 0
405 000001 _lcd_counter_txt:
406 callstack 0
407 000001 ds 4
408 000005 _USART_OverrunErrorHandler:
409 callstack 0
410 000005 ds 2
411 000007 _USART_FramingErrorHandler:
412 callstack 0
413 000007 ds 2
414 000009 _USART_RxDefaultInterruptHandler:
415 callstack 0
416 000009 ds 2
417 00000B _USART_TxDefaultInterruptHandler:
418 callstack 0
419 00000B ds 2
420 00000D _TMR3_InterruptHandler:
421 callstack 0
422 00000D ds 2
423 00000F _timer3_preload:
424 callstack 0
425 00000F ds 2
426 000011 _TMR2_InterruptHandler:
427 callstack 0
428 000011 ds 2
429 000013 _TMR1_InterruptHandler:
430 callstack 0
431 000013 ds 2
432 000015 _timer1_preload:
433 callstack 0
434 000015 ds 2
435 000017 _TMR0_InterruptHandler:
436 callstack 0
437 000017 ds 2
438 000019 _timer0_preload:
439 callstack 0
440 000019 ds 2
441 00001B _RB7_InterruptHandler_LOW:
442 callstack 0
443 00001B ds 2
444 00001D _RB7_InterruptHandler_HIGH:
445 callstack 0
446 00001D ds 2
447 00001F _RB6_InterruptHandler_LOW:
448 callstack 0
449 00001F ds 2
450 000021 _RB6_InterruptHandler_HIGH:
451 callstack 0
452 000021 ds 2
453 000023 _RB5_InterruptHandler_LOW:
454 callstack 0
455 000023 ds 2
456 000025 _RB5_InterruptHandler_HIGH:
457 callstack 0
458 000025 ds 2
459 000027 _RB4_InterruptHandler_LOW:
460 callstack 0
461 000027 ds 2
462 000029 _RB4_InterruptHandler_HIGH:
463 callstack 0
464 000029 ds 2
465 00002B _INT2_InterruptHandler:
466 callstack 0
467 00002B ds 2
468 00002D _INT1_InterruptHandler:
469 callstack 0
470 00002D ds 2
471 00002F _INT0_InterruptHandler:
472 callstack 0
473 00002F ds 2
474 000031 _MSSP_I2C_Report_Receive_Overflow_InterruptHandler:
475 callstack 0
476 000031 ds 2
477 000033 _MSSP_I2C_Report_Write_Collision_InterruptHandler:
478 callstack 0
479 000033 ds 2
480 000035 _MSSP_I2C_DefaultInterruptHandler:
481 callstack 0
482 000035 ds 2
483 000037 CCP_Set_Compare_Mode_Value@F3106:
484 callstack 0
485 000037 ds 2
486 000039 _CCP2_InterruptHandler:
487 callstack 0
488 000039 ds 2
489 00003B _CCP1_InterruptHandler:
490 callstack 0
491 00003B ds 2
492 00003D _ADC_InterruptHandler:
493 callstack 0
494 00003D ds 2
495 00003F _lcd_counter:
496 callstack 0
497 00003F ds 1
498 000040 _timer2_preload:
499 callstack 0
500 000040 ds 1
501 000041 relay_turn_off@F3052:
502 callstack 0
503 000041 ds 1
504 000042 relay_turn_on@F3047:
505 callstack 0
506 000042 ds 1
507 000043 relay_initialize@F3042:
508 callstack 0
509 000043 ds 1
510 000044 led_turn_toggle@F3063:
511 callstack 0
512 000044 ds 1
513 000045 led_turn_off@F3058:
514 callstack 0
515 000045 ds 1
516 000046 led_turn_on@F3053:
517 callstack 0
518 000046 ds 1
519 000047 led_initialize@F3048:
520 callstack 0
521 000047 ds 1
522
523 psect dataCOMRAM
524 000079 __pdataCOMRAM:
525 callstack 0
526 000079 _RB7_Flag:
527 callstack 0
528 000079 ds 1
529 00007A _RB6_Flag:
530 callstack 0
531 00007A ds 1
532 00007B _RB5_Flag:
533 callstack 0
534 00007B ds 1
535 00007C _RB4_Flag:
536 callstack 0
537 00007C ds 1
538
539 psect bssBANK0
540 0000AE __pbssBANK0:
541 callstack 0
542 0000AE ds 6
543
544 psect dataBANK0
545 000080 __pdataBANK0:
546 callstack 0
547 000080 _port_registers:
548 callstack 0
549 000080 ds 10
550 00008A _lat_registers:
551 callstack 0
552 00008A ds 10
553 000094 _tris_registers:
554 callstack 0
555 000094 ds 10
556 00009E _lcd_2:
557 callstack 0
558 00009E ds 10
559 0000A8 _lcd_1:
560 callstack 0
561 0000A8 ds 6
562
563 psect cstackCOMRAM
564 000048 __pcstackCOMRAM:
565 callstack 0
566 000048 RB4_ISR@RB4_Source:
567 callstack 0
568 000048 RB5_ISR@RB5_Source:
569 callstack 0
570 000048 RB6_ISR@RB6_Source:
571 callstack 0
572 000048 RB7_ISR@RB7_Source:
573 callstack 0
574
575 ; 1 bytes @ 0x0
576 000048 ds 1
577 000049 gpio_pin_direction_intialize@_pin_config:
578 callstack 0
579 000049 gpio_pin_write_logic@_pin_config:
580 callstack 0
581
582 ; 2 bytes @ 0x1
583 000049 ds 2
584 00004B ??_gpio_pin_direction_intialize:
585 00004B gpio_pin_write_logic@logic:
586 callstack 0
587
588 ; 1 bytes @ 0x3
589 00004B ds 1
590 00004C ??_gpio_pin_write_logic:
591
592 ; 1 bytes @ 0x4
593 00004C ds 5
594 000051 gpio_pin_direction_intialize@ret:
595 callstack 0
596
597 ; 1 bytes @ 0x9
598 000051 ds 1
599 000052 gpio_pin_write_logic@ret:
600 callstack 0
601
602 ; 1 bytes @ 0xA
603 000052 ds 1
604 000053 lcd_send_4bits@lcd:
605 callstack 0
606 000053 lcd_4bit_send_enable_signal@lcd:
607 callstack 0
608 000053 lcd_8bit_send_enable_signal@lcd:
609 callstack 0
610 000053 gpio_pin_intialize@_pin_config:
611 callstack 0
612
613 ; 2 bytes @ 0xB
614 000053 ds 2
615 000055 ??_gpio_pin_intialize:
616 000055 lcd_send_4bits@_data_command:
617 callstack 0
618 000055 lcd_4bit_send_enable_signal@ret:
619 callstack 0
620 000055 lcd_8bit_send_enable_signal@ret:
621 callstack 0
622
623 ; 1 bytes @ 0xD
624 000055 ds 1
625 000056 lcd_send_4bits@ret:
626 callstack 0
627 000056 gpio_pin_intialize@ret:
628 callstack 0
629 000056 lcd_8bit_send_command@lcd:
630 callstack 0
631 000056 lcd_8bit_send_char_data@lcd:
632 callstack 0
633
634 ; 2 bytes @ 0xE
635 000056 ds 1
636 000057 lcd_4bit_send_command@lcd:
637 callstack 0
638
639 ; 2 bytes @ 0xF
640 000057 ds 1
641 000058 lcd_8bit_send_command@command:
642 callstack 0
643 000058 lcd_8bit_send_char_data@data:
644 callstack 0
645
646 ; 1 bytes @ 0x10
647 000058 ds 1
648 000059 ??_lcd_8bit_send_command:
649 000059 ??_lcd_8bit_send_char_data:
650 000059 lcd_4bit_send_command@command:
651 callstack 0
652
653 ; 1 bytes @ 0x11
654 000059 ds 1
655 00005A lcd_4bit_send_command@ret:
656 callstack 0
657
658 ; 1 bytes @ 0x12
659 00005A ds 1
660 00005B lcd_4bit_intialize@lcd:
661 callstack 0
662
663 ; 2 bytes @ 0x13
664 00005B ds 2
665 00005D ??_lcd_4bit_intialize:
666 00005D lcd_8bit_send_command@ret:
667 callstack 0
668 00005D lcd_8bit_send_char_data@ret:
669 callstack 0
670
671 ; 1 bytes @ 0x15
672 00005D ds 1
673 00005E lcd_8bit_send_command@l_pin_counter:
674 callstack 0
675 00005E lcd_8bit_send_char_data@l_pin_counter:
676 callstack 0
677
678 ; 1 bytes @ 0x16
679 00005E ds 1
680 00005F lcd_4bit_intialize@l_data_pins_counter:
681 callstack 0
682 00005F lcd_8bit_intialize@lcd:
683 callstack 0
684 00005F lcd_8bit_set_cursor@lcd:
685 callstack 0
686
687 ; 2 bytes @ 0x17
688 00005F ds 1
689 000060 lcd_4bit_intialize@ret:
690 callstack 0
691
692 ; 1 bytes @ 0x18
693 000060 ds 1
694 000061 ??_lcd_8bit_intialize:
695 000061 lcd_8bit_set_cursor@row:
696 callstack 0
697
698 ; 1 bytes @ 0x19
699 000061 ds 1
700 000062 lcd_8bit_set_cursor@coulmn:
701 callstack 0
702
703 ; 1 bytes @ 0x1A
704 000062 ds 1
705 000063 ??_lcd_8bit_set_cursor:
706 000063 lcd_8bit_intialize@l_data_pins_counter:
707 callstack 0
708
709 ; 1 bytes @ 0x1B
710 000063 ds 1
711 000064 lcd_8bit_intialize@ret:
712 callstack 0
713
714 ; 1 bytes @ 0x1C
715 000064 ds 1
716 000065 lcd_8bit_set_cursor@ret:
717 callstack 0
718
719 ; 1 bytes @ 0x1D
720 000065 ds 1
721 000066 lcd_8bit_send_char_data_pos@lcd:
722 callstack 0
723
724 ; 2 bytes @ 0x1E
725 000066 ds 2
726 000068 lcd_8bit_send_char_data_pos@row:
727 callstack 0
728
729 ; 1 bytes @ 0x20
730 000068 ds 1
731 000069 lcd_8bit_send_char_data_pos@column:
732 callstack 0
733
734 ; 1 bytes @ 0x21
735 000069 ds 1
736 00006A lcd_8bit_send_char_data_pos@data:
737 callstack 0
738
739 ; 1 bytes @ 0x22
740 00006A ds 1
741 00006B lcd_8bit_send_char_data_pos@ret:
742 callstack 0
743
744 ; 1 bytes @ 0x23
745 00006B ds 1
746 00006C lcd_8bit_send_custom_char@lcd:
747 callstack 0
748
749 ; 2 bytes @ 0x24
750 00006C ds 2
751 00006E lcd_8bit_send_custom_char@row:
752 callstack 0
753
754 ; 1 bytes @ 0x26
755 00006E ds 1
756 00006F lcd_8bit_send_custom_char@column:
757 callstack 0
758
759 ; 1 bytes @ 0x27
760 00006F ds 1
761 000070 lcd_8bit_send_custom_char@_chr:
762 callstack 0
763
764 ; 2 bytes @ 0x28
765 000070 ds 2
766 000072 lcd_8bit_send_custom_char@mem_pos:
767 callstack 0
768
769 ; 1 bytes @ 0x2A
770 000072 ds 1
771 000073 ??_lcd_8bit_send_custom_char:
772
773 ; 1 bytes @ 0x2B
774 000073 ds 2
775 000075 lcd_8bit_send_custom_char@ret:
776 callstack 0
777
778 ; 1 bytes @ 0x2D
779 000075 ds 1
780 000076 lcd_8bit_send_custom_char@lcd_counter:
781 callstack 0
782
783 ; 1 bytes @ 0x2E
784 000076 ds 1
785 000077 ??_main:
786
787 ; 1 bytes @ 0x2F
788 000077 ds 2
789
790 ;;
791 ;;Main: autosize = 0, tempsize = 2, incstack = 0, save=0
792 ;;
793 ;; *************** function _main *****************
794 ;; Defined at:
795 ;; line 26 in file "application.c"
796 ;; Parameters: Size Location Type
797 ;; None
798 ;; Auto vars: Size Location Type
799 ;; ret 1 0 unsigned char
800 ;; Return value: Size Location Type
801 ;; 2 1583[None ] int
802 ;; Registers used:
803 ;; wreg, fsr2l, fsr2h, status,2, status,0, tblptrl, tblptrh, tblptru, prodl, prodh, cstack
804 ;; Tracked objects:
805 ;; On entry : 0/0
806 ;; On exit : 0/0
807 ;; Unchanged: 0/0
808 ;; Data sizes: COMRAM BANK0 BANK1 BANK2 BANK3 BANK4 BANK5 BANK6 BANK7 BANK8 BANK9 BANK10 BANK1
+1 BANK12 BANK13 BANK14 BANK15
809 ;; Params: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
810 ;; Locals: 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
811 ;; Temps: 2 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
812 ;; Totals: 2 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0
813 ;;Total ram usage: 2 bytes
814 ;; Hardware stack levels required when called: 8
815 ;; This function calls:
816 ;; _application_intialize
817 ;; _lcd_8bit_send_custom_char
818 ;; This function is called by:
819 ;; Startup code after reset
820 ;; This function uses a non-reentrant model
821 ;;
822
823 psect text0
824 00142C __ptext0:
825 callstack 0
826 00142C _main:
827 callstack 23
828 00142C
829 ;application.c: 29: application_intialize();
830 00142C ECEC F00F call _application_intialize ;wreg free
831 001430 l5855:
832 001430 0E9E movlw low _lcd_2
833 001432 6E6C movwf lcd_8bit_send_custom_char@lcd^0,c
834 001434 0E00 movlw high _lcd_2
835 001436 6E6D movwf (lcd_8bit_send_custom_char@lcd+1)^0,c
836 001438 0E01 movlw 1
837 00143A 6E6E movwf lcd_8bit_send_custom_char@row^0,c
838 00143C 0E14 movlw 20
839 00143E 6E6F movwf lcd_8bit_send_custom_char@column^0,c
840 001440 0E39 movlw low _customChar1
841 001442 6E70 movwf lcd_8bit_send_custom_char@_chr^0,c
842 001444 0E10 movlw high _customChar1
843 001446 6E71 movwf (lcd_8bit_send_custom_char@_chr+1)^0,c
844 001448 0E00 movlw 0
845 00144A 6E72 movwf lcd_8bit_send_custom_char@mem_pos^0,c
846 00144C EC78 F00D call _lcd_8bit_send_custom_char ;wreg free
847 001450
848 ;application.c: 34: _delay((unsigned long)((200)*(8000000UL/4000.0)));
849 001450 0E03 movlw 3
850 001452 6E78 movwf (??_main+1)^0,c
851 001454 0E08 movlw 8
852 001456 6E77 movwf ??_main^0,c
853 001458 0E77 movlw 119
854 00145A u4147:
855 00145A 2EE8 decfsz wreg,f,c
856 00145C D7FE bra u4147
857 00145E 2E77 decfsz ??_main^0,f,c
858 001460 D7FC bra u4147
859 001462 2E78 decfsz (??_main+1)^0,f,c
860 001464 D7FA bra u4147
861 001466 F000 nop
862 001468 0E9E movlw low _lcd_2
863 00146A 6E6C movwf lcd_8bit_send_custom_char@lcd^0,c
864 00146C 0E00 movlw high _lcd_2
865 00146E 6E6D movwf (lcd_8bit_send_custom_char@lcd+1)^0,c
866 001470 0E01 movlw 1
867 001472 6E6E movwf lcd_8bit_send_custom_char@row^0,c
868 001474 0E14 movlw 20
869 001476 6E6F movwf lcd_8bit_send_custom_char@column^0,c
870 001478 0E31 movlw low _customChar2
871 00147A 6E70 movwf lcd_8bit_send_custom_char@_chr^0,c
872 00147C 0E10 movlw high _customChar2
873 00147E 6E71 movwf (lcd_8bit_send_custom_char@_chr+1)^0,c
874 001480 0E00 movlw 0
875 001482 6E72 movwf lcd_8bit_send_custom_char@mem_pos^0,c
876 001484 EC78 F00D call _lcd_8bit_send_custom_char ;wreg free
877 001488
878 ;application.c: 36: _delay((unsigned long)((200)*(8000000UL/4000.0)));
879 001488 0E03 movlw 3
880 00148A 6E78 movwf (??_main+1)^0,c
881 00148C 0E08 movlw 8
882 00148E 6E77 movwf ??_main^0,c
883 001490 0E77 movlw 119
884 001492 u4157:
885 001492 2EE8 decfsz wreg,f,c
886 001494 D7FE bra u4157
887 001496 2E77 decfsz ??_main^0,f,c
888 001498 D7FC bra u4157
889 00149A 2E78 decfsz (??_main+1)^0,f,c
890 00149C D7FA bra u4157
891 00149E F000 nop
892 0014A0 0E9E movlw low _lcd_2
893 0014A2 6E6C movwf lcd_8bit_send_custom_char@lcd^0,c
894 0014A4 0E00 movlw high _lcd_2
895 0014A6 6E6D movwf (lcd_8bit_send_custom_char@lcd+1)^0,c
896 0014A8 0E01 movlw 1
897 0014AA 6E6E movwf lcd_8bit_send_custom_char@row^0,c
898 0014AC 0E14 movlw 20
899 0014AE 6E6F movwf lcd_8bit_send_custom_char@column^0,c
900 0014B0 0E29 movlw low _customChar3
901 0014B2 6E70 movwf lcd_8bit_send_custom_char@_chr^0,c
902 0014B4 0E10 movlw high _customChar3
903 0014B6 6E71 movwf (lcd_8bit_send_custom_char@_chr+1)^0,c
904 0014B8 0E00 movlw 0
905 0014BA 6E72 movwf lcd_8bit_send_custom_char@mem_pos^0,c
906 0014BC EC78 F00D call _lcd_8bit_send_custom_char ;wreg free
907 0014C0
908 ;application.c: 38: _delay((unsigned long)((200)*(8000000UL/4000.0)));
909 0014C0 0E03 movlw 3
910 0014C2 6E78 movwf (??_main+1)^0,c
911 0014C4 0E08 movlw 8
912 0014C6 6E77 movwf ??_main^0,c
913 0014C8 0E77 movlw 119
914 0014CA u4167:
915 0014CA 2EE8 decfsz wreg,f,c
916 0014CC D7FE bra u4167
917 0014CE 2E77 decfsz ??_main^0,f,c
918 0014D0 D7FC bra u4167
919 0014D2 2E78 decfsz (??_main+1)^0,f,c
920 0014D4 D7FA bra u4167
921 0014D6 F000 nop
922 0014D8 0E9E movlw low _lcd_2
923 0014DA 6E6C movwf lcd_8bit_send_custom_char@lcd^0,c
924 0014DC 0E00 movlw high _lcd_2
925 0014DE 6E6D movwf (lcd_8bit_send_custom_char@lcd+1)^0,c
926 0014E0 0E01 movlw 1
927 0014E2 6E6E movwf lcd_8bit_send_custom_char@row^0,c
928 0014E4 0E14 movlw 20
929 0014E6 6E6F movwf lcd_8bit_send_custom_char@column^0,c
930 0014E8 0E21 movlw low _customChar4
931 0014EA 6E70 movwf lcd_8bit_send_custom_char@_chr^0,c
932 0014EC 0E10 movlw high _customChar4
933 0014EE 6E71 movwf (lcd_8bit_send_custom_char@_chr+1)^0,c
934 0014F0 0E00 movlw 0
935 0014F2 6E72 movwf lcd_8bit_send_custom_char@mem_pos^0,c
936 0014F4 EC78 F00D call _lcd_8bit_send_custom_char ;wreg free
937 0014F8
938 ;application.c: 40: _delay((unsigned long)((200)*(8000000UL/4000.0)));
939 0014F8 0E03 movlw 3
940 0014FA 6E78 movwf (??_main+1)^0,c
941 0014FC 0E08 movlw 8
942 0014FE 6E77 movwf ??_main^0,c
943 001500 0E77 movlw 119
944 001502 u4177:
945 001502 2EE8 decfsz wreg,f,c
946 001504 D7FE bra u4177
947 001506 2E77 decfsz ??_main^0,f,c
948 001508 D7FC bra u4177
949 00150A 2E78 decfsz (??_main+1)^0,f,c
950 00150C D7FA bra u4177
951 00150E F000 nop
952 001510 0E9E movlw low _lcd_2
953 001512 6E6C movwf lcd_8bit_send_custom_char@lcd^0,c
954 001514 0E00 movlw high _lcd_2
955 001516 6E6D movwf (lcd_8bit_send_custom_char@lcd+1)^0,c
956 001518 0E01 movlw 1
957 00151A 6E6E movwf lcd_8bit_send_custom_char@row^0,c
958 00151C 0E14 movlw 20
959 00151E 6E6F movwf lcd_8bit_send_custom_char@column^0,c
960 001520 0E19 movlw low _customChar5
961 001522 6E70 movwf lcd_8bit_send_custom_char@_chr^0,c
962 001524 0E10 movlw high _customChar5
963 001526 6E71 movwf (lcd_8bit_send_custom_char@_chr+1)^0,c
964 001528 0E00 movlw 0
965 00152A 6E72 movwf lcd_8bit_send_custom_char@mem_pos^0,c
966 00152C EC78 F00D call _lcd_8bit_send_custom_char ;wreg free
967 001530
968 ;application.c: 42: _delay((unsigned long)((200)*(8000000UL/4000.0)));
969 001530 0E03 movlw 3
970 001532 6E78 movwf (??_main+1)^0,c
971 001534 0E08 movlw 8
972 001536 6E77 movwf ??_main^0,c
973 001538 0E77 movlw 119
974 00153A u4187:
975 00153A 2EE8 decfsz wreg,f,c
976 00153C D7FE bra u4187
977 00153E 2E77 decfsz ??_main^0,f,c
978 001540 D7FC bra u4187
979 001542 2E78 decfsz (??_main+1)^0,f,c
980 001544 D7FA bra u4187
981 001546 F000 nop