📄 main program.lst
字号:
HI-TECH Software PICC Macro Assembler V9.60PL2
Sun Jan 04 11:02:48 2009
1 processor 16F886
2 opt pw 79
3 psect strings,global,class=STRING,delta=2
4 psect const1,local,class=CONST,delta=2
5 psect text1,local,class=CODE,delta=2
6 psect text2,local,class=CODE,delta=2
7 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
8 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
9 0000
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19
20 psect const1
21 1800 0782 addwf 2
22 1801 _Duty
23 1801 3401 retlw 1
24 1802 3404 retlw 4
25 1803 3408 retlw 8
26 1804 340C retlw 12
27 1805 340F retlw 15
28 1806 3414 retlw 20
29 1807 3419 retlw 25
30 1808 341E retlw 30
31 1809 3428 retlw 40
32 180A 3432 retlw 50
33 180B 343C retlw 60
34 180C 3446 retlw 70
35 180D 3450 retlw 80
36 180E 345A retlw 90
37 180F 345F retlw 95
38 1810 3464 retlw 100
39
40 psect text1
41 1D03 _Init
42 ; _i assigned to ?a_Init+0
43 0000 _Init$i set ?a_Init
44 ;Main Program.c: 95: void
45 1D03 160A 118A 2408 fcall _FoscSetup
46 ;Main Program.c: 100: LcdSet();
47 1D06 160A 158A 24D1 fcall _LcdSet
48 ;Main Program.c: 101: LcdClear();
49 1D09 160A 158A 2424 fcall _LcdClear
50 ;Main Program.c: 102: LCD_hanzi(1,33,1,4);
51 1D0C 3021 movlw 33
52 1D0D 00C2 movwf ?_LCD_hanzi
53 1D0E 01C3 clrf ?_LCD_hanzi+1
54 1D0F 0AC3 incf ?_LCD_hanzi+1
55 1D10 01C4 clrf ?_LCD_hanzi+2
56 1D11 3004 movlw 4
57 1D12 00C5 movwf ?_LCD_hanzi+3
58 1D13 3001 movlw 1
59 1D14 160A 118A 2502 fcall _LCD_hanzi
60 ;Main Program.c: 103: for(i=1;i<=16;i++)
61 1D17 01C1 clrf ?a_Init
62 1D18 0AC1 incf ?a_Init
63 1D19 l33
64 ;Main Program.c: 104: LcdEmpty(i);
65 1D19 0841 movf ?a_Init,w
66 1D1A 160A 158A 25D5 fcall _LcdEmpty
+ 160A 158A
67 1D1F 0AC1 incf ?a_Init
68 1D20 3011 movlw 17
69 1D21 0241 subwf ?a_Init,w
70 1D22 1C03 btfss 3,0
71 1D23 2D19 goto l33
72 ;Main Program.c: 105: for(i=1;i<=16;i++)
73 1D24 01C1 clrf ?a_Init
74 1D25 0AC1 incf ?a_Init
75 1D26 l36
76 ;Main Program.c: 106: LcdFull(i);
77 1D26 0841 movf ?a_Init,w
78 1D27 160A 118A 242C fcall _LcdFull
+ 160A 158A
79 1D2C 0AC1 incf ?a_Init
80 1D2D 3011 movlw 17
81 1D2E 0241 subwf ?a_Init,w
82 1D2F 1C03 btfss 3,0
83 1D30 2D26 goto l36
84 ;Main Program.c: 108: CapInit();
85 1D31 160A 158A 26B2 fcall _CapInit
86 ;Main Program.c: 110: PwmSetup(Duty[15]);
87 1D34 3018 movlw _Duty shr (0+8)
88 1D35 008A movwf 10
89 1D36 300F movlw 15
90 1D37 2000 call ((_Duty+-1)& (0+2047))| (($)& (0+-2048))
91 1D38 160A 158A 2472 fcall _PwmSetup
+ 160A 158A
92 ;Main Program.c: 111: DV=15;
93 1D3D 300F movlw 15
94 1D3E 00A2 movwf _DV
95 ;Main Program.c: 112: }
96 1D3F 0008 return ;W free
97 1D40 _main
98 ; _j assigned to ?a_main+0
99 0000 _main$j set ?a_main
100 ; _i assigned to ?a_main+1
101 0000 _main$i set ?a_main+1
102 ;Main Program.c: 5: void
103 1D40 2503 160A 158A fcall _Init
104 1D43 l4
105 ;Main Program.c: 14: while(1){
106 ;Main Program.c: 16: RA7 = (Buttons.Btn0== 1) ?
+ 1 : 0;
107 1D43 1C21 btfss _Buttons,0 ;volatile
108 1D44 2D47 goto u10
109 1D45 1785 bsf 5,7
110 1D46 2D48 goto u24
111 1D47 u10
112 1D47 1385 bcf 5,7
113 1D48 u24
114 ;Main Program.c: 18: RA6 = (Buttons.Btn1== 1) ?
+ 1 : 0;
115 1D48 1283 bcf 3,5
116 1D49 1303 bcf 3,6 ;carry unused
117 1D4A 1CA1 btfss _Buttons,1 ;volatile
118 1D4B 2D4E goto u30
119 1D4C 1705 bsf 5,6
120 1D4D 2D4F goto u44
121 1D4E u30
122 1D4E 1305 bcf 5,6
123 1D4F u44
124 ;Main Program.c: 19: if(Buttons.Btn0==1){
125 1D4F 1C21 btfss _Buttons,0 ;volatile
126 1D50 2D91 goto l6
127 ;Main Program.c: 20: for(i=0;i<10;i++)
128 1D51 01C0 clrf ?a_main+1
129 1D52 l7
130 ;Main Program.c: 21: DelayMs(250);
131 1D52 30FA movlw -6
132 1D53 160A 158A 23FA fcall _DelayMs
+ 160A 158A
133 1D58 0AC0 incf ?a_main+1
134 1D59 300A movlw 10
135 1D5A 0240 subwf ?a_main+1,w
136 1D5B 1C03 btfss 3,0
137 1D5C 2D52 goto l7
138 ;Main Program.c: 22: if(DV==15){
139 1D5D 0822 movf _DV,w
140 1D5E 3A0F xorlw 15
141 ;Main Program.c: 27: }else{
142 ;Main Program.c: 28: for(i=Duty[DV];i<Duty[DV+1
+ ];i++){
143 1D5F 3018 movlw _Duty shr (0+8)
144 1D60 1903 btfsc 3,2
145 1D61 2D89 goto L1
146 1D62 008A movwf 10
147 1D63 0822 movf _DV,w
148 1D64 2000 call ((_Duty+-1)& (0+2047))| (($)& (0+-2048))
149 1D65 00C0 movwf ?a_main+1
150 1D66 l15
151 1D66 3018 movlw _Duty shr (0+8)
152 1D67 008A movwf 10
153 1D68 0A22 incf _DV,w
154 1D69 2000 call ((_Duty+-1)& (0+2047))| (($)& (0+-2048))
155 1D6A 160A 158A pagesel $
156 1D6C 0240 subwf ?a_main+1,w
157 1D6D 1803 btfsc 3,0
158 1D6E 2D83 goto l13
159 ;Main Program.c: 29: for(j=0;j<6;j++)
160 1D6F 01BF clrf ?a_main
161 1D70 l16
162 ;Main Program.c: 30: DelayMs(250);
163 1D70 30FA movlw -6
164 1D71 160A 158A 23FA fcall _DelayMs
+ 160A 158A
165 1D76 0ABF incf ?a_main
166 1D77 3006 movlw 6
167 1D78 023F subwf ?a_main,w
168 1D79 1C03 btfss 3,0
169 1D7A 2D70 goto l16
170 ;Main Program.c: 31: PwmValueSetup(i);
171 1D7B 0840 movf ?a_main+1,w
172 1D7C 160A 158A 2450 fcall _PwmValueSetup
+ 160A 158A
173 1D81 0AC0 incf ?a_main+1
174 1D82 2D66 goto l15
175 1D83 l13
176 ;Main Program.c: 32: }
177 1D83 0AA2 incf _DV
178 ;Main Program.c: 34: LcdFull(DV+1);
179 1D84 0A22 incf _DV,w
180 1D85 160A 118A 242C fcall _LcdFull
181 ;Main Program.c: 35: }
182 1D88 3018 movlw _Duty shr (0+8)
183 1D89 L1
184 1D89 008A movwf 10
185 1D8A 0822 movf _DV,w
186 1D8B 2000 call ((_Duty+-1)& (0+2047))| (($)& (0+-2048))
187 1D8C 160A 158A 2450 fcall _PwmValueSetup
+ 160A 158A
188 1D91 l6
189 ;Main Program.c: 39: }
190 1D91 1CA1 btfss _Buttons,1 ;volatile
191 1D92 2D43 goto l4
192 ;Main Program.c: 42: for(i=0;i<10;i++)
193 1D93 01C0 clrf ?a_main+1
194 1D94 l20
195 ;Main Program.c: 43: DelayMs(250);
196 1D94 30FA movlw -6
197 1D95 160A 158A 23FA fcall _DelayMs
+ 160A 158A
198 1D9A 0AC0 incf ?a_main+1
199 1D9B 300A movlw 10
200 1D9C 0240 subwf ?a_main+1,w
201 1D9D 1C03 btfss 3,0
202 1D9E 2D94 goto l20
203 ;Main Program.c: 45: if(DV==0){
204 1D9F 08A2 movf _DV
205 ;Main Program.c: 50: }else{
206 ;Main Program.c: 51: for(i=Duty[DV];i>Duty[DV-1
+ ];i--){
207 1DA0 3018 movlw _Duty shr (0+8)
208 1DA1 1903 btfsc 3,2
209 1DA2 2DCC goto L2
210 1DA3 008A movwf 10
211 1DA4 0822 movf _DV,w
212 1DA5 2000 call ((_Duty+-1)& (0+2047))| (($)& (0+-2048))
213 1DA6 00C0 movwf ?a_main+1
214 1DA7 l28
215 1DA7 3018 movlw _Duty shr (0+8)
216 1DA8 008A movwf 10
217 1DA9 0322 decf _DV,w
218 1DAA 2000 call ((_Duty+-1)& (0+2047))| (($)& (0+-2048))
219 1DAB 160A 158A pagesel $
220 1DAD 00F4 movwf btemp
221 1DAE 0840 movf ?a_main+1,w
222 1DAF 0274 subwf btemp,w
223 1DB0 1803 btfsc 3,0
224 1DB1 2DC6 goto l26
225 ;Main Program.c: 52: for(j=0;j<6;j++)
226 1DB2 01BF clrf ?a_main
227 1DB3 l29
228 ;Main Program.c: 53: DelayMs(250);
229 1DB3 30FA movlw -6
230 1DB4 160A 158A 23FA fcall _DelayMs
+ 160A 158A
231 1DB9 0ABF incf ?a_main
232 1DBA 3006 movlw 6
233 1DBB 023F subwf ?a_main,w
234 1DBC 1C03 btfss 3,0
235 1DBD 2DB3 goto l29
236 ;Main Program.c: 54: PwmValueSetup(i);
237 1DBE 0840 movf ?a_main+1,w
238 1DBF 160A 158A 2450 fcall _PwmValueSetup
+ 160A 158A
239 1DC4 03C0 decf ?a_main+1
240 1DC5 2DA7 goto l28
241 1DC6 l26
242 ;Main Program.c: 55: }
243 1DC6 0A22 incf _DV,w
244 1DC7 160A 158A 25D5 fcall _LcdEmpty
245 ;Main Program.c: 57: DV--;
246 1DCA 03A2 decf _DV
247 ;Main Program.c: 59: }
248 1DCB 3018 movlw _Duty shr (0+8)
249 1DCC L2
250 1DCC 008A movwf 10
251 1DCD 0822 movf _DV,w
252 1DCE 2000 call ((_Duty+-1)& (0+2047))| (($)& (0+-2048))
253 1DCF 160A 158A 2450 fcall _PwmValueSetup
+ 160A 158A
254 1DD4 2D43 goto l4
255
256 psect text2
257 0000
258 0000
259 0000
260 0000
261 0000
262 0000
263 0000
264 0000
265 0000
266 0000
267 0000
268 0000
269 0000
270 0000
271 0000
272 0000
273 0000
274 0000
275 0000
276 0000
277 0000
278 0000
279 0000
280 0000
281 0000
282 0000
283 0000
284 0000
285 0000
286 0000
287 0000
288 0000
289 0000
290 0000
291 0000
292 0000
293 0000
294 0000
295 0000
296 0000
297 0000
298 0000
299 0000
300 0000
301 0000
302 0000
303 0000
304 0000
305 0000
306 0000
307 0000
308 0000
309 0000
310 0000
311 0000
312 0000
313 0000
314 0000
315 0000
316 0000
317 0000
318 0000
319 0000
320 0000
321 0000
322 0000
323 0000
324 0000
325 0000
326 0000
327 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -