-
Notifications
You must be signed in to change notification settings - Fork 3
/
unit02_04_customChar.lst
712 lines (711 loc) · 25.6 KB
/
unit02_04_customChar.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
; LST file generated by mikroListExporter - v.2.0
; Date/Time: 29/10/2019 03:12:57 PM
;----------------------------------------------
;Address Opcode ASM
0x0000 0xF001EF44 GOTO 648
0x0004 0x0000 NOP
0x0006 0x0000 NOP
0x0008 0xF000EF00 GOTO 0
0x000C 0x0000 NOP
0x000E 0x0000 NOP
0x0010 0x0000 NOP
0x0012 0x0000 NOP
0x0014 0x0000 NOP
0x0016 0x0000 NOP
0x0018 0xD7F3 BRA 0
_Delay_50us:
;__Lib_Delays.c,19 :: void Delay_50us() {
;__Lib_Delays.c,20 :: Delay_us(50);
0x001C 0x0E21 MOVLW 33
0x001E 0x6E0D MOVWF R13, 0
L_Delay_50us2:
0x0020 0x2E0D DECFSZ R13, 1, 0
0x0022 0xD7FE BRA L_Delay_50us2
;__Lib_Delays.c,21 :: }
L_end_Delay_50us:
0x0024 0x0012 RETURN 0
; end of _Delay_50us
_Delay_5500us:
;__Lib_Delays.c,31 :: void Delay_5500us() {
;__Lib_Delays.c,32 :: Delay_us(5500);
0x0026 0x0E0F MOVLW 15
0x0028 0x6E0C MOVWF R12, 0
0x002A 0x0E47 MOVLW 71
0x002C 0x6E0D MOVWF R13, 0
L_Delay_5500us5:
0x002E 0x2E0D DECFSZ R13, 1, 0
0x0030 0xD7FE BRA L_Delay_5500us5
0x0032 0x2E0C DECFSZ R12, 1, 0
0x0034 0xD7FC BRA L_Delay_5500us5
0x0036 0x0000 NOP
0x0038 0x0000 NOP
;__Lib_Delays.c,33 :: }
L_end_Delay_5500us:
0x003A 0x0012 RETURN 0
; end of _Delay_5500us
_Delay_1us:
;__Lib_Delays.c,7 :: void Delay_1us() {
;__Lib_Delays.c,8 :: Delay_us(1);
0x003C 0x0000 NOP
0x003E 0x0000 NOP
;__Lib_Delays.c,9 :: }
L_end_Delay_1us:
0x0040 0x0012 RETURN 0
; end of _Delay_1us
_Lcd_Cmd:
;__Lib_Lcd.c,18 ::
;__Lib_Lcd.c,20 ::
0x0042 0xBE2A BTFSC FARG_Lcd_Cmd_out_char, 7
0x0044 0xD002 BRA L__Lcd_Cmd21
0x0046 0x9E8C BCF LCD_D7, BitPos(LCD_D7+0)
0x0048 0xD001 BRA L__Lcd_Cmd22
L__Lcd_Cmd21:
0x004A 0x8E8C BSF LCD_D7, BitPos(LCD_D7+0)
L__Lcd_Cmd22:
;__Lib_Lcd.c,21 ::
0x004C 0xBC2A BTFSC FARG_Lcd_Cmd_out_char, 6
0x004E 0xD002 BRA L__Lcd_Cmd23
0x0050 0x9C8C BCF LCD_D6, BitPos(LCD_D6+0)
0x0052 0xD001 BRA L__Lcd_Cmd24
L__Lcd_Cmd23:
0x0054 0x8C8C BSF LCD_D6, BitPos(LCD_D6+0)
L__Lcd_Cmd24:
;__Lib_Lcd.c,22 ::
0x0056 0xBA2A BTFSC FARG_Lcd_Cmd_out_char, 5
0x0058 0xD002 BRA L__Lcd_Cmd25
0x005A 0x9A8C BCF LCD_D5, BitPos(LCD_D5+0)
0x005C 0xD001 BRA L__Lcd_Cmd26
L__Lcd_Cmd25:
0x005E 0x8A8C BSF LCD_D5, BitPos(LCD_D5+0)
L__Lcd_Cmd26:
;__Lib_Lcd.c,23 ::
0x0060 0xB82A BTFSC FARG_Lcd_Cmd_out_char, 4
0x0062 0xD002 BRA L__Lcd_Cmd27
0x0064 0x988C BCF LCD_D4, BitPos(LCD_D4+0)
0x0066 0xD001 BRA L__Lcd_Cmd28
L__Lcd_Cmd27:
0x0068 0x888C BSF LCD_D4, BitPos(LCD_D4+0)
L__Lcd_Cmd28:
;__Lib_Lcd.c,25 ::
0x006A 0xB021 BTFSC __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0)
0x006C 0xD002 BRA L__Lcd_Cmd29
0x006E 0x848D BSF LCD_RS, BitPos(LCD_RS+0)
0x0070 0xD001 BRA L__Lcd_Cmd30
L__Lcd_Cmd29:
0x0072 0x948D BCF LCD_RS, BitPos(LCD_RS+0)
L__Lcd_Cmd30:
;__Lib_Lcd.c,28 ::
0x0074 0x828D BSF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,29 ::
0x0076 0xDFE2 RCALL _Delay_1us
;__Lib_Lcd.c,30 ::
0x0078 0x928D BCF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,33 ::
0x007A 0xB62A BTFSC FARG_Lcd_Cmd_out_char, 3
0x007C 0xD002 BRA L__Lcd_Cmd31
0x007E 0x9E8C BCF LCD_D7, BitPos(LCD_D7+0)
0x0080 0xD001 BRA L__Lcd_Cmd32
L__Lcd_Cmd31:
0x0082 0x8E8C BSF LCD_D7, BitPos(LCD_D7+0)
L__Lcd_Cmd32:
;__Lib_Lcd.c,34 ::
0x0084 0xB42A BTFSC FARG_Lcd_Cmd_out_char, 2
0x0086 0xD002 BRA L__Lcd_Cmd33
0x0088 0x9C8C BCF LCD_D6, BitPos(LCD_D6+0)
0x008A 0xD001 BRA L__Lcd_Cmd34
L__Lcd_Cmd33:
0x008C 0x8C8C BSF LCD_D6, BitPos(LCD_D6+0)
L__Lcd_Cmd34:
;__Lib_Lcd.c,35 ::
0x008E 0xB22A BTFSC FARG_Lcd_Cmd_out_char, 1
0x0090 0xD002 BRA L__Lcd_Cmd35
0x0092 0x9A8C BCF LCD_D5, BitPos(LCD_D5+0)
0x0094 0xD001 BRA L__Lcd_Cmd36
L__Lcd_Cmd35:
0x0096 0x8A8C BSF LCD_D5, BitPos(LCD_D5+0)
L__Lcd_Cmd36:
;__Lib_Lcd.c,36 ::
0x0098 0xB02A BTFSC FARG_Lcd_Cmd_out_char, 0
0x009A 0xD002 BRA L__Lcd_Cmd37
0x009C 0x988C BCF LCD_D4, BitPos(LCD_D4+0)
0x009E 0xD001 BRA L__Lcd_Cmd38
L__Lcd_Cmd37:
0x00A0 0x888C BSF LCD_D4, BitPos(LCD_D4+0)
L__Lcd_Cmd38:
;__Lib_Lcd.c,38 ::
0x00A2 0xB021 BTFSC __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0)
0x00A4 0xD002 BRA L__Lcd_Cmd39
0x00A6 0x848D BSF LCD_RS, BitPos(LCD_RS+0)
0x00A8 0xD001 BRA L__Lcd_Cmd40
L__Lcd_Cmd39:
0x00AA 0x948D BCF LCD_RS, BitPos(LCD_RS+0)
L__Lcd_Cmd40:
;__Lib_Lcd.c,40 ::
0x00AC 0x828D BSF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,41 ::
0x00AE 0xDFC6 RCALL _Delay_1us
;__Lib_Lcd.c,42 ::
0x00B0 0x928D BCF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,44 ::
0x00B2 0xA021 BTFSS __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0)
0x00B4 0xD002 BRA L_Lcd_Cmd0
;__Lib_Lcd.c,45 ::
0x00B6 0xDFB7 RCALL _Delay_5500us
0x00B8 0xD001 BRA L_Lcd_Cmd1
L_Lcd_Cmd0:
;__Lib_Lcd.c,47 ::
0x00BA 0xDFB0 RCALL _Delay_50us
L_Lcd_Cmd1:
;__Lib_Lcd.c,48 ::
L_end_Lcd_Cmd:
0x00BC 0x0012 RETURN 0
; end of _Lcd_Cmd
_Lcd_Chr:
;__Lib_Lcd.c,65 ::
;__Lib_Lcd.c,66 ::
0x00BE 0xD00F BRA L_Lcd_Chr4
;__Lib_Lcd.c,67 ::
L_Lcd_Chr6:
0x00C0 0x0E80 MOVLW 128
0x00C2 0x6E27 MOVWF FARG_Lcd_Chr_row
0x00C4 0xD019 BRA L_Lcd_Chr5
;__Lib_Lcd.c,68 ::
L_Lcd_Chr7:
0x00C6 0x0EC0 MOVLW 192
0x00C8 0x6E27 MOVWF FARG_Lcd_Chr_row
0x00CA 0xD016 BRA L_Lcd_Chr5
;__Lib_Lcd.c,69 ::
L_Lcd_Chr8:
0x00CC 0x0E94 MOVLW 148
0x00CE 0x6E27 MOVWF FARG_Lcd_Chr_row
0x00D0 0xD013 BRA L_Lcd_Chr5
;__Lib_Lcd.c,70 ::
L_Lcd_Chr9:
0x00D2 0x0ED4 MOVLW 212
0x00D4 0x6E27 MOVWF FARG_Lcd_Chr_row
0x00D6 0xD010 BRA L_Lcd_Chr5
;__Lib_Lcd.c,71 ::
L_Lcd_Chr10:
0x00D8 0x0E80 MOVLW 128
0x00DA 0x6E27 MOVWF FARG_Lcd_Chr_row
;__Lib_Lcd.c,72 ::
0x00DC 0xD00D BRA L_Lcd_Chr5
L_Lcd_Chr4:
0x00DE 0x5027 MOVF FARG_Lcd_Chr_row, 0
0x00E0 0x0A01 XORLW 1
0x00E2 0xE0EE BZ L_Lcd_Chr6
0x00E4 0x5027 MOVF FARG_Lcd_Chr_row, 0
0x00E6 0x0A02 XORLW 2
0x00E8 0xE0EE BZ L_Lcd_Chr7
0x00EA 0x5027 MOVF FARG_Lcd_Chr_row, 0
0x00EC 0x0A03 XORLW 3
0x00EE 0xE0EE BZ L_Lcd_Chr8
0x00F0 0x5027 MOVF FARG_Lcd_Chr_row, 0
0x00F2 0x0A04 XORLW 4
0x00F4 0xE0EE BZ L_Lcd_Chr9
0x00F6 0xD7F0 BRA L_Lcd_Chr10
L_Lcd_Chr5:
;__Lib_Lcd.c,74 ::
0x00F8 0x0428 DECF FARG_Lcd_Chr_column, 0
0x00FA 0x6E00 MOVWF R0
0x00FC 0x5027 MOVF FARG_Lcd_Chr_row, 0
0x00FE 0x2600 ADDWF R0, 1
0x0100 0xF027C000 MOVFF R0, FARG_Lcd_Chr_row
;__Lib_Lcd.c,76 ::
0x0104 0x8021 BSF __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0)
;__Lib_Lcd.c,77 ::
0x0106 0xF02AC000 MOVFF R0, FARG_Lcd_Cmd_out_char
0x010A 0xDF9B RCALL _Lcd_Cmd
;__Lib_Lcd.c,79 ::
0x010C 0x9021 BCF __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0)
;__Lib_Lcd.c,80 ::
0x010E 0xF02AC029 MOVFF FARG_Lcd_Chr_out_char, FARG_Lcd_Cmd_out_char
0x0112 0xDF97 RCALL _Lcd_Cmd
;__Lib_Lcd.c,81 ::
0x0114 0x8021 BSF __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0)
;__Lib_Lcd.c,82 ::
L_end_Lcd_Chr:
0x0116 0x0012 RETURN 0
; end of _Lcd_Chr
_Lcd_Chr_CP:
;__Lib_Lcd.c,50 ::
;__Lib_Lcd.c,52 ::
0x0118 0x9021 BCF __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0)
;__Lib_Lcd.c,53 ::
0x011A 0xF02AC027 MOVFF FARG_Lcd_Chr_CP_out_char, FARG_Lcd_Cmd_out_char
0x011E 0xDF91 RCALL _Lcd_Cmd
;__Lib_Lcd.c,54 ::
0x0120 0x8021 BSF __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0)
;__Lib_Lcd.c,55 ::
L_end_Lcd_Chr_CP:
0x0122 0x0012 RETURN 0
; end of _Lcd_Chr_CP
_Lcd_Init:
;__Lib_Lcd.c,84 ::
;__Lib_Lcd.c,86 ::
0x0124 0x9296 BCF LCD_EN_Direction, BitPos(LCD_EN_Direction+0)
;__Lib_Lcd.c,87 ::
0x0126 0x9496 BCF LCD_RS_Direction, BitPos(LCD_RS_Direction+0)
;__Lib_Lcd.c,88 ::
0x0128 0x9895 BCF LCD_D4_Direction, BitPos(LCD_D4_Direction+0)
;__Lib_Lcd.c,89 ::
0x012A 0x9A95 BCF LCD_D5_Direction, BitPos(LCD_D5_Direction+0)
;__Lib_Lcd.c,90 ::
0x012C 0x9C95 BCF LCD_D6_Direction, BitPos(LCD_D6_Direction+0)
;__Lib_Lcd.c,91 ::
0x012E 0x9E95 BCF LCD_D7_Direction, BitPos(LCD_D7_Direction+0)
;__Lib_Lcd.c,93 ::
0x0130 0x928D BCF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,94 ::
0x0132 0x948D BCF LCD_RS, BitPos(LCD_RS+0)
;__Lib_Lcd.c,95 ::
0x0134 0x9E8C BCF LCD_D7, BitPos(LCD_D7+0)
;__Lib_Lcd.c,96 ::
0x0136 0x9C8C BCF LCD_D6, BitPos(LCD_D6+0)
;__Lib_Lcd.c,97 ::
0x0138 0x9A8C BCF LCD_D5, BitPos(LCD_D5+0)
;__Lib_Lcd.c,98 ::
0x013A 0x988C BCF LCD_D4, BitPos(LCD_D4+0)
;__Lib_Lcd.c,100 ::
0x013C 0xDF74 RCALL _Delay_5500us
;__Lib_Lcd.c,101 ::
0x013E 0xDF73 RCALL _Delay_5500us
;__Lib_Lcd.c,102 ::
0x0140 0xDF72 RCALL _Delay_5500us
;__Lib_Lcd.c,105 ::
0x0142 0x8A8C BSF LCD_D5, BitPos(LCD_D5+0)
;__Lib_Lcd.c,106 ::
0x0144 0x888C BSF LCD_D4, BitPos(LCD_D4+0)
;__Lib_Lcd.c,107 ::
0x0146 0x828D BSF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,108 ::
0x0148 0xDF79 RCALL _Delay_1us
;__Lib_Lcd.c,109 ::
0x014A 0x928D BCF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,110 ::
0x014C 0xDF6C RCALL _Delay_5500us
;__Lib_Lcd.c,112 ::
0x014E 0x828D BSF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,113 ::
0x0150 0xDF75 RCALL _Delay_1us
;__Lib_Lcd.c,114 ::
0x0152 0x928D BCF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,115 ::
0x0154 0xDF68 RCALL _Delay_5500us
;__Lib_Lcd.c,117 ::
0x0156 0x828D BSF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,118 ::
0x0158 0xDF71 RCALL _Delay_1us
;__Lib_Lcd.c,119 ::
0x015A 0x928D BCF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,120 ::
0x015C 0xDF64 RCALL _Delay_5500us
;__Lib_Lcd.c,123 ::
0x015E 0x988C BCF LCD_D4, BitPos(LCD_D4+0)
;__Lib_Lcd.c,124 ::
0x0160 0x828D BSF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,125 ::
0x0162 0xDF6C RCALL _Delay_1us
;__Lib_Lcd.c,126 ::
0x0164 0x928D BCF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,127 ::
0x0166 0xDF5F RCALL _Delay_5500us
;__Lib_Lcd.c,130 ::
0x0168 0x828D BSF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,131 ::
0x016A 0xDF68 RCALL _Delay_1us
;__Lib_Lcd.c,132 ::
0x016C 0x928D BCF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,134 ::
0x016E 0x9A8C BCF LCD_D5, BitPos(LCD_D5+0)
;__Lib_Lcd.c,135 ::
0x0170 0x8E8C BSF LCD_D7, BitPos(LCD_D7+0)
;__Lib_Lcd.c,136 ::
0x0172 0x828D BSF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,137 ::
0x0174 0xDF63 RCALL _Delay_1us
;__Lib_Lcd.c,138 ::
0x0176 0x928D BCF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,139 ::
0x0178 0xDF56 RCALL _Delay_5500us
;__Lib_Lcd.c,142 ::
0x017A 0x9E8C BCF LCD_D7, BitPos(LCD_D7+0)
;__Lib_Lcd.c,143 ::
0x017C 0x888C BSF LCD_D4, BitPos(LCD_D4+0)
;__Lib_Lcd.c,144 ::
0x017E 0x828D BSF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,145 ::
0x0180 0xDF5D RCALL _Delay_1us
;__Lib_Lcd.c,146 ::
0x0182 0x928D BCF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,148 ::
0x0184 0x988C BCF LCD_D4, BitPos(LCD_D4+0)
;__Lib_Lcd.c,149 ::
0x0186 0x828D BSF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,150 ::
0x0188 0xDF59 RCALL _Delay_1us
;__Lib_Lcd.c,151 ::
0x018A 0x928D BCF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,152 ::
0x018C 0xDF4C RCALL _Delay_5500us
;__Lib_Lcd.c,155 ::
0x018E 0x828D BSF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,156 ::
0x0190 0xDF55 RCALL _Delay_1us
;__Lib_Lcd.c,157 ::
0x0192 0x928D BCF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,159 ::
0x0194 0x888C BSF LCD_D4, BitPos(LCD_D4+0)
;__Lib_Lcd.c,160 ::
0x0196 0x828D BSF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,161 ::
0x0198 0xDF51 RCALL _Delay_1us
;__Lib_Lcd.c,162 ::
0x019A 0x928D BCF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,163 ::
0x019C 0xDF44 RCALL _Delay_5500us
;__Lib_Lcd.c,166 ::
0x019E 0x988C BCF LCD_D4, BitPos(LCD_D4+0)
;__Lib_Lcd.c,167 ::
0x01A0 0x828D BSF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,168 ::
0x01A2 0xDF4C RCALL _Delay_1us
;__Lib_Lcd.c,169 ::
0x01A4 0x928D BCF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,171 ::
0x01A6 0x8E8C BSF LCD_D7, BitPos(LCD_D7+0)
;__Lib_Lcd.c,172 ::
0x01A8 0x8C8C BSF LCD_D6, BitPos(LCD_D6+0)
;__Lib_Lcd.c,173 ::
0x01AA 0x8A8C BSF LCD_D5, BitPos(LCD_D5+0)
;__Lib_Lcd.c,174 ::
0x01AC 0x888C BSF LCD_D4, BitPos(LCD_D4+0)
;__Lib_Lcd.c,175 ::
0x01AE 0x828D BSF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,176 ::
0x01B0 0xDF45 RCALL _Delay_1us
;__Lib_Lcd.c,177 ::
0x01B2 0x928D BCF LCD_EN, BitPos(LCD_EN+0)
;__Lib_Lcd.c,179 ::
0x01B4 0xDF38 RCALL _Delay_5500us
;__Lib_Lcd.c,181 ::
0x01B6 0x8021 BSF __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0)
;__Lib_Lcd.c,182 ::
L_end_Lcd_Init:
0x01B8 0x0012 RETURN 0
; end of _Lcd_Init
___CC2DW:
;__Lib_System.c,21 ::
;__Lib_System.c,23 ::
_CC2DL_Loop1:
;__Lib_System.c,24 ::
0x01BA 0x0009 TBLRD*+
;__Lib_System.c,25 ::
0x01BC 0xFFE6CFF5 MOVFF TABLAT, POSTINC1
;__Lib_System.c,26 ::
0x01C0 0x0600 DECF R0, 1, 0
;__Lib_System.c,27 ::
0x01C2 0xE1FB BNZ _CC2DL_Loop1
;__Lib_System.c,28 ::
0x01C4 0x0601 DECF R1, 1, 0
;__Lib_System.c,29 ::
0x01C6 0xE1F9 BNZ _CC2DL_Loop1
;__Lib_System.c,31 ::
L_end___CC2DW:
0x01C8 0x0012 RETURN 0
; end of ___CC2DW
_CustomChar:
;unit02_04_customChar.c,90 :: void CustomChar(char pos_row, char pos_char) {
;unit02_04_customChar.c,92 :: Lcd_Cmd(64);
0x01CA 0x0E40 MOVLW 64
0x01CC 0x6E2A MOVWF FARG_Lcd_Cmd_out_char
0x01CE 0xDF39 RCALL _Lcd_Cmd
;unit02_04_customChar.c,93 :: for (i = 0; i<=7; i++) Lcd_Chr_CP(character[i]);
0x01D0 0x6A24 CLRF CustomChar_i_L0
L_CustomChar0:
0x01D2 0x5024 MOVF CustomChar_i_L0, 0
0x01D4 0x0807 SUBLW 7
0x01D6 0xE311 BNC L_CustomChar1
0x01D8 0x0EE6 MOVLW _character
0x01DA 0x2424 ADDWF CustomChar_i_L0, 0
0x01DC 0x6EF6 MOVWF TBLPTR
0x01DE 0x0E02 MOVLW hi_addr(_character)
0x01E0 0x6EF7 MOVWF TBLPTR+1
0x01E2 0x0E00 MOVLW 0
0x01E4 0x22F7 ADDWFC TBLPTR+1, 1
0x01E6 0x0E00 MOVLW higher_addr(_character)
0x01E8 0x6EF8 MOVWF TBLPTR+2
0x01EA 0x0E00 MOVLW 0
0x01EC 0x22F8 ADDWFC TBLPTR+2, 1
0x01EE 0x0009 TBLRD*+
0x01F0 0xF027CFF5 MOVFF TABLAT, FARG_Lcd_Chr_CP_out_char
0x01F4 0xDF91 RCALL _Lcd_Chr_CP
0x01F6 0x2A24 INCF CustomChar_i_L0, 1
0x01F8 0xD7EC BRA L_CustomChar0
L_CustomChar1:
;unit02_04_customChar.c,94 :: Lcd_Cmd(_LCD_RETURN_HOME);
0x01FA 0x0E02 MOVLW 2
0x01FC 0x6E2A MOVWF FARG_Lcd_Cmd_out_char
0x01FE 0xDF21 RCALL _Lcd_Cmd
;unit02_04_customChar.c,95 :: Lcd_Chr(pos_row, pos_char, 0);
0x0200 0xF027C022 MOVFF FARG_CustomChar_pos_row, FARG_Lcd_Chr_row
0x0204 0xF028C023 MOVFF FARG_CustomChar_pos_char, FARG_Lcd_Chr_column
0x0208 0x6A29 CLRF FARG_Lcd_Chr_out_char
0x020A 0xDF59 RCALL _Lcd_Chr
;unit02_04_customChar.c,96 :: }
L_end_CustomChar:
0x020C 0x0012 RETURN 0
; end of _CustomChar
_Lcd_Out:
;__Lib_Lcd.c,184 ::
;__Lib_Lcd.c,187 ::
0x020E 0xD00F BRA L_Lcd_Out11
;__Lib_Lcd.c,188 ::
L_Lcd_Out13:
0x0210 0x0E80 MOVLW 128
0x0212 0x6E22 MOVWF FARG_Lcd_Out_row
0x0214 0xD019 BRA L_Lcd_Out12
;__Lib_Lcd.c,189 ::
L_Lcd_Out14:
0x0216 0x0EC0 MOVLW 192
0x0218 0x6E22 MOVWF FARG_Lcd_Out_row
0x021A 0xD016 BRA L_Lcd_Out12
;__Lib_Lcd.c,190 ::
L_Lcd_Out15:
0x021C 0x0E94 MOVLW 148
0x021E 0x6E22 MOVWF FARG_Lcd_Out_row
0x0220 0xD013 BRA L_Lcd_Out12
;__Lib_Lcd.c,191 ::
L_Lcd_Out16:
0x0222 0x0ED4 MOVLW 212
0x0224 0x6E22 MOVWF FARG_Lcd_Out_row
0x0226 0xD010 BRA L_Lcd_Out12
;__Lib_Lcd.c,192 ::
L_Lcd_Out17:
0x0228 0x0E80 MOVLW 128
0x022A 0x6E22 MOVWF FARG_Lcd_Out_row
;__Lib_Lcd.c,193 ::
0x022C 0xD00D BRA L_Lcd_Out12
L_Lcd_Out11:
0x022E 0x5022 MOVF FARG_Lcd_Out_row, 0
0x0230 0x0A01 XORLW 1
0x0232 0xE0EE BZ L_Lcd_Out13
0x0234 0x5022 MOVF FARG_Lcd_Out_row, 0
0x0236 0x0A02 XORLW 2
0x0238 0xE0EE BZ L_Lcd_Out14
0x023A 0x5022 MOVF FARG_Lcd_Out_row, 0
0x023C 0x0A03 XORLW 3
0x023E 0xE0EE BZ L_Lcd_Out15
0x0240 0x5022 MOVF FARG_Lcd_Out_row, 0
0x0242 0x0A04 XORLW 4
0x0244 0xE0EE BZ L_Lcd_Out16
0x0246 0xD7F0 BRA L_Lcd_Out17
L_Lcd_Out12:
;__Lib_Lcd.c,194 ::
0x0248 0x0423 DECF FARG_Lcd_Out_column, 0
0x024A 0x6E00 MOVWF R0
0x024C 0x5022 MOVF FARG_Lcd_Out_row, 0
0x024E 0x2600 ADDWF R0, 1
0x0250 0xF022C000 MOVFF R0, FARG_Lcd_Out_row
;__Lib_Lcd.c,196 ::
0x0254 0xF02AC000 MOVFF R0, FARG_Lcd_Cmd_out_char
0x0258 0xDEF4 RCALL _Lcd_Cmd
;__Lib_Lcd.c,197 ::
0x025A 0x9021 BCF __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0)
;__Lib_Lcd.c,198 ::
0x025C 0x6A26 CLRF Lcd_Out_i_L0
;__Lib_Lcd.c,199 ::
L_Lcd_Out18:
0x025E 0x5026 MOVF Lcd_Out_i_L0, 0
0x0260 0x2424 ADDWF FARG_Lcd_Out_text, 0
0x0262 0x6EE9 MOVWF FSR0L
0x0264 0x0E00 MOVLW 0
0x0266 0x2025 ADDWFC FARG_Lcd_Out_text+1, 0
0x0268 0x6EEA MOVWF FSR0L+1
0x026A 0x52EE MOVF POSTINC0, 1
0x026C 0xE00B BZ L_Lcd_Out19
;__Lib_Lcd.c,200 ::
0x026E 0x5026 MOVF Lcd_Out_i_L0, 0
0x0270 0x2424 ADDWF FARG_Lcd_Out_text, 0
0x0272 0x6EE9 MOVWF FSR0L
0x0274 0x0E00 MOVLW 0
0x0276 0x2025 ADDWFC FARG_Lcd_Out_text+1, 0
0x0278 0x6EEA MOVWF FSR0L+1
0x027A 0xF027CFEE MOVFF POSTINC0, FARG_Lcd_Chr_CP_out_char
0x027E 0xDF4C RCALL _Lcd_Chr_CP
0x0280 0x2A26 INCF Lcd_Out_i_L0, 1
0x0282 0xD7ED BRA L_Lcd_Out18
L_Lcd_Out19:
;__Lib_Lcd.c,201 ::
0x0284 0x8021 BSF __Lib_Lcd_cmd_status, BitPos(__Lib_Lcd_cmd_status+0)
;__Lib_Lcd.c,202 ::
L_end_Lcd_Out:
0x0286 0x0012 RETURN 0
; end of _Lcd_Out
_main:
0x0288 0x0E52 MOVLW 82
0x028A 0x6E15 MOVWF ?lstr1_unit02_04_customChar
0x028C 0x0E69 MOVLW 105
0x028E 0x6E16 MOVWF 22
0x0290 0x0E67 MOVLW 103
0x0292 0x6E17 MOVWF 23
0x0294 0x0E68 MOVLW 104
0x0296 0x6E18 MOVWF 24
0x0298 0x0E74 MOVLW 116
0x029A 0x6E19 MOVWF 25
0x029C 0x0E20 MOVLW 32
0x029E 0x6E1A MOVWF 26
0x02A0 0x0E61 MOVLW 97
0x02A2 0x6E1B MOVWF 27
0x02A4 0x0E72 MOVLW 114
0x02A6 0x6E1C MOVWF 28
0x02A8 0x0E72 MOVLW 114
0x02AA 0x6E1D MOVWF 29
0x02AC 0x0E6F MOVLW 111
0x02AE 0x6E1E MOVWF 30
0x02B0 0x0E77 MOVLW 119
0x02B2 0x6E1F MOVWF 31
0x02B4 0x6A20 CLRF 32
;unit02_04_customChar.c,98 :: void main(){
;unit02_04_customChar.c,103 :: ADCON1 |= 0X0F; // Config all ADC's pins as digital
0x02B6 0x0E0F MOVLW 15
0x02B8 0x12C1 IORWF ADCON1, 1
;unit02_04_customChar.c,106 :: Lcd_Init(); // Initialize LCD
0x02BA 0xDF34 RCALL _Lcd_Init
;unit02_04_customChar.c,108 :: Lcd_Cmd(_LCD_CLEAR); // Clear display
0x02BC 0x0E01 MOVLW 1
0x02BE 0x6E2A MOVWF FARG_Lcd_Cmd_out_char
0x02C0 0xDEC0 RCALL _Lcd_Cmd
;unit02_04_customChar.c,109 :: Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
0x02C2 0x0E0C MOVLW 12
0x02C4 0x6E2A MOVWF FARG_Lcd_Cmd_out_char
0x02C6 0xDEBD RCALL _Lcd_Cmd
;unit02_04_customChar.c,111 :: Lcd_Out(1,1,"Right arrow"); // Write text in first row
0x02C8 0x0E01 MOVLW 1
0x02CA 0x6E22 MOVWF FARG_Lcd_Out_row
0x02CC 0x0E01 MOVLW 1
0x02CE 0x6E23 MOVWF FARG_Lcd_Out_column
0x02D0 0x0E15 MOVLW ?lstr1_unit02_04_customChar
0x02D2 0x6E24 MOVWF FARG_Lcd_Out_text
0x02D4 0x0E00 MOVLW hi_addr(?lstr1_unit02_04_customChar)
0x02D6 0x6E25 MOVWF FARG_Lcd_Out_text+1
0x02D8 0xDF9A RCALL _Lcd_Out
;unit02_04_customChar.c,112 :: CustomChar(1, 13); // Display the "right arrow" symbol
0x02DA 0x0E01 MOVLW 1
0x02DC 0x6E22 MOVWF FARG_CustomChar_pos_row
0x02DE 0x0E0D MOVLW 13
0x02E0 0x6E23 MOVWF FARG_CustomChar_pos_char
0x02E2 0xDF73 RCALL _CustomChar
;unit02_04_customChar.c,114 :: }
L_end_main:
0x02E4 0xD7FF BRA $+0
; end of _main
;unit02_04_customChar.c,88 :: _character
0x02E6 0x0000 ;_character+0
0x02E8 0x0204 ;_character+2
0x02EA 0x021F ;_character+4
0x02EC 0x0004 ;_character+6
; end of _character
Symbol List:
//** Routines locations **
//ADDRESS SIZE PROCEDURE
//----------------------------------------------
0x001C [10] _Delay_50us
0x0026 [22] _Delay_5500us
0x003C [6] _Delay_1us
0x0042 [124] _Lcd_Cmd
0x00BE [90] _Lcd_Chr
0x0118 [12] _Lcd_Chr_CP
0x0124 [150] _Lcd_Init
0x01BA [16] ___CC2DW
0x01CA [68] _CustomChar
0x020E [122] _Lcd_Out
0x0288 [94] _main
//** Variables locations **
//ADDRESS SIZE VARIABLE
//----------------------------------------------
0x0000 [1] R0
0x0001 [1] R1
0x0002 [1] R2
0x0003 [1] R3
0x0004 [1] R4
0x0005 [1] R5
0x0006 [1] R6
0x0007 [1] R7
0x0008 [1] R8
0x0009 [1] R9
0x000A [1] R10
0x000B [1] R11
0x000C [1] R12
0x000D [1] R13
0x000E [1] R14
0x000F [1] R15
0x0010 [1] R16
0x0011 [1] R17
0x0012 [1] R18
0x0013 [1] R19
0x0014 [1] R20
0x0015 [12] ?lstr1_unit02_04_customChar
0x0021 [0] __Lib_Lcd_cmd_status
0x0022 [1] FARG_Lcd_Out_row
0x0022 [1] FARG_CustomChar_pos_row
0x0023 [1] FARG_CustomChar_pos_char
0x0023 [1] FARG_Lcd_Out_column
0x0024 [2] FARG_Lcd_Out_text
0x0024 [1] CustomChar_i_L0
0x0026 [1] Lcd_Out_i_L0
0x0027 [1] FARG_Lcd_Chr_CP_out_char
0x0027 [1] FARG_Lcd_Chr_row
0x0028 [1] FARG_Lcd_Chr_column
0x0029 [1] FARG_Lcd_Chr_out_char
0x002A [1] FARG_Lcd_Cmd_out_char
0x0F8C [0] LCD_D6
0x0F8C [0] LCD_D7
0x0F8C [0] LATD6_bit
0x0F8C [0] LCD_D5
0x0F8C [0] LATD7_bit
0x0F8C [0] LATD5_bit
0x0F8C [0] LATD4_bit
0x0F8C [0] LCD_D4
0x0F8D [0] LCD_EN
0x0F8D [0] LATE1_bit
0x0F8D [0] LCD_RS
0x0F8D [0] LATE2_bit
0x0F95 [0] LCD_D6_Direction
0x0F95 [0] LCD_D7_Direction
0x0F95 [0] TRISD5_bit
0x0F95 [0] TRISD7_bit
0x0F95 [0] TRISD6_bit
0x0F95 [0] LCD_D4_Direction
0x0F95 [0] LCD_D5_Direction
0x0F95 [0] TRISD4_bit
0x0F96 [0] LCD_EN_Direction
0x0F96 [0] LCD_RS_Direction
0x0F96 [0] TRISE1_bit
0x0F96 [0] TRISE2_bit
0x0FC1 [1] ADCON1
0x0FD8 [1] STATUS
0x0FD9 [1] FSR2L
0x0FDA [1] FSR2H
0x0FDE [1] POSTINC2
0x0FE0 [1] BSR
0x0FE1 [1] FSR1L
0x0FE2 [1] FSR1H
0x0FE4 [1] PREINC1
0x0FE6 [1] POSTINC1
0x0FE7 [1] INDF1
0x0FE8 [1] WREG
0x0FE9 [1] FSR0L
0x0FEA [1] FSR0H
0x0FEE [1] POSTINC0
0x0FF3 [1] PRODL
0x0FF4 [1] PRODH
0x0FF5 [1] TABLAT
0x0FF6 [1] TBLPTRL
0x0FF6 [3] TBLPTR
0x0FF7 [1] TBLPTRH
0x0FF8 [1] TBLPTRU
//** Constants locations **
//ADDRESS SIZE CONSTANT
//----------------------------------------------
0x02E6 [8] _character