📄 power.lst
字号:
238 0210 1385 bcf 5,7
239 ;power.c: 141: short_delay(5);
240 0211 3005 movlw 5
241 0212 2286 call _short_delay
242 ;power.c: 142: RB7=0;
243 0213 1386 bcf 6,7
244 ;power.c: 143: short_delay(5);
245 0214 3005 movlw 5
246 0215 2286 call _short_delay
247 ;power.c: 144: RB1=0;
248 0216 1086 bcf 6,1
249 ;power.c: 145: short_delay(5);
250 0217 3005 movlw 5
251 0218 2286 call _short_delay
252 ;power.c: 146: RA0=0;
253 0219 1005 bcf 5,0
254 ;power.c: 147: short_delay(5);
255 021A 3005 movlw 5
256 021B 2286 call _short_delay
257 ;power.c: 148: RA3=0;
258 021C 1185 bcf 5,3
259 ;power.c: 149: short_delay(5);
260 021D 3005 movlw 5
261 021E 2286 call _short_delay
262 ;power.c: 150: RA2=0;
263 021F 1105 bcf 5,2
264 ;power.c: 151: short_delay(5);
265 0220 3005 movlw 5
266 0221 2286 call _short_delay
267 ;power.c: 152: RB6=0;
268 0222 1306 bcf 6,6
269 ;power.c: 153: short_delay(5);
270 0223 3005 movlw 5
271 0224 2286 call _short_delay
272 ;power.c: 154: RB4=0;
273 0225 1206 bcf 6,4
274 ;power.c: 155: short_delay(5);
275 0226 3005 movlw 5
276 0227 2286 call _short_delay
277 ;power.c: 156: RB5=0;
278 0228 1286 bcf 6,5
279 ;power.c: 157: short_delay(5);
280 0229 3005 movlw 5
281 022A 2286 call _short_delay
282 ;power.c: 158: RA6=0;
283 022B 1305 bcf 5,6
284 ;power.c: 159: short_delay(5);
285 022C 3005 movlw 5
286 022D 2286 call _short_delay
287 ;power.c: 160: RB3=0;
288 022E 1186 bcf 6,3
289 ;power.c: 161: short_delay(5);
290 022F 3005 movlw 5
291 0230 2286 call _short_delay
292 ;power.c: 162: RB2=0;
293 0231 1106 bcf 6,2
294 ;power.c: 163: }
295 0232 0008 return ;W free
296
297 psect text8
298 0157 _lamp_on
299 ; _LampNoub assigned to ?a_lamp_on+0
300 0000 _lamp_on$LampNoub set ?a_lamp_on
301 ;_LampNoub stored from w
302 0157 0183 clrf 3 ;select bank 0
303 0158 00AC movwf ?a_lamp_on
304 ;power.c: 165: void lamp_on(unsigned char LampN
+ oub)
305 0159 2972 goto l25
306 015A l26
307 ;power.c: 168: {
308 015A 1785 bsf 5,7
309 015B 0008 return
310 015C l27
311 ;power.c: 170: case 1:RB7=1;break;
312 015C 1786 bsf 6,7
313 015D 0008 return
314 015E l28
315 ;power.c: 171: case 2:RB1=1;break;
316 015E 1486 bsf 6,1
317 015F 0008 return
318 0160 l29
319 ;power.c: 172: case 3:RA0=1;break;
320 0160 1405 bsf 5,0
321 0161 0008 return
322 0162 l30
323 ;power.c: 173: case 4:RA3=1;break;
324 0162 1585 bsf 5,3
325 0163 0008 return
326 0164 l31
327 ;power.c: 174: case 5:RA2=1;break;
328 0164 1505 bsf 5,2
329 0165 0008 return
330 0166 l32
331 ;power.c: 175: case 6:RB6=1;break;
332 0166 1706 bsf 6,6
333 0167 0008 return
334 0168 l33
335 ;power.c: 176: case 7:RB4=1;break;
336 0168 1606 bsf 6,4
337 0169 0008 return
338 016A l34
339 ;power.c: 177: case 8:RB5=1;break;
340 016A 1686 bsf 6,5
341 016B 0008 return
342 016C l35
343 ;power.c: 178: case 9:RA6=1;break;
344 016C 1705 bsf 5,6
345 016D 0008 return
346 016E l36
347 ;power.c: 179: case 10:RB3=1;break;
348 016E 1586 bsf 6,3
349 016F 0008 return
350 0170 l37
351 ;power.c: 180: case 11:RB2=1;break;
352 0170 1506 bsf 6,2
353 ;power.c: 181: default:break;
354 0171 0008 return
355 0172 l25
356 0172 1283 bcf 3,5
357 0173 1303 bcf 3,6 ;carry unused
358 0174 082C movf ?a_lamp_on,w
359 0175 00F0 movwf btemp
360 0176 3EF4 addlw -12
361 0177 1803 btfsc 3,0
362 0178 0008 return
363 0179 3E0C addlw 12
364 017A 1C03 btfss 3,0
365 017B 0008 return
366 017C 3001 movlw S30004 shr (0+8)
367 017D 008A movwf 10
368 017E 3083 movlw S30004& (0+255)
369 017F 0770 addwf btemp,w
370 0180 1803 btfsc 3,0
371 0181 0A8A incf 10
372 0182 0082 movwf 2
373 0183 S30004
374 0183 295A goto l26
375 0184 295C goto l27
376 0185 295E goto l28
377 0186 2960 goto l29
378 0187 2962 goto l30
379 0188 2964 goto l31
380 0189 2966 goto l32
381 018A 2968 goto l33
382 018B 296A goto l34
383 018C 296C goto l35
384 018D 296E goto l36
385 018E 2970 goto l37
386
387 psect text9
388 0267 _quit_switch
389 ; _Rest assigned to ?a_quit_switch+0
390 0000 _quit_switch$Rest set ?a_quit_switch
391 ;_Rest stored from w
392 0267 0183 clrf 3 ;select bank 0
393 0268 00AD movwf ?a_quit_switch
394 ;power.c: 185: void quit_switch(unsigned char R
+ est,unsigned char User)
395 0269 138B bcf 11,7
396 ;power.c: 188: fChangeSwitch=0;
397 026A 1120 bcf _fChangeSwitch/(0+8),_fChangeSwitch& (0+7)
398 ;power.c: 189: fSaveEnergy=1;
399 026B 1620 bsf _fSaveEnergy/(0+8),_fSaveEnergy& (0+7)
400 ;power.c: 190: State=CLOSE_LAMP;
401 026C 01B0 clrf _State
402 ;power.c: 191: Save.RestTimes=Rest;
403 026D 00A7 movwf _Save+1
404 ;power.c: 192: Save.Users=User;
405 026E 082C movf ?_quit_switch,w
406 026F 00A6 movwf _Save
407 ;power.c: 197: (GIE = 1);
408 0270 178B bsf 11,7
409 ;power.c: 198: }
410 0271 0008 return ;W free
411
412 psect text10
413 029A _account_user
414 ;power.c: 200: void account_user(unsigned Curre
+ ntUser)
415 029A 0183 clrf 3 ;select bank 0
416 029B 0008 return ;W free
417
418 psect text11
419 00D4 _switch_deal
420 ; _NextUser assigned to ?a_switch_deal+0
421 0000 _switch_deal$NextUser set ?a_switch_deal
422 ; _i assigned to ?a_switch_deal+1
423 0000 _switch_deal$i set ?a_switch_deal+1
424 ; _i assigned to ?a_switch_deal+1
425 0000 _switch_deal$i set ?a_switch_deal+1
426 ;power.c: 237: void switch_deal(void)
427 00D4 2945 goto l43
428 00D5 l44
429 ;power.c: 242: {
430 ;power.c: 244: close_all_lamp();
431 00D5 220F call _close_all_lamp
432 ;power.c: 245: State=WAIT_CLOSE;
433 00D6 01B0 clrf _State
434 00D7 0AB0 incf _State
435 ;power.c: 246: break;
436 00D8 0008 return
437 00D9 l45
438 ;power.c: 247: case WAIT_CLOSE:
439 ;power.c: 248: if(RA4)
440 00D9 1E05 btfss 5,4
441 00DA 0008 return
442 ;power.c: 249: {
443 00DB 30FA movlw -6
444 00DC 2286 call _short_delay
445 ;power.c: 251: if(RA4)
446 00DD 1E05 btfss 5,4
447 00DE 0008 return
448 ;power.c: 252: {
449 00DF 3002 movlw 2
450 00E0 00B0 movwf _State
451 ;power.c: 254: }
452 00E1 0008 return
453 00E2 l48
454 ;power.c: 257: case NEXT_LAMP_ON:
455 ;power.c: 258: NextUser=SwitchUser+1;
456 00E2 0A25 incf _SwitchUser,w
457 00E3 00AA movwf ?a_switch_deal
458 ;power.c: 259: if(NextUser>=12){NextUser=0;}
459 00E4 300C movlw 12
460 00E5 022A subwf ?a_switch_deal,w
461 00E6 1803 btfsc 3,0
462 00E7 01AA clrf ?a_switch_deal
463 ;power.c: 260: lamp_on(NextUser);
464 00E8 082A movf ?a_switch_deal,w
465 00E9 2157 call _lamp_on
466 ;power.c: 261: (GIE = 0);
467 00EA 138B bcf 11,7
468 ;power.c: 262: DelaySwitch.TimeOut=0;
469 00EB 01B4 clrf _DelaySwitch+3
470 ;power.c: 263: DelaySwitch.en=1;
471 00EC 01B1 clrf _DelaySwitch
472 00ED 0AB1 incf _DelaySwitch
473 ;power.c: 264: (GIE = 1);
474 00EE 178B bsf 11,7
475 ;power.c: 270: State=DELAY;
476 00EF 3003 movlw 3
477 00F0 00B0 movwf _State
478 ;power.c: 271: break;
479 00F1 0008 return
480 00F2 l50
481 ;power.c: 272: case DELAY:
482 ;power.c: 280: if(DelaySwitch.TimeOut)
483 00F2 08B4 movf _DelaySwitch+3
484 00F3 1903 btfsc 3,2
485 00F4 0008 return
486 ;power.c: 281: {
487 00F5 01B4 clrf _DelaySwitch+3
488 ;power.c: 283: State=ACCOUNT;
489 00F6 3004 movlw 4
490 00F7 00B0 movwf _State
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -