📄 led.lst
字号:
230 0D67 3036 movlw low fpl__lightled6
231 0D68 00B9 movwf _pcled+12
232 0D69 3008 movlw high fpl__lightled6
233 0D6A 00BA movwf _pcled+13
234 ;led.c: 95: pcled[7] = lightled7;
235 0D6B 302E movlw low fpl__lightled7
236 0D6C 00BB movwf _pcled+14
237 0D6D 3008 movlw high fpl__lightled7
238 0D6E 00BC movwf _pcled+15
239 ;led.c: 96: pcled[8] = lightled8;
240 0D6F 3030 movlw low fpl__lightled8
241 0D70 00BD movwf _pcled+16
242 0D71 3008 movlw high fpl__lightled8
243 0D72 00BE movwf _pcled+17
244 ;led.c: 97: pcled[9] = lightled9;
245 0D73 302C movlw low fpl__lightled9
246 0D74 00BF movwf _pcled+18
247 0D75 3008 movlw high fpl__lightled9
248 0D76 00C0 movwf _pcled+19
249 ;led.c: 98: }
250 0D77 0008 return
251
252 psect text11
253 033E _CalculateSub
254 ;led.c: 103: *p_aloneD = (char)(Digit/1000);
255 033E 0183 clrf 3 ;select bank 0
256 033F 0848 movf ?_CalculateSub+2,w
257 0340 0084 movwf 4
258 0341 1383 bcf 3,7
259 0342 30E8 movlw 232
260 0343 00F2 movwf btemp+2
261 0344 3003 movlw 3
262 0345 00F3 movwf btemp+3
263 0346 0847 movf ?_CalculateSub+1,w
264 0347 00F1 movwf btemp+1
265 0348 0846 movf ?_CalculateSub,w
266 0349 00F0 movwf btemp
267 034A 118A 26FF fcall lwdiv
268 034C 0874 movf btemp+4,w
269 034D 0080 movwf 0
270 ;led.c: 104: Digit -= *p_aloneD++ * 1000;
271 034E 30E8 movlw 232
272 034F 00F2 movwf btemp+2
273 0350 3003 movlw 3
274 0351 00F3 movwf btemp+3
275 0352 0848 movf ?_CalculateSub+2,w
276 0353 0084 movwf 4
277 0354 1383 bcf 3,7
278 0355 0800 movf 0,w
279 0356 00F0 movwf btemp
280 0357 01F1 clrf btemp+1
281 0358 158A 248C fcall lwmul
282 035A 0874 movf btemp+4,w
283 035B 02C6 subwf ?_CalculateSub
284 035C 1C03 btfss 3,0
285 035D 03C7 decf ?_CalculateSub+1
286 035E 0875 movf btemp+5,w
287 035F 02C7 subwf ?_CalculateSub+1
288 0360 0AC8 incf ?_CalculateSub+2
289 ;led.c: 106: *p_aloneD = (char)(Digit/100);
290 0361 0848 movf ?_CalculateSub+2,w
291 0362 0084 movwf 4
292 0363 1383 bcf 3,7
293 0364 3064 movlw 100
294 0365 00F2 movwf btemp+2
295 0366 01F3 clrf btemp+3
296 0367 0847 movf ?_CalculateSub+1,w
297 0368 00F1 movwf btemp+1
298 0369 0846 movf ?_CalculateSub,w
299 036A 00F0 movwf btemp
300 036B 118A 26FF fcall lwdiv
301 036D 0874 movf btemp+4,w
302 036E 0080 movwf 0
303 ;led.c: 107: Digit -= *p_aloneD++ * 100;
304 036F 3064 movlw 100
305 0370 00F2 movwf btemp+2
306 0371 01F3 clrf btemp+3
307 0372 0848 movf ?_CalculateSub+2,w
308 0373 0084 movwf 4
309 0374 1383 bcf 3,7
310 0375 0800 movf 0,w
311 0376 00F0 movwf btemp
312 0377 01F1 clrf btemp+1
313 0378 158A 248C fcall lwmul
314 037A 0874 movf btemp+4,w
315 037B 02C6 subwf ?_CalculateSub
316 037C 1C03 btfss 3,0
317 037D 03C7 decf ?_CalculateSub+1
318 037E 0875 movf btemp+5,w
319 037F 02C7 subwf ?_CalculateSub+1
320 0380 0AC8 incf ?_CalculateSub+2
321 ;led.c: 109: *p_aloneD = (char)(Digit/10);
322 0381 0848 movf ?_CalculateSub+2,w
323 0382 0084 movwf 4
324 0383 1383 bcf 3,7
325 0384 300A movlw 10
326 0385 00F2 movwf btemp+2
327 0386 01F3 clrf btemp+3
328 0387 0847 movf ?_CalculateSub+1,w
329 0388 00F1 movwf btemp+1
330 0389 0846 movf ?_CalculateSub,w
331 038A 00F0 movwf btemp
332 038B 118A 26FF fcall lwdiv
333 038D 0874 movf btemp+4,w
334 038E 0080 movwf 0
335 ;led.c: 110: Digit -= *p_aloneD++ * 10;
336 038F 300A movlw 10
337 0390 00F2 movwf btemp+2
338 0391 01F3 clrf btemp+3
339 0392 0848 movf ?_CalculateSub+2,w
340 0393 0084 movwf 4
341 0394 1383 bcf 3,7
342 0395 0800 movf 0,w
343 0396 00F0 movwf btemp
344 0397 01F1 clrf btemp+1
345 0398 158A 248C 118A fcall lwmul
346 039B 0874 movf btemp+4,w
347 039C 02C6 subwf ?_CalculateSub
348 039D 1C03 btfss 3,0
349 039E 03C7 decf ?_CalculateSub+1
350 039F 0875 movf btemp+5,w
351 03A0 02C7 subwf ?_CalculateSub+1
352 03A1 0AC8 incf ?_CalculateSub+2
353 ;led.c: 112: *p_aloneD = (char)Digit;
354 03A2 0848 movf ?_CalculateSub+2,w
355 03A3 0084 movwf 4
356 03A4 1383 bcf 3,7
357 03A5 0846 movf ?_CalculateSub,w
358 03A6 0080 movwf 0
359 ;led.c: 113: p_aloneD = 0;
360 03A7 01C8 clrf ?_CalculateSub+2
361 ;led.c: 114: }
362 03A8 0008 return
363 03A9 _sub2
364 ;led.c: 119: bank2 static uint ShowDigit;
365 03A9 0000 nop ;#
366 ;led.c: 121: ShowDigit = (uint)LedShowLink;
367 03AA 1283 bcf 3,5
368 03AB 1703 bsf 3,6
369 03AC 082B movf _LedShowLink^(0+256),w ;volatile
370 03AD 00BD movwf F498^(0+256)
371 03AE 082C movf (_LedShowLink+1)^(0+256),w ;volatile
372 03AF 00BE movwf (F498+1)^(0+256)
373 ;led.c: 122: CalculateSub(ShowDigit,aloneD);
374 03B0 083D movf F498^(0+256),w
375 03B1 1303 bcf 3,6 ;carry unused
376 03B2 00C6 movwf ?_CalculateSub
377 03B3 1703 bsf 3,6
378 03B4 083E movf (F498+1)^(0+256),w
379 03B5 1303 bcf 3,6 ;carry unused
380 03B6 00C7 movwf ?_CalculateSub+1
381 03B7 30C6 movlw _aloneD
382 03B8 00C8 movwf ?_CalculateSub+2
383 03B9 233E 118A fcall _CalculateSub
384 ;led.c: 123: asm("nop");
385 03BB 0000 nop ;#
386 ;led.c: 124: }
387 03BC 0008 return
388
389 psect text13
390 0DAE _subled
391 ; _byteT assigned to ?a_subled+0
392 0000 _subled$byteT set ?a_subled
393 ; _bytebit assigned to ?a_subled+1
394 0000 _subled$bytebit set ?a_subled+1
395 ;led.c: 129: bank2 static char ledbitcou = 0b00
+ 000000;
396 0DAE 0183 clrf 3 ;select bank 0
397 0DAF 01C7 clrf ?a_subled+1
398 0DB0 01C6 clrf ?a_subled
399 ;led.c: 132: if(ledbitcou == 0)
400 0DB1 1703 bsf 3,6
401 0DB2 08BC movf F501^(0+256)
402 0DB3 1D03 btfss 3,2
403 0DB4 2DB9 goto l29
404 ;led.c: 133: {
405 0DB5 1303 bcf 3,6 ;carry unused
406 0DB6 01C7 clrf ?a_subled+1
407 0DB7 0AC7 incf ?a_subled+1
408 ;led.c: 135: }else if(ledbitcou == 1)
409 0DB8 2DCA goto l30
410 0DB9 l29
411 0DB9 0B3C decfsz F501^(0+256),w
412 0DBA 2DBD goto l31
413 ;led.c: 136: {
414 0DBB 3002 movlw 2
415 0DBC 2DC8 goto L2
416 ;led.c: 138: }else if(ledbitcou == 2)
417 0DBD l31
418 0DBD 083C movf F501^(0+256),w
419 0DBE 3A02 xorlw 2
420 0DBF 1D03 btfss 3,2
421 0DC0 2DC3 goto l33
422 ;led.c: 139: {
423 0DC1 3004 movlw 4
424 0DC2 2DC8 goto L2
425 ;led.c: 141: }else if(ledbitcou == 3)
426 0DC3 l33
427 0DC3 083C movf F501^(0+256),w
428 0DC4 3A03 xorlw 3
429 0DC5 1D03 btfss 3,2
430 0DC6 2DCA goto l30
431 ;led.c: 142: {
432 0DC7 3008 movlw 8
433 0DC8 L2
434 0DC8 1303 bcf 3,6 ;carry unused
435 0DC9 00C7 movwf ?a_subled+1
436 ;led.c: 144: }
437 0DCA l30
438 0DCA 30F0 movlw -16
439 0DCB 1303 bcf 3,6 ;carry unused
440 0DCC 0585 andwf 5 ;volatile
441 ;led.c: 147: PORTA |= bytebit;
442 0DCD 0847 movf ?a_subled+1,w
443 0DCE 0485 iorwf 5 ;volatile
444 ;led.c: 149: byteT = aloneD[ledbitcou];
445 0DCF 1703 bsf 3,6
446 0DD0 083C movf F501^(0+256),w
447 0DD1 3EC6 addlw _aloneD
448 0DD2 0084 movwf 4
449 0DD3 1383 bcf 3,7
450 0DD4 0800 movf 0,w
451 0DD5 1303 bcf 3,6 ;carry unused
452 0DD6 00C6 movwf ?a_subled
453 ;led.c: 150: (*pcled[byteT])();
454 0DD7 0746 addwf ?a_subled,w
455 0DD8 3E2D addlw _pcled
456 0DD9 0084 movwf 4
457 0DDA 0800 movf 0,w
458 0DDB 00F0 movwf btemp
459 0DDC 0A84 incf 4
460 0DDD 0800 movf 0,w
461 0DDE 00F1 movwf btemp+1
462 0DDF 00DB movwf code_ptr+1
463 0DE0 0870 movf btemp,w
464 0DE1 118A 210E 158A fcall string_table
465 ;led.c: 151: if(++ledbitcou == 4)
466 0DE4 1703 bsf 3,6
467 0DE5 0ABC incf F501^(0+256)
468 0DE6 083C movf F501^(0+256),w
469 0DE7 3A04 xorlw 4
470 0DE8 1903 btfsc 3,2
471 ;led.c: 152: ledbitcou = 0;
472 0DE9 01BC clrf F501^(0+256)
473 ;led.c: 153: }
474 0DEA 1303 bcf 3,6 ;carry unused
475 0DEB 0008 return
476
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -