-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathunid_12_1_hlvd.lst
731 lines (730 loc) · 27.5 KB
/
unid_12_1_hlvd.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
; LST file generated by mikroListExporter - v.2.0
; Date/Time: 07/11/2019 05:50:47 PM
;----------------------------------------------
;Address Opcode ASM
0x0000 0xF000EFD4 GOTO 424
_INTERRUPTION_HIGH:
;unid_12_1_hlvd.c,38 :: void INTERRUPTION_HIGH() iv 0x0008 ics ICS_AUTO {
0x0008 0xF018C000 MOVFF R0, 24
0x000C 0xF017C00B MOVFF R11, 23
0x0010 0xF016C00C MOVFF R12, 22
0x0014 0xF015C00D MOVFF R13, 21
;unid_12_1_hlvd.c,47 :: if(HLVDIF_bit == 1)
0x0018 0xA4A1 BTFSS HLVDIF_bit, BitPos(HLVDIF_bit+0)
0x001A 0xD014 BRA L_INTERRUPTION_HIGH0
;unid_12_1_hlvd.c,49 :: EEPROM_Write(0, Count);
0x001C 0x6A2F CLRF FARG_EEPROM_Write_address
0x001E 0xF030C023 MOVFF _Count, FARG_EEPROM_Write_data_
0x0022 0xD864 RCALL _EEPROM_Write
;unid_12_1_hlvd.c,50 :: Delay_ms(1000);
0x0024 0x0E0B MOVLW 11
0x0026 0x6E0B MOVWF R11, 0
0x0028 0x0E26 MOVLW 38
0x002A 0x6E0C MOVWF R12, 0
0x002C 0x0E5D MOVLW 93
0x002E 0x6E0D MOVWF R13, 0
L_INTERRUPTION_HIGH1:
0x0030 0x2E0D DECFSZ R13, 1, 0
0x0032 0xD7FE BRA L_INTERRUPTION_HIGH1
0x0034 0x2E0C DECFSZ R12, 1, 0
0x0036 0xD7FC BRA L_INTERRUPTION_HIGH1
0x0038 0x2E0B DECFSZ R11, 1, 0
0x003A 0xD7FA BRA L_INTERRUPTION_HIGH1
0x003C 0x0000 NOP
0x003E 0x0000 NOP
;unid_12_1_hlvd.c,51 :: HLVDIF_bit = 0;
0x0040 0x94A1 BCF HLVDIF_bit, BitPos(HLVDIF_bit+0)
;unid_12_1_hlvd.c,52 :: }
0x0042 0xD029 BRA L_INTERRUPTION_HIGH2
L_INTERRUPTION_HIGH0:
;unid_12_1_hlvd.c,63 :: if(INTCON.TMR0IF == 1)
0x0044 0xA4F2 BTFSS INTCON, 2
0x0046 0xD027 BRA L_INTERRUPTION_HIGH3
;unid_12_1_hlvd.c,65 :: PORTA &= 0B11000011; //picGenios: Apaga RA2/RA3/RA4/RA5 display pins
0x0048 0x0EC3 MOVLW 195
0x004A 0x1680 ANDWF PORTA, 1
;unid_12_1_hlvd.c,66 :: switch(state_machine)
0x004C 0xD018 BRA L_INTERRUPTION_HIGH4
;unid_12_1_hlvd.c,68 :: case d1: {
L_INTERRUPTION_HIGH6:
;unid_12_1_hlvd.c,69 :: PORTD = Dta[0];
0x004E 0xFF83C026 MOVFF _Dta, PORTD
;unid_12_1_hlvd.c,70 :: PORTA.RA5 = 1;
0x0052 0x8A80 BSF PORTA, 5
;unid_12_1_hlvd.c,71 :: state_machine = d2;
0x0054 0x0E02 MOVLW 2
0x0056 0x6E25 MOVWF INTERRUPTION_HIGH_state_machine_L0
;unid_12_1_hlvd.c,72 :: break;
0x0058 0xD01E BRA L_INTERRUPTION_HIGH5
;unid_12_1_hlvd.c,74 :: case d2: {
L_INTERRUPTION_HIGH7:
;unid_12_1_hlvd.c,75 :: PORTD = Dta[1];
0x005A 0xFF83C027 MOVFF _Dta+1, PORTD
;unid_12_1_hlvd.c,76 :: PORTA.RA4 = 1;
0x005E 0x8880 BSF PORTA, 4
;unid_12_1_hlvd.c,77 :: state_machine = d3;
0x0060 0x0E03 MOVLW 3
0x0062 0x6E25 MOVWF INTERRUPTION_HIGH_state_machine_L0
;unid_12_1_hlvd.c,78 :: break;
0x0064 0xD018 BRA L_INTERRUPTION_HIGH5
;unid_12_1_hlvd.c,80 :: case d3: {
L_INTERRUPTION_HIGH8:
;unid_12_1_hlvd.c,81 :: PORTD = Dta[2];
0x0066 0xFF83C028 MOVFF _Dta+2, PORTD
;unid_12_1_hlvd.c,82 :: PORTA.RA3 = 1;
0x006A 0x8680 BSF PORTA, 3
;unid_12_1_hlvd.c,83 :: state_machine = d4;
0x006C 0x0E04 MOVLW 4
0x006E 0x6E25 MOVWF INTERRUPTION_HIGH_state_machine_L0
;unid_12_1_hlvd.c,84 :: break;
0x0070 0xD012 BRA L_INTERRUPTION_HIGH5
;unid_12_1_hlvd.c,86 :: case d4: {
L_INTERRUPTION_HIGH9:
;unid_12_1_hlvd.c,87 :: PORTD = Dta[3];
0x0072 0xFF83C029 MOVFF _Dta+3, PORTD
;unid_12_1_hlvd.c,88 :: PORTA.RA2 = 1;
0x0076 0x8480 BSF PORTA, 2
;unid_12_1_hlvd.c,89 :: state_machine = d1;
0x0078 0x0E01 MOVLW 1
0x007A 0x6E25 MOVWF INTERRUPTION_HIGH_state_machine_L0
;unid_12_1_hlvd.c,90 :: break;
0x007C 0xD00C BRA L_INTERRUPTION_HIGH5
;unid_12_1_hlvd.c,92 :: }
L_INTERRUPTION_HIGH4:
0x007E 0x5025 MOVF INTERRUPTION_HIGH_state_machine_L0, 0
0x0080 0x0A01 XORLW 1
0x0082 0xE0E5 BZ L_INTERRUPTION_HIGH6
0x0084 0x5025 MOVF INTERRUPTION_HIGH_state_machine_L0, 0
0x0086 0x0A02 XORLW 2
0x0088 0xE0E8 BZ L_INTERRUPTION_HIGH7
0x008A 0x5025 MOVF INTERRUPTION_HIGH_state_machine_L0, 0
0x008C 0x0A03 XORLW 3
0x008E 0xE0EB BZ L_INTERRUPTION_HIGH8
0x0090 0x5025 MOVF INTERRUPTION_HIGH_state_machine_L0, 0
0x0092 0x0A04 XORLW 4
0x0094 0xE0EE BZ L_INTERRUPTION_HIGH9
L_INTERRUPTION_HIGH5:
;unid_12_1_hlvd.c,93 :: }
L_INTERRUPTION_HIGH3:
L_INTERRUPTION_HIGH2:
;unid_12_1_hlvd.c,96 :: TMR0H = 0XFE;
0x0096 0x0EFE MOVLW 254
0x0098 0x6ED7 MOVWF TMR0H
;unid_12_1_hlvd.c,97 :: TMR0L = 0X06;
0x009A 0x0E06 MOVLW 6
0x009C 0x6ED6 MOVWF TMR0L
;unid_12_1_hlvd.c,98 :: INTCON.TMR0IF = 0; // Clear flag & reset interruption cycle
0x009E 0x94F2 BCF INTCON, 2
;unid_12_1_hlvd.c,100 :: }
L_end_INTERRUPTION_HIGH:
L__INTERRUPTION_HIGH25:
0x00A0 0xF000C018 MOVFF 24, R0
0x00A4 0xF00BC017 MOVFF 23, R11
0x00A8 0xF00CC016 MOVFF 22, R12
0x00AC 0xF00DC015 MOVFF 21, R13
0x00B0 0x0011 RETFIE 1
; end of _INTERRUPTION_HIGH
_configcrHLVD:
;unid_12_1_hlvd.c,164 :: void configcrHLVD() // Specific CONTROL REGISTER(s) configuration(s) for ??? peripheral
;unid_12_1_hlvd.c,166 :: HLVDCON = 0B00011110; // SFR
0x00B2 0x0E1E MOVLW 30
0x00B4 0x6ED2 MOVWF HLVDCON
;unid_12_1_hlvd.c,167 :: Delay_ms(1000);
0x00B6 0x0E0B MOVLW 11
0x00B8 0x6E0B MOVWF R11, 0
0x00BA 0x0E26 MOVLW 38
0x00BC 0x6E0C MOVWF R12, 0
0x00BE 0x0E5D MOVLW 93
0x00C0 0x6E0D MOVWF R13, 0
L_configcrHLVD10:
0x00C2 0x2E0D DECFSZ R13, 1, 0
0x00C4 0xD7FE BRA L_configcrHLVD10
0x00C6 0x2E0C DECFSZ R12, 1, 0
0x00C8 0xD7FC BRA L_configcrHLVD10
0x00CA 0x2E0B DECFSZ R11, 1, 0
0x00CC 0xD7FA BRA L_configcrHLVD10
0x00CE 0x0000 NOP
0x00D0 0x0000 NOP
;unid_12_1_hlvd.c,168 :: }
L_end_configcrHLVD:
0x00D2 0x0012 RETURN 0
; end of _configcrHLVD
_configIndividualPrfHLVD:
;unid_12_1_hlvd.c,157 :: void configIndividualPrfHLVD() // ???'s Interruptions Peripheral configurations (IF,IP & IE)
;unid_12_1_hlvd.c,159 :: HLVDIF_bit = 0; // Overflow flag; please init zero
0x00D4 0x94A1 BCF HLVDIF_bit, BitPos(HLVDIF_bit+0)
;unid_12_1_hlvd.c,160 :: HLVDIP_bit = 1; // Interruption priority vector: HIGH
0x00D6 0x84A2 BSF HLVDIP_bit, BitPos(HLVDIP_bit+0)
;unid_12_1_hlvd.c,161 :: HLVDIE_bit = 1; // ???'s interruption enabled
0x00D8 0x84A0 BSF HLVDIE_bit, BitPos(HLVDIE_bit+0)
;unid_12_1_hlvd.c,162 :: }
L_end_configIndividualPrfHLVD:
0x00DA 0x0012 RETURN 0
; end of _configIndividualPrfHLVD
_EEPROM_Read:
;__Lib_EEPROM_256.c,7 ::
;__Lib_EEPROM_256.c,9 ::
0x00DC 0x9CA6 BCF EECON1, 6
;__Lib_EEPROM_256.c,10 ::
0x00DE 0xFFA9C02E MOVFF FARG_EEPROM_Read_address, EEADR
;__Lib_EEPROM_256.c,11 ::
0x00E2 0x9EA6 BCF EECON1, 7
;__Lib_EEPROM_256.c,12 ::
0x00E4 0x80A6 BSF EECON1, 0
;__Lib_EEPROM_256.c,14 ::
0x00E6 0xF000CFA8 MOVFF EEDATA, R0
;__Lib_EEPROM_256.c,16 ::
L_end_EEPROM_Read:
0x00EA 0x0012 RETURN 0
; end of _EEPROM_Read
_EEPROM_Write:
;__Lib_EEPROM_256.c,21 ::
;__Lib_EEPROM_256.c,24 ::
L_EEPROM_Write0:
0x00EC 0xA2A6 BTFSS EECON1, 1
0x00EE 0xD002 BRA L_EEPROM_Write1
;__Lib_EEPROM_256.c,25 ::
0x00F0 0x0000 NOP
0x00F2 0xD7FC BRA L_EEPROM_Write0
L_EEPROM_Write1:
;__Lib_EEPROM_256.c,26 ::
0x00F4 0x9CA6 BCF EECON1, 6
;__Lib_EEPROM_256.c,27 ::
0x00F6 0xFFA9C02F MOVFF FARG_EEPROM_Write_address, EEADR
;__Lib_EEPROM_256.c,28 ::
0x00FA 0xFFA8C030 MOVFF FARG_EEPROM_Write_data_, EEDATA
;__Lib_EEPROM_256.c,29 ::
0x00FE 0x9EA6 BCF EECON1, 7
;__Lib_EEPROM_256.c,30 ::
0x0100 0x84A6 BSF EECON1, 2
;__Lib_EEPROM_256.c,32 ::
0x0102 0xF000CFF2 MOVFF INTCON, R0
;__Lib_EEPROM_256.c,35 ::
0x0106 0x9EF2 BCF INTCON, 7
;__Lib_EEPROM_256.c,36 ::
0x0108 0x0E55 MOVLW 85
0x010A 0x6EA7 MOVWF EECON2
;__Lib_EEPROM_256.c,37 ::
0x010C 0x0EAA MOVLW 170
0x010E 0x6EA7 MOVWF EECON2
;__Lib_EEPROM_256.c,38 ::
0x0110 0x82A6 BSF EECON1, 1
;__Lib_EEPROM_256.c,42 ::
0x0112 0xBE00 BTFSC R0, 7
0x0114 0xD002 BRA L__EEPROM_Write6
0x0116 0x9EF2 BCF INTCON, 7
0x0118 0xD001 BRA L__EEPROM_Write7
L__EEPROM_Write6:
0x011A 0x8EF2 BSF INTCON, 7
L__EEPROM_Write7:
;__Lib_EEPROM_256.c,44 ::
0x011C 0x94A6 BCF EECON1, 2
;__Lib_EEPROM_256.c,46 ::
L_EEPROM_Write2:
0x011E 0xB8A1 BTFSC PIR2, 4
0x0120 0xD002 BRA L_EEPROM_Write3
;__Lib_EEPROM_256.c,47 ::
0x0122 0x0000 NOP
0x0124 0xD7FC BRA L_EEPROM_Write2
L_EEPROM_Write3:
;__Lib_EEPROM_256.c,49 ::
0x0126 0x98A1 BCF PIR2, 4
;__Lib_EEPROM_256.c,50 ::
L_end_EEPROM_Write:
0x0128 0x0012 RETURN 0
; end of _EEPROM_Write
_Div_16X16_U:
;__Lib_Math.c,102 ::
;__Lib_Math.c,109 ::
0x012A 0x6A08 CLRF R8, 0
;__Lib_Math.c,110 ::
0x012C 0x6A09 CLRF R9, 0
;__Lib_Math.c,111 ::
0x012E 0x0E10 MOVLW 16
;__Lib_Math.c,112 ::
0x0130 0x6E0C MOVWF R12, 0
;__Lib_Math.c,113 ::
0x0132 0x3401 RLCF R1, 0, 0
;__Lib_Math.c,114 ::
0x0134 0x3608 RLCF R8, 1, 0
;__Lib_Math.c,115 ::
0x0136 0x3609 RLCF R9, 1, 0
;__Lib_Math.c,116 ::
0x0138 0x5004 MOVF R4, 0, 0
;__Lib_Math.c,117 ::
0x013A 0x5E08 SUBWF R8, 1, 0
;__Lib_Math.c,118 ::
0x013C 0x5005 MOVF R5, 0, 0
;__Lib_Math.c,119 ::
0x013E 0xA0D8 BTFSS STATUS, 0, 0
;__Lib_Math.c,120 ::
0x0140 0x3C05 INCFSZ R5, 0, 0
;__Lib_Math.c,121 ::
0x0142 0x5E09 SUBWF R9, 1, 0
;__Lib_Math.c,122 ::
0x0144 0xB0D8 BTFSC STATUS, 0, 0
;__Lib_Math.c,123 ::
0x0146 0xD007 BRA $+16
;__Lib_Math.c,124 ::
0x0148 0x5004 MOVF R4, 0, 0
;__Lib_Math.c,125 ::
0x014A 0x2608 ADDWF R8, 1, 0
;__Lib_Math.c,126 ::
0x014C 0x5005 MOVF R5, 0, 0
;__Lib_Math.c,127 ::
0x014E 0xB0D8 BTFSC STATUS, 0, 0
;__Lib_Math.c,128 ::
0x0150 0x3C05 INCFSZ R5, 0, 0
;__Lib_Math.c,129 ::
0x0152 0x2609 ADDWF R9, 1, 0
;__Lib_Math.c,130 ::
0x0154 0x90D8 BCF STATUS, 0, 0
;__Lib_Math.c,131 ::
0x0156 0x3600 RLCF R0, 1, 0
;__Lib_Math.c,132 ::
0x0158 0x3601 RLCF R1, 1, 0
;__Lib_Math.c,133 ::
0x015A 0x2E0C DECFSZ R12, 1, 0
;__Lib_Math.c,134 ::
0x015C 0xD7EA BRA $-42
;__Lib_Math.c,136 ::
L_end_Div_16X16_U:
0x015E 0x0012 RETURN 0
; end of _Div_16X16_U
_configIndividualVctTMR0:
;unid_12_1_hlvd.c,149 :: void configIndividualVctTMR0()
;unid_12_1_hlvd.c,152 :: INTCON.TMR0IF = 0; // Overflow flag; please init zero
0x0160 0x94F2 BCF INTCON, 2
;unid_12_1_hlvd.c,153 :: INTCON2.TMR0IP = 1; // Interruption priority vector: HIGH
0x0162 0x84F1 BSF INTCON2, 2
;unid_12_1_hlvd.c,154 :: INTCON.TMR0IE = 1; // TIMER0's interruption enabled
0x0164 0x8AF2 BSF INTCON, 5
;unid_12_1_hlvd.c,155 :: }
L_end_configIndividualVctTMR0:
0x0166 0x0012 RETURN 0
; end of _configIndividualVctTMR0
_configMCU:
;unid_12_1_hlvd.c,102 :: void configMCU() // Timer0 Port & Directions
;unid_12_1_hlvd.c,109 :: ADCON1 |= 0X0F; // Analog pinouts
0x0168 0x0E0F MOVLW 15
0x016A 0x12C1 IORWF ADCON1, 1
;unid_12_1_hlvd.c,112 :: TRISA = 0;
0x016C 0x6A92 CLRF TRISA
;unid_12_1_hlvd.c,113 :: PORTA = 0; // LEDs' control pins
0x016E 0x6A80 CLRF PORTA
;unid_12_1_hlvd.c,114 :: TRISD = 0;
0x0170 0x6A95 CLRF TRISD
;unid_12_1_hlvd.c,115 :: PORTD = 0; // LEDs' control pins
0x0172 0x6A83 CLRF PORTD
;unid_12_1_hlvd.c,119 :: TRISB.RB0 = 1; //COUNT = UP
0x0174 0x8093 BSF TRISB, 0
;unid_12_1_hlvd.c,120 :: PORTB.RB0 = 1;
0x0176 0x8081 BSF PORTB, 0
;unid_12_1_hlvd.c,122 :: TRISB.RB1 = 1; //COUNT = DOWN
0x0178 0x8293 BSF TRISB, 1
;unid_12_1_hlvd.c,123 :: PORTB.RB1 = 1;
0x017A 0x8281 BSF PORTB, 1
;unid_12_1_hlvd.c,124 :: }
L_end_configMCU:
0x017C 0x0012 RETURN 0
; end of _configMCU
___CC2DW:
;__Lib_System.c,21 ::
;__Lib_System.c,23 ::
_CC2DL_Loop1:
;__Lib_System.c,24 ::
0x017E 0x0009 TBLRD*+
;__Lib_System.c,25 ::
0x0180 0xFFE6CFF5 MOVFF TABLAT, POSTINC1
;__Lib_System.c,26 ::
0x0184 0x0600 DECF R0, 1, 0
;__Lib_System.c,27 ::
0x0186 0xE1FB BNZ _CC2DL_Loop1
;__Lib_System.c,28 ::
0x0188 0x0601 DECF R1, 1, 0
;__Lib_System.c,29 ::
0x018A 0xE1F9 BNZ _CC2DL_Loop1
;__Lib_System.c,31 ::
L_end___CC2DW:
0x018C 0x0012 RETURN 0
; end of ___CC2DW
_configGlobalInterruption:
;unid_12_1_hlvd.c,141 :: void configGlobalInterruption() // Interruptions's master keys
;unid_12_1_hlvd.c,143 :: INTCON.GIEH = 1; // High priority enabled
0x018E 0x8EF2 BSF INTCON, 7
;unid_12_1_hlvd.c,144 :: INTCON.GIEL = 1; // Low prioritY enabled
0x0190 0x8CF2 BSF INTCON, 6
;unid_12_1_hlvd.c,145 :: RCON.IPEN = 1; // Compatibility family 16F (just one level)
0x0192 0x8ED0 BSF RCON, 7
;unid_12_1_hlvd.c,148 :: }
L_end_configGlobalInterruption:
0x0194 0x0012 RETURN 0
; end of _configGlobalInterruption
_configTimer0:
;unid_12_1_hlvd.c,126 :: void configTimer0()
;unid_12_1_hlvd.c,132 :: T0CON = 0B00000010;
0x0196 0x0E02 MOVLW 2
0x0198 0x6ED5 MOVWF T0CON
;unid_12_1_hlvd.c,134 :: TMR0L = 0XFE;
0x019A 0x0EFE MOVLW 254
0x019C 0x6ED6 MOVWF TMR0L
;unid_12_1_hlvd.c,135 :: TMR0H = 0X0C; // Recharge initial counter &
0x019E 0x0E0C MOVLW 12
0x01A0 0x6ED7 MOVWF TMR0H
;unid_12_1_hlvd.c,136 :: INTCON.TMR0IF = 0; // clean overflow Timer0's flag
0x01A2 0x94F2 BCF INTCON, 2
;unid_12_1_hlvd.c,138 :: T0CON.TMR0ON = 1; // Timer0 on
0x01A4 0x8ED5 BSF T0CON, 7
;unid_12_1_hlvd.c,139 :: }
L_end_configTimer0:
0x01A6 0x0012 RETURN 0
; end of _configTimer0
_main:
0x01A8 0x0E3F MOVLW 63
0x01AA 0x6E19 MOVWF _DMatriz
0x01AC 0x0E06 MOVLW 6
0x01AE 0x6E1A MOVWF 26
0x01B0 0x0E5B MOVLW 91
0x01B2 0x6E1B MOVWF 27
0x01B4 0x0E4F MOVLW 79
0x01B6 0x6E1C MOVWF 28
0x01B8 0x0E66 MOVLW 102
0x01BA 0x6E1D MOVWF 29
0x01BC 0x0E6D MOVLW 109
0x01BE 0x6E1E MOVWF 30
0x01C0 0x0E7D MOVLW 125
0x01C2 0x6E1F MOVWF 31
0x01C4 0x0E07 MOVLW 7
0x01C6 0x6E20 MOVWF 32
0x01C8 0x0E7F MOVLW 127
0x01CA 0x6E21 MOVWF 33
0x01CC 0x0E6F MOVLW 111
0x01CE 0x6E22 MOVWF 34
0x01D0 0x6A23 CLRF _Count
0x01D2 0x6A24 CLRF 36
0x01D4 0x0E01 MOVLW 1
0x01D6 0x6E25 MOVWF INTERRUPTION_HIGH_state_machine_L0
;unid_12_1_hlvd.c,170 :: void main()
;unid_12_1_hlvd.c,174 :: configMCU();
0x01D8 0xDFC7 RCALL _configMCU
;unid_12_1_hlvd.c,175 :: configTimer0();
0x01DA 0xDFDD RCALL _configTimer0
;unid_12_1_hlvd.c,176 :: configGlobalInterruption();
0x01DC 0xDFD8 RCALL _configGlobalInterruption
;unid_12_1_hlvd.c,177 :: configIndividualVctTMR0();
0x01DE 0xDFC0 RCALL _configIndividualVctTMR0
;unid_12_1_hlvd.c,178 :: configIndividualPrfHLVD();
0x01E0 0xDF79 RCALL _configIndividualPrfHLVD
;unid_12_1_hlvd.c,179 :: configcrHLVD();
0x01E2 0xDF67 RCALL _configcrHLVD
;unid_12_1_hlvd.c,181 :: Count = EEPROM_Read(0); // não estou conseguindo mostrar no display de 7 seg
0x01E4 0x6A2E CLRF FARG_EEPROM_Read_address
0x01E6 0xDF7A RCALL _EEPROM_Read
0x01E8 0xF023C000 MOVFF R0, _Count
0x01EC 0x0E00 MOVLW 0
0x01EE 0x6E24 MOVWF _Count+1
;unid_12_1_hlvd.c,194 :: while(TRUE)
L_main11:
;unid_12_1_hlvd.c,196 :: if(PORTB.RB0 == 0 && Count < 9999) //UP
0x01F0 0xB081 BTFSC PORTB, 0
0x01F2 0xD01E BRA L_main15
0x01F4 0x0E27 MOVLW 39
0x01F6 0x5C24 SUBWF _Count+1, 0
0x01F8 0xE102 BNZ L__main33
0x01FA 0x0E0F MOVLW 15
0x01FC 0x5C23 SUBWF _Count, 0
L__main33:
0x01FE 0xE218 BC L_main15
L__main23:
;unid_12_1_hlvd.c,198 :: Count++;
0x0200 0x0E01 MOVLW 1
0x0202 0x2423 ADDWF _Count, 0
0x0204 0x6E00 MOVWF R0
0x0206 0x0E00 MOVLW 0
0x0208 0x2024 ADDWFC _Count+1, 0
0x020A 0x6E01 MOVWF R1
0x020C 0xF023C000 MOVFF R0, _Count
0x0210 0xF024C001 MOVFF R1, _Count+1
;unid_12_1_hlvd.c,199 :: Delay_ms(300);
0x0214 0x0E04 MOVLW 4
0x0216 0x6E0B MOVWF R11, 0
0x0218 0x0E0C MOVLW 12
0x021A 0x6E0C MOVWF R12, 0
0x021C 0x0E33 MOVLW 51
0x021E 0x6E0D MOVWF R13, 0
L_main16:
0x0220 0x2E0D DECFSZ R13, 1, 0
0x0222 0xD7FE BRA L_main16
0x0224 0x2E0C DECFSZ R12, 1, 0
0x0226 0xD7FC BRA L_main16
0x0228 0x2E0B DECFSZ R11, 1, 0
0x022A 0xD7FA BRA L_main16
0x022C 0x0000 NOP
0x022E 0x0000 NOP
;unid_12_1_hlvd.c,200 :: }
L_main15:
;unid_12_1_hlvd.c,202 :: if(PORTB.RB1 == 0 && Count > 0)
0x0230 0xB281 BTFSC PORTB, 1
0x0232 0xD020 BRA L_main19
0x0234 0x0E00 MOVLW 0
0x0236 0x6E00 MOVWF R0
0x0238 0x5024 MOVF _Count+1, 0
0x023A 0x5C00 SUBWF R0, 0
0x023C 0xE102 BNZ L__main34
0x023E 0x5023 MOVF _Count, 0
0x0240 0x0800 SUBLW 0
L__main34:
0x0242 0xE218 BC L_main19
L__main22:
;unid_12_1_hlvd.c,204 :: Count--;
0x0244 0x0E01 MOVLW 1
0x0246 0x5C23 SUBWF _Count, 0
0x0248 0x6E00 MOVWF R0
0x024A 0x0E00 MOVLW 0
0x024C 0x5824 SUBWFB _Count+1, 0
0x024E 0x6E01 MOVWF R1
0x0250 0xF023C000 MOVFF R0, _Count
0x0254 0xF024C001 MOVFF R1, _Count+1
;unid_12_1_hlvd.c,205 :: Delay_ms(300);
0x0258 0x0E04 MOVLW 4
0x025A 0x6E0B MOVWF R11, 0
0x025C 0x0E0C MOVLW 12
0x025E 0x6E0C MOVWF R12, 0
0x0260 0x0E33 MOVLW 51
0x0262 0x6E0D MOVWF R13, 0
L_main20:
0x0264 0x2E0D DECFSZ R13, 1, 0
0x0266 0xD7FE BRA L_main20
0x0268 0x2E0C DECFSZ R12, 1, 0
0x026A 0xD7FC BRA L_main20
0x026C 0x2E0B DECFSZ R11, 1, 0
0x026E 0xD7FA BRA L_main20
0x0270 0x0000 NOP
0x0272 0x0000 NOP
;unid_12_1_hlvd.c,206 :: }
L_main19:
;unid_12_1_hlvd.c,209 :: varAux = Count;
0x0274 0xF02AC023 MOVFF _Count, main_varAux_L0
0x0278 0xF02BC024 MOVFF _Count+1, main_varAux_L0+1
;unid_12_1_hlvd.c,211 :: Dta[0] = DMatriz[varAux%10];
0x027C 0x0E0A MOVLW 10
0x027E 0x6E04 MOVWF R4
0x0280 0x0E00 MOVLW 0
0x0282 0x6E05 MOVWF R5
0x0284 0xF000C02A MOVFF main_varAux_L0, R0
0x0288 0xF001C02B MOVFF main_varAux_L0+1, R1
0x028C 0xDF4E RCALL _Div_16X16_U
0x028E 0xF000C008 MOVFF R8, R0
0x0292 0xF001C009 MOVFF R9, R1
0x0296 0x0E19 MOVLW _DMatriz
0x0298 0x2400 ADDWF R0, 0
0x029A 0x6EE9 MOVWF FSR0L
0x029C 0x0E00 MOVLW hi_addr(_DMatriz)
0x029E 0x2001 ADDWFC R1, 0
0x02A0 0x6EEA MOVWF FSR0L+1
0x02A2 0xF026CFEE MOVFF POSTINC0, _Dta
;unid_12_1_hlvd.c,212 :: varAux /= 10;
0x02A6 0x0E0A MOVLW 10
0x02A8 0x6E04 MOVWF R4
0x02AA 0x0E00 MOVLW 0
0x02AC 0x6E05 MOVWF R5
0x02AE 0xF000C02A MOVFF main_varAux_L0, R0
0x02B2 0xF001C02B MOVFF main_varAux_L0+1, R1
0x02B6 0xDF39 RCALL _Div_16X16_U
0x02B8 0xF02CC000 MOVFF R0, FLOC__main
0x02BC 0xF02DC001 MOVFF R1, FLOC__main+1
0x02C0 0xF02AC02C MOVFF FLOC__main, main_varAux_L0
0x02C4 0xF02BC02D MOVFF FLOC__main+1, main_varAux_L0+1
;unid_12_1_hlvd.c,213 :: Dta[1] = DMatriz[varAux%10];
0x02C8 0x0E0A MOVLW 10
0x02CA 0x6E04 MOVWF R4
0x02CC 0x0E00 MOVLW 0
0x02CE 0x6E05 MOVWF R5
0x02D0 0xF000C02C MOVFF FLOC__main, R0
0x02D4 0xF001C02D MOVFF FLOC__main+1, R1
0x02D8 0xDF28 RCALL _Div_16X16_U
0x02DA 0xF000C008 MOVFF R8, R0
0x02DE 0xF001C009 MOVFF R9, R1
0x02E2 0x0E19 MOVLW _DMatriz
0x02E4 0x2400 ADDWF R0, 0
0x02E6 0x6EE9 MOVWF FSR0L
0x02E8 0x0E00 MOVLW hi_addr(_DMatriz)
0x02EA 0x2001 ADDWFC R1, 0
0x02EC 0x6EEA MOVWF FSR0L+1
0x02EE 0xF027CFEE MOVFF POSTINC0, _Dta+1
;unid_12_1_hlvd.c,214 :: varAux /= 10;
0x02F2 0x0E0A MOVLW 10
0x02F4 0x6E04 MOVWF R4
0x02F6 0x0E00 MOVLW 0
0x02F8 0x6E05 MOVWF R5
0x02FA 0xF000C02C MOVFF FLOC__main, R0
0x02FE 0xF001C02D MOVFF FLOC__main+1, R1
0x0302 0xDF13 RCALL _Div_16X16_U
0x0304 0xF02CC000 MOVFF R0, FLOC__main
0x0308 0xF02DC001 MOVFF R1, FLOC__main+1
0x030C 0xF02AC02C MOVFF FLOC__main, main_varAux_L0
0x0310 0xF02BC02D MOVFF FLOC__main+1, main_varAux_L0+1
;unid_12_1_hlvd.c,215 :: Dta[2] = DMatriz[varAux%10];
0x0314 0x0E0A MOVLW 10
0x0316 0x6E04 MOVWF R4
0x0318 0x0E00 MOVLW 0
0x031A 0x6E05 MOVWF R5
0x031C 0xF000C02C MOVFF FLOC__main, R0
0x0320 0xF001C02D MOVFF FLOC__main+1, R1
0x0324 0xDF02 RCALL _Div_16X16_U
0x0326 0xF000C008 MOVFF R8, R0
0x032A 0xF001C009 MOVFF R9, R1
0x032E 0x0E19 MOVLW _DMatriz
0x0330 0x2400 ADDWF R0, 0
0x0332 0x6EE9 MOVWF FSR0L
0x0334 0x0E00 MOVLW hi_addr(_DMatriz)
0x0336 0x2001 ADDWFC R1, 0
0x0338 0x6EEA MOVWF FSR0L+1
0x033A 0xF028CFEE MOVFF POSTINC0, _Dta+2
;unid_12_1_hlvd.c,216 :: varAux /= 10;
0x033E 0x0E0A MOVLW 10
0x0340 0x6E04 MOVWF R4
0x0342 0x0E00 MOVLW 0
0x0344 0x6E05 MOVWF R5
0x0346 0xF000C02C MOVFF FLOC__main, R0
0x034A 0xF001C02D MOVFF FLOC__main+1, R1
0x034E 0xDEED RCALL _Div_16X16_U
0x0350 0xF02CC000 MOVFF R0, FLOC__main
0x0354 0xF02DC001 MOVFF R1, FLOC__main+1
0x0358 0xF02AC02C MOVFF FLOC__main, main_varAux_L0
0x035C 0xF02BC02D MOVFF FLOC__main+1, main_varAux_L0+1
;unid_12_1_hlvd.c,217 :: Dta[3] = DMatriz[varAux%10];
0x0360 0x0E0A MOVLW 10
0x0362 0x6E04 MOVWF R4
0x0364 0x0E00 MOVLW 0
0x0366 0x6E05 MOVWF R5
0x0368 0xF000C02C MOVFF FLOC__main, R0
0x036C 0xF001C02D MOVFF FLOC__main+1, R1
0x0370 0xDEDC RCALL _Div_16X16_U
0x0372 0xF000C008 MOVFF R8, R0
0x0376 0xF001C009 MOVFF R9, R1
0x037A 0x0E19 MOVLW _DMatriz
0x037C 0x2400 ADDWF R0, 0
0x037E 0x6EE9 MOVWF FSR0L
0x0380 0x0E00 MOVLW hi_addr(_DMatriz)
0x0382 0x2001 ADDWFC R1, 0
0x0384 0x6EEA MOVWF FSR0L+1
0x0386 0xF029CFEE MOVFF POSTINC0, _Dta+3
;unid_12_1_hlvd.c,218 :: varAux /= 10; Delay_ms(10);
0x038A 0x0E0A MOVLW 10
0x038C 0x6E04 MOVWF R4
0x038E 0x0E00 MOVLW 0
0x0390 0x6E05 MOVWF R5
0x0392 0xF000C02C MOVFF FLOC__main, R0
0x0396 0xF001C02D MOVFF FLOC__main+1, R1
0x039A 0xDEC7 RCALL _Div_16X16_U
0x039C 0xF02AC000 MOVFF R0, main_varAux_L0
0x03A0 0xF02BC001 MOVFF R1, main_varAux_L0+1
0x03A4 0x0E1A MOVLW 26
0x03A6 0x6E0C MOVWF R12, 0
0x03A8 0x0EF8 MOVLW 248
0x03AA 0x6E0D MOVWF R13, 0
L_main21:
0x03AC 0x2E0D DECFSZ R13, 1, 0
0x03AE 0xD7FE BRA L_main21
0x03B0 0x2E0C DECFSZ R12, 1, 0
0x03B2 0xD7FC BRA L_main21
0x03B4 0x0000 NOP
;unid_12_1_hlvd.c,219 :: }
0x03B6 0xD71C BRA L_main11
;unid_12_1_hlvd.c,220 :: }
L_end_main:
0x03B8 0xD7FF BRA $+0
; end of _main
Symbol List:
//** Routines locations **
//ADDRESS SIZE PROCEDURE
//----------------------------------------------
0x0008 [170] _INTERRUPTION_HIGH
0x00B2 [34] _configcrHLVD
0x00D4 [8] _configIndividualPrfHLVD
0x00DC [16] _EEPROM_Read
0x00EC [62] _EEPROM_Write
0x012A [54] _Div_16X16_U
0x0160 [8] _configIndividualVctTMR0
0x0168 [22] _configMCU
0x017E [16] ___CC2DW
0x018E [8] _configGlobalInterruption
0x0196 [18] _configTimer0
0x01A8 [530] _main
//** Variables locations **
//ADDRESS SIZE VARIABLE
//----------------------------------------------
0x0000 [1] R0
0x0000 [1] EEPROM_Write_SaveINTCON_L0
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
0x0019 [10] _DMatriz
0x0023 [2] _Count
0x0025 [1] INTERRUPTION_HIGH_state_machine_L0
0x0026 [4] _Dta
0x002A [2] main_varAux_L0
0x002C [2] FLOC__main
0x002E [1] FARG_EEPROM_Read_address
0x002F [1] FARG_EEPROM_Write_address
0x0030 [1] FARG_EEPROM_Write_data_
0x0F80 [1] PORTA
0x0F81 [1] PORTB
0x0F83 [1] PORTD
0x0F92 [1] TRISA
0x0F93 [1] TRISB
0x0F95 [1] TRISD
0x0FA0 [0] HLVDIE_bit
0x0FA1 [1] PIR2
0x0FA1 [0] HLVDIF_bit
0x0FA2 [0] HLVDIP_bit
0x0FA6 [1] EECON1
0x0FA7 [1] EECON2
0x0FA8 [1] EEDATA
0x0FA9 [1] EEADR
0x0FC1 [1] ADCON1
0x0FD0 [1] RCON
0x0FD2 [1] HLVDCON
0x0FD5 [1] T0CON
0x0FD6 [1] TMR0L
0x0FD7 [1] TMR0H
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
0x0FF1 [1] INTCON2
0x0FF2 [1] INTCON
0x0FF3 [1] PRODL
0x0FF4 [1] PRODH
0x0FF5 [1] TABLAT
0x0FF6 [1] TBLPTRL
0x0FF7 [1] TBLPTRH
0x0FF8 [1] TBLPTRU