📄 vmeter.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL2
Serial number: HCPIC-08211 Fri Dec 23 11:01:32 2005
Licensed to: L.J.B
1 processor 16F877
2 opt pw 79
3 psect __Z08211RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect strings,global,class=STRING,delta=2
6 psect const1,local,class=CONST,delta=2
7 psect rdata_0,global,class=BANK0,space=1,delta
+ =1
8 psect idata_0,global,class=CODE,delta=2
9 psect rbit_0,global,bit,class=BANK0,space=1,de
+ lta=1
10 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
11 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19 0000
20 0000
21 0000
22
23 psect __Z08211RS_
24 0190
25 0190
26
27 psect text0
28 0507 _DelayMs
29 ; _cnt assigned to ?a_DelayMs+0
30 0000 _DelayMs$cnt set ?a_DelayMs
31 ; __dcnt assigned to ?a_DelayMs+1
32 0000 _DelayMs$_dcnt set ?a_DelayMs+1
33 ;_cnt stored from w
34 0507 0183 clrf 3 ;select bank 0
35 0508 00AA movwf ?a_DelayMs
36 0509 l4
37 ;delay.h: 36: do {
38 ;delay.h: 37: { unsigned char _dcnt; _dcnt = (9
+ 96)/((12*1000L)/(4*1000L))|1; while(--_dcnt !=
+ 0) continue; };
39 0509 304D movlw 77
40 050A 00AB movwf ?a_DelayMs+1
41 050B l6
42 050B 0BAB decfsz ?a_DelayMs+1
43 050C 2D0B goto l6
44 ;delay.h: 38: } while(--cnt);
45 050D 0BAA decfsz ?a_DelayMs
46 050E 2D09 goto l4
47 050F 0008 return
48 ;delay.h: 52: void
49 ;delay.h: 53: DelayS(unsigned char cnt)
50 ;delay.h: 54: {
51 0510 _DelayS
52 ; _cnt assigned to ?a_DelayS+0
53 0000 _DelayS$cnt set ?a_DelayS
54 ; _i assigned to ?a_DelayS+1
55 0000 _DelayS$i set ?a_DelayS+1
56 ;_cnt stored from w
57 0510 0183 clrf 3 ;select bank 0
58 0511 00A3 movwf ?a_DelayS
59 0512 l11
60 ;delay.h: 55: unsigned char i;
61 ;delay.h: 57: i = 4;
62 0512 3004 movlw 4
63 0513 00A4 movwf ?a_DelayS+1
64 0514 l14
65 ;delay.h: 58: do {
66 ;delay.h: 59: DelayMs(250);
67 0514 30FA movlw -6
68 0515 2507 fcall _DelayMs
69 ;delay.h: 60: } while(--i);
70 0516 0BA4 decfsz ?a_DelayS+1
71 0517 2D14 goto l14
72 ;delay.h: 61: } while(--cnt);
73 0518 0BA3 decfsz ?a_DelayS
74 0519 2D12 goto l11
75 051A 0008 return
76 ;HD44780.h: 58: extern void SetCommand(unsigned
+ char);
77 ;HD44780.h: 59: extern void SetData(unsigned ch
+ ar);
78 ;HD44780.h: 60: extern void PutString(unsigned
+ char x,unsigned char y,const char * s);
79 ;HD44780.h: 61: extern void LCD_Begin(unsigned
+ char);
80 ;HD44780.h: 62: extern void SetChar(unsigned ch
+ ar n,const char *c);
81 ;HD44780.h: 66: static bit fourbit;
82 ;HD44780.h: 113: void
83 ;HD44780.h: 114: SetCommand(unsigned char c)
84 ;HD44780.h: 115: {
85 051B _SetCommand
86 ; _c assigned to ?a_SetCommand+0
87 0000 _SetCommand$c set ?a_SetCommand
88 ;_c stored from w
89 051B 0183 clrf 3 ;select bank 0
90 051C 00A9 movwf ?a_SetCommand
91 ;HD44780.h: 116: DelayMs(5);
92 051D 3005 movlw 5
93 051E 2507 fcall _DelayMs
94 ;HD44780.h: 118: if (fourbit)
95 051F 1C20 btfss _fourbit/(0+8),_fourbit& (0+7)
96 0520 2D30 goto l16
97 ;HD44780.h: 119: {
98 0521 0E29 swapf ?a_SetCommand,w
99 0522 390F andlw 15
100 0523 0088 movwf 8 ;volatile
101 ;HD44780.h: 121: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
102 0524 1485 bsf 5,1
103 0525 0000 nop ;#
104 0526 0000 nop ;#
105 0527 1085 bcf 5,1
106 ;HD44780.h: 122: PORTD = ( c & 0x0F );
107 0528 0829 movf ?a_SetCommand,w
108 0529 390F andlw 15
109 052A 0088 movwf 8 ;volatile
110 ;HD44780.h: 123: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
111 052B 1485 bsf 5,1
112 052C 0000 nop ;#
113 052D 0000 nop ;#
114 052E 1085 bcf 5,1
115 ;HD44780.h: 124: }
116 052F 0008 return
117 0530 l16
118 ;HD44780.h: 126: {
119 0530 0829 movf ?a_SetCommand,w
120 0531 0088 movwf 8 ;volatile
121 ;HD44780.h: 128: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
122 0532 1485 bsf 5,1
123 0533 0000 nop ;#
124 0534 0000 nop ;#
125 0535 1085 bcf 5,1
126 ;HD44780.h: 129: }
127 ;HD44780.h: 130: }
128 0536 0008 return
129 ;HD44780.h: 132: void
130 ;HD44780.h: 133: SetData(unsigned char c)
131 ;HD44780.h: 134: {
132 0537 _SetData
133 ; _c assigned to ?a_SetData+0
134 0000 _SetData$c set ?a_SetData
135 ;_c stored from w
136 0537 0183 clrf 3 ;select bank 0
137 0538 00A9 movwf ?a_SetData
138 ;HD44780.h: 135: DelayMs(5);
139 0539 3005 movlw 5
140 053A 2507 fcall _DelayMs
141 ;HD44780.h: 137: PORTD = 0;
142 053B 0188 clrf 8 ;volatile
143 ;HD44780.h: 138: RA3 = 1;
144 053C 1585 bsf 5,3
145 ;HD44780.h: 139: if (fourbit)
146 053D 1C20 btfss _fourbit/(0+8),_fourbit& (0+7)
147 053E 2D4C goto l19
148 ;HD44780.h: 140: {
149 053F 0E29 swapf ?a_SetData,w
150 0540 390F andlw 15
151 0541 0488 iorwf 8 ;volatile
152 ;HD44780.h: 142: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
153 0542 1485 bsf 5,1
154 0543 0000 nop ;#
155 0544 0000 nop ;#
156 0545 1085 bcf 5,1
157 ;HD44780.h: 143: PORTD &= 0xF0;
158 0546 30F0 movlw -16
159 0547 0588 andwf 8 ;volatile
160 ;HD44780.h: 144: PORTD |= ( c & 0x0F );
161 0548 0829 movf ?a_SetData,w
162 0549 390F andlw 15
163 054A 0488 iorwf 8 ;volatile
164 054B 2D4E goto L1
165 ;HD44780.h: 145: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
166 ;HD44780.h: 146: }
167 054C l19
168 ;HD44780.h: 148: {
169 054C 0829 movf ?a_SetData,w
170 054D 0088 movwf 8 ;volatile
171 054E L1
172 ;HD44780.h: 150: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
173 054E 1485 bsf 5,1
174 054F 0000 nop ;#
175 0550 0000 nop ;#
176 0551 1085 bcf 5,1
177 ;HD44780.h: 151: }
178 ;HD44780.h: 152: RA3 = 0;
179 0552 1185 bcf 5,3
180 ;HD44780.h: 153: }
181 0553 0008 return
182 ;HD44780.h: 176: void
183 ;HD44780.h: 177: LCD_Begin(unsigned char mode)
184 ;HD44780.h: 178: {
185 0554 _LCD_Begin
186 ; _mode assigned to ?a_LCD_Begin+0
187 0000 _LCD_Begin$mode set ?a_LCD_Begin
188 ; _init_value assigned to ?a_LCD_Begin+1
189 0000 _LCD_Begin$init_value set ?a_LCD_Begin+1
190 ; __dcnt assigned to ?a_LCD_Begin+2
191 0000 _LCD_Begin$_dcnt set ?a_LCD_Begin+2
192 ;_mode stored from w
193 0554 0183 clrf 3 ;select bank 0
194 0555 00A3 movwf ?a_LCD_Begin
195 ;HD44780.h: 179: char init_value;
196 0556 1020 bcf _fourbit/(0+8),_fourbit& (0+7)
197 ;HD44780.h: 182: if (mode == 0){
198 0557 08A3 movf ?a_LCD_Begin
199 0558 1D03 btfss 3,2
200 0559 2D5D goto l30
201 ;HD44780.h: 183: fourbit = 1;
202 055A 1420 bsf _fourbit/(0+8),_fourbit& (0+7)
203 ;HD44780.h: 184: init_value = 0x3;
204 055B 3003 movlw 3
205 055C 2D5E goto L2
206 ;HD44780.h: 185: }else{
207 055D l30
208 ;HD44780.h: 186: init_value = 0x3F;
209 055D 303F movlw 63
210 055E L2
211 055E 00A4 movwf ?a_LCD_Begin+1
212 ;HD44780.h: 187: }
213 ;HD44780.h: 188: RA3 = 0;
214 055F 1185 bcf 5,3
215 ;HD44780.h: 189: RA1 = 0;
216 0560 1085 bcf 5,1
217 ;HD44780.h: 190: RA2 = 0;
218 0561 1105 bcf 5,2
219 ;HD44780.h: 191: TRISA3 = 0;
220 0562 1683 bsf 3,5
221 0563 1185 bcf 5,3
222 ;HD44780.h: 192: TRISA1 = 0;
223 0564 1085 bcf 5,1
224 ;HD44780.h: 193: TRISA2 = 0;
225 0565 1105 bcf 5,2
226 ;HD44780.h: 194: TRISD = 0xf0;
227 0566 30F0 movlw -16
228 0567 0088 movwf 8 ;volatile
229 ;HD44780.h: 195: DelayMs(15);
230 0568 300F movlw 15
231 0569 2507 fcall _DelayMs
232 ;HD44780.h: 196: PORTD = init_value;
233 056A 0824 movf ?a_LCD_Begin+1,w
234 056B 0088 movwf 8 ;volatile
235 ;HD44780.h: 197: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
236 056C 1485 bsf 5,1
237 056D 0000 nop ;#
238 056E 0000 nop ;#
239 056F 1085 bcf 5,1
240 ;HD44780.h: 198: DelayMs(5);
241 0570 3005 movlw 5
242 0571 2507 fcall _DelayMs
243 ;HD44780.h: 199: PORTD = init_value;
244 0572 0824 movf ?a_LCD_Begin+1,w
245 0573 0088 movwf 8 ;volatile
246 ;HD44780.h: 200: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
247 0574 1485 bsf 5,1
248 0575 0000 nop ;#
249 0576 0000 nop ;#
250 0577 1085 bcf 5,1
251 ;HD44780.h: 201: { unsigned char _dcnt; _dcnt =
+ (200)/((12*1000L)/(4*1000L))|1; while(--_dcnt
+ != 0) continue; };
252 0578 3043 movlw 67
253 0579 00A5 movwf ?a_LCD_Begin+2
254 057A l33
255 057A 0BA5 decfsz ?a_LCD_Begin+2
256 057B 2D7A goto l33
257 ;HD44780.h: 202: PORTD = init_value;
258 057C 0824 movf ?a_LCD_Begin+1,w
259 057D 0088 movwf 8 ;volatile
260 ;HD44780.h: 203: RA1 = 1; asm("nop"); asm("nop"
+ ); RA1 = 0;
261 057E 1485 bsf 5,1
262 057F 0000 nop ;#
263 0580 0000 nop ;#
264 0581 1085 bcf 5,1
265 ;HD44780.h: 205: if (fourbit){
266 0582 1C20 btfss _fourbit/(0+8),_fourbit& (0+7)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -