📄 lcd1602a.lst
字号:
313 06F6 0800 movf 0,w
314 06F7 00A2 movwf ?_LCD_write_data
315 06F8 01A3 clrf ?_LCD_write_data+1
316 06F9 26C2 120A 118A fcall _LCD_write_data
317 ;lcd1602a.c: 147: s ++;
318 06FC 0AA1 incf ?_LCD_write_string+1
319 06FD l13
320 ;lcd1602a.c: 148: }
321 06FD 0821 movf ?_LCD_write_string+1,w
322 06FE 0084 movwf 4
323 06FF 1383 bcf 3,7
324 0700 0880 movf 0
325 0701 1903 btfsc 3,2
326 0702 0008 return
327 0703 2EF3 goto l14
328 ;lcd1602a.c: 215: void delay_1ms(void)
329 ;lcd1602a.c: 216: {
330 0704 _delay_1ms
331 ; _i assigned to ?a_delay_1ms+0
332 0000 _delay_1ms$i set ?a_delay_1ms
333 ;lcd1602a.c: 217: unsigned int i;
334 0704 0183 clrf 3 ;select bank 0
335 0705 01AD clrf ?a_delay_1ms
336 0706 01AE clrf ?a_delay_1ms+1
337 0707 l33
338 0707 0AAD incf ?a_delay_1ms
339 0708 1903 btfsc 3,2
340 0709 0AAE incf ?a_delay_1ms+1
341 070A 3003 movlw 3
342 070B 022E subwf ?a_delay_1ms+1,w
343 070C 30E8 movlw 232
344 070D 1903 btfsc 3,2
345 070E 022D subwf ?a_delay_1ms,w
346 070F 1803 btfsc 3,0
347 0710 0008 return
348 0711 2F07 goto l33
349 0712 _delay_nms
350 ; _i assigned to ?a_delay_nms+0
351 0000 _delay_nms$i set ?a_delay_nms
352 ;lcd1602a.c: 223: unsigned int i=0;
353 0712 0183 clrf 3 ;select bank 0
354 0713 01AB clrf ?a_delay_nms
355 0714 01AC clrf ?a_delay_nms+1
356 ;lcd1602a.c: 224: for (i=0;i<n;i++)
357 0715 01AB clrf ?a_delay_nms
358 0716 01AC clrf ?a_delay_nms+1
359 0717 2F1C goto l40
360 0718 l37
361 ;lcd1602a.c: 225: delay_1ms();
362 0718 2704 fcall _delay_1ms
363 0719 0AAB incf ?a_delay_nms
364 071A 1903 btfsc 3,2
365 071B 0AAC incf ?a_delay_nms+1
366 071C l40
367 071C 082A movf ?_delay_nms+1,w
368 071D 022C subwf ?a_delay_nms+1,w
369 071E 1D03 btfss 3,2
370 071F 2F22 goto u95
371 0720 0829 movf ?_delay_nms,w
372 0721 022B subwf ?a_delay_nms,w
373 0722 u95
374 0722 1803 btfsc 3,0
375 0723 0008 return
376 0724 2F18 goto l37
377 0725 _LCD_init
378 ;lcd1602a.c: 34: delay_nms(15);
379 0725 300F movlw 15
380 0726 0183 clrf 3 ;select bank 0
381 0727 00A9 movwf ?_delay_nms
382 0728 01AA clrf ?_delay_nms+1
383 0729 2712 fcall _delay_nms
384 ;lcd1602a.c: 36: LCD_write_cmd(0x28);
385 072A 3028 movlw 40
386 072B 00A5 movwf ?_LCD_write_cmd
387 072C 01A6 clrf ?_LCD_write_cmd+1
388 072D 268C 120A 118A fcall _LCD_write_cmd
389 ;lcd1602a.c: 37: delay_nus(500);
390 0730 30F4 movlw 244
391 0731 00A2 movwf ?_delay_nus
392 0732 3001 movlw 1
393 0733 00A3 movwf ?_delay_nus+1
394 0734 2678 fcall _delay_nus
395 ;lcd1602a.c: 38: LCD_write_cmd(0x0f);
396 0735 300F movlw 15
397 0736 00A5 movwf ?_LCD_write_cmd
398 0737 01A6 clrf ?_LCD_write_cmd+1
399 0738 268C 120A 118A fcall _LCD_write_cmd
400 ;lcd1602a.c: 39: delay_nus(500);
401 073B 30F4 movlw 244
402 073C 00A2 movwf ?_delay_nus
403 073D 3001 movlw 1
404 073E 00A3 movwf ?_delay_nus+1
405 073F 2678 fcall _delay_nus
406 ;lcd1602a.c: 40: LCD_write_cmd(0x01);
407 0740 01A5 clrf ?_LCD_write_cmd
408 0741 0AA5 incf ?_LCD_write_cmd
409 0742 01A6 clrf ?_LCD_write_cmd+1
410 0743 268C 120A 118A fcall _LCD_write_cmd
411 ;lcd1602a.c: 41: delay_nms(50);
412 0746 3032 movlw 50
413 0747 00A9 movwf ?_delay_nms
414 0748 01AA clrf ?_delay_nms+1
415 0749 2712 fcall _delay_nms
416 ;lcd1602a.c: 42: LCD_write_cmd(0x06);
417 074A 3006 movlw 6
418 074B 00A5 movwf ?_LCD_write_cmd
419 074C 01A6 clrf ?_LCD_write_cmd+1
420 074D 268C 120A 118A fcall _LCD_write_cmd
421 ;lcd1602a.c: 43: delay_nms(5);
422 0750 3005 movlw 5
423 0751 00A9 movwf ?_delay_nms
424 0752 01AA clrf ?_delay_nms+1
425 0753 2F12 ljmp _delay_nms
426 0754 _LCD_en_write
427 ;lcd1602a.c: 48: RA3 = 0;
428 0754 0183 clrf 3 ;select bank 0
429 0755 1185 bcf 5,3
430 ;lcd1602a.c: 49: delay_nms(10);
431 0756 300A movlw 10
432 0757 00A9 movwf ?_delay_nms
433 0758 01AA clrf ?_delay_nms+1
434 0759 2712 fcall _delay_nms
435 ;lcd1602a.c: 50: RA3 = 1;
436 075A 1585 bsf 5,3
437 ;lcd1602a.c: 51: }
438 075B 0008 return
439 ;lcd1602a.c: 160: void main()
440 ;lcd1602a.c: 161: { int i;
441 075C _main
442 ; _i assigned to ?a_main+0
443 0000 _main$i set ?a_main
444 ;lcd1602a.c: 162: delay_nms(10);
445 075C 300A movlw 10
446 075D 1283 bcf 3,5
447 075E 1303 bcf 3,6 ;carry unused
448 075F 00A9 movwf ?_delay_nms
449 0760 01AA clrf ?_delay_nms+1
450 0761 2712 fcall _delay_nms
451 ;lcd1602a.c: 163: INTCON=0x00;
452 0762 018B clrf 11 ;volatile
453 ;lcd1602a.c: 164: ADCON1=0x07;
454 0763 3007 movlw 7
455 0764 1683 bsf 3,5
456 0765 009F movwf 31 ;volatile
457 ;lcd1602a.c: 165: TRISA=0x00;
458 0766 0185 clrf 5 ;volatile
459 ;lcd1602a.c: 166: TRISC=0x00;
460 0767 0187 clrf 7 ;volatile
461 ;lcd1602a.c: 167: LCD_init();
462 0768 2725 120A 118A fcall _LCD_init
463 076B l18
464 ;lcd1602a.c: 170: while(1)
465 ;lcd1602a.c: 171: {
466 076B 01A5 clrf ?_LCD_write_cmd
467 076C 0AA5 incf ?_LCD_write_cmd
468 076D 01A6 clrf ?_LCD_write_cmd+1
469 076E 268C 120A 118A fcall _LCD_write_cmd
470 ;lcd1602a.c: 173: delay_nms(20);
471 0771 3014 movlw 20
472 0772 00A9 movwf ?_delay_nms
473 0773 01AA clrf ?_delay_nms+1
474 0774 2712 fcall _delay_nms
475 ;lcd1602a.c: 174: LCD_set_xy(3,0);
476 0775 01A2 clrf ?_LCD_set_xy
477 0776 3003 movlw 3
478 0777 26B4 fcall _LCD_set_xy
479 ;lcd1602a.c: 175: i=0;
480 0778 01A0 clrf ?a_main
481 0779 01A1 clrf ?a_main+1
482 ;lcd1602a.c: 176: while(dis0[i] != '\0')
483 077A l20
484 ;lcd1602a.c: 181: }
485 077A 3000 movlw _dis0 shr (0+8)
486 077B 008A movwf 10
487 077C 0820 movf ?a_main,w
488 077D 2037 call ((_dis0+-1)& (0+2047))| (($)& (0+-2048))
489 077E 120A 118A pagesel $
490 0780 3800 iorlw 0
491 0781 1903 btfsc 3,2
492 0782 2F92 goto l22
493 ;lcd1602a.c: 177: {
494 0783 3000 movlw _dis0 shr (0+8)
495 0784 008A movwf 10
496 0785 0820 movf ?a_main,w
497 0786 2037 call ((_dis0+-1)& (0+2047))| (($)& (0+-2048))
498 0787 00A2 movwf ?_LCD_write_data
499 0788 01A3 clrf ?_LCD_write_data+1
500 0789 120A 118A 26C2 fcall _LCD_write_data
+ 120A 118A
501 ;lcd1602a.c: 180: i++;
502 078E 0AA0 incf ?a_main
503 078F 1903 btfsc 3,2
504 0790 0AA1 incf ?a_main+1
505 0791 2F7A goto l20
506 0792 l22
507 ;lcd1602a.c: 182: LCD_set_xy(1,1);
508 0792 01A2 clrf ?_LCD_set_xy
509 0793 0AA2 incf ?_LCD_set_xy
510 0794 3001 movlw 1
511 0795 26B4 fcall _LCD_set_xy
512 ;lcd1602a.c: 183: i = 0;
513 0796 01A0 clrf ?a_main
514 0797 01A1 clrf ?a_main+1
515 ;lcd1602a.c: 184: while(dis1[i] != '\0')
516 0798 l23
517 ;lcd1602a.c: 189: }
518 0798 3000 movlw _dis1 shr (0+8)
519 0799 008A movwf 10
520 079A 0820 movf ?a_main,w
521 079B 2019 call ((_dis1+-1)& (0+2047))| (($)& (0+-2048))
522 079C 120A 118A pagesel $
523 079E 3800 iorlw 0
524 079F 1903 btfsc 3,2
525 07A0 2FB0 goto l25
526 ;lcd1602a.c: 185: {
527 07A1 3000 movlw _dis1 shr (0+8)
528 07A2 008A movwf 10
529 07A3 0820 movf ?a_main,w
530 07A4 2019 call ((_dis1+-1)& (0+2047))| (($)& (0+-2048))
531 07A5 00A2 movwf ?_LCD_write_data
532 07A6 01A3 clrf ?_LCD_write_data+1
533 07A7 120A 118A 26C2 fcall _LCD_write_data
+ 120A 118A
534 ;lcd1602a.c: 188: i++;
535 07AC 0AA0 incf ?a_main
536 07AD 1903 btfsc 3,2
537 07AE 0AA1 incf ?a_main+1
538 07AF 2F98 goto l23
539 07B0 l25
540 ;lcd1602a.c: 190: delay_nms(1000);
541 07B0 30E8 movlw 232
542 07B1 00A9 movwf ?_delay_nms
543 07B2 3003 movlw 3
544 07B3 00AA movwf ?_delay_nms+1
545 07B4 2712 fcall _delay_nms
546 ;lcd1602a.c: 191: LCD_write_cmd(0x01);
547 07B5 01A5 clrf ?_LCD_write_cmd
548 07B6 0AA5 incf ?_LCD_write_cmd
549 07B7 01A6 clrf ?_LCD_write_cmd+1
550 07B8 268C 120A 118A fcall _LCD_write_cmd
551 ;lcd1602a.c: 192: delay_nms(50);
552 07BB 3032 movlw 50
553 07BC 00A9 movwf ?_delay_nms
554 07BD 01AA clrf ?_delay_nms+1
555 07BE 2712 fcall _delay_nms
556 ;lcd1602a.c: 193: LCD_set_xy(1,0);
557 07BF 01A2 clrf ?_LCD_set_xy
558 07C0 3001 movlw 1
559 07C1 26B4 fcall _LCD_set_xy
560 ;lcd1602a.c: 194: i=0;
561 07C2 01A0 clrf ?a_main
562 07C3 01A1 clrf ?a_main+1
563 ;lcd1602a.c: 195: while(dis2[i] != '\0')
564 07C4 l26
565 ;lcd1602a.c: 200: }
566 07C4 3000 movlw _dis2 shr (0+8)
567 07C5 008A movwf 10
568 07C6 0820 movf ?a_main,w
569 07C7 2029 call ((_dis2+-1)& (0+2047))| (($)& (0+-2048))
570 07C8 120A 118A pagesel $
571 07CA 3800 iorlw 0
572 07CB 1903 btfsc 3,2
573 07CC 2FDC goto l28
574 ;lcd1602a.c: 196: {
575 07CD 3000 movlw _dis2 shr (0+8)
576 07CE 008A movwf 10
577 07CF 0820 movf ?a_main,w
578 07D0 2029 call ((_dis2+-1)& (0+2047))| (($)& (0+-2048))
579 07D1 00A2 movwf ?_LCD_write_data
580 07D2 01A3 clrf ?_LCD_write_data+1
581 07D3 120A 118A 26C2 fcall _LCD_write_data
+ 120A 118A
582 ;lcd1602a.c: 199: i++;
583 07D8 0AA0 incf ?a_main
584 07D9 1903 btfsc 3,2
585 07DA 0AA1 incf ?a_main+1
586 07DB 2FC4 goto l26
587 07DC l28
588 ;lcd1602a.c: 201: LCD_set_xy(1,1);
589 07DC 01A2 clrf ?_LCD_set_xy
590 07DD 0AA2 incf ?_LCD_set_xy
591 07DE 3001 movlw 1
592 07DF 26B4 fcall _LCD_set_xy
593 ;lcd1602a.c: 202: i = 0;
594 07E0 01A0 clrf ?a_main
595 07E1 01A1 clrf ?a_main+1
596 ;lcd1602a.c: 203: while(dis3[i] != '\0')
597 07E2 l29
598 ;lcd1602a.c: 208: }
599 07E2 3000 movlw _dis3 shr (0+8)
600 07E3 008A movwf 10
601 07E4 0820 movf ?a_main,w
602 07E5 2008 call ((_dis3+-1)& (0+2047))| (($)& (0+-2048))
603 07E6 120A 118A pagesel $
604 07E8 3800 iorlw 0
605 07E9 1903 btfsc 3,2
606 07EA 2FFA goto l31
607 ;lcd1602a.c: 204: {
608 07EB 3000 movlw _dis3 shr (0+8)
609 07EC 008A movwf 10
610 07ED 0820 movf ?a_main,w
611 07EE 2008 call ((_dis3+-1)& (0+2047))| (($)& (0+-2048))
612 07EF 00A2 movwf ?_LCD_write_data
613 07F0 01A3 clrf ?_LCD_write_data+1
614 07F1 120A 118A 26C2 fcall _LCD_write_data
+ 120A 118A
615 ;lcd1602a.c: 207: i++;
616 07F6 0AA0 incf ?a_main
617 07F7 1903 btfsc 3,2
618 07F8 0AA1 incf ?a_main+1
619 07F9 2FE2 goto l29
620 07FA l31
621 ;lcd1602a.c: 209: delay_nms(1000);
622 07FA 30E8 movlw 232
623 07FB 00A9 movwf ?_delay_nms
624 07FC 3003 movlw 3
625 07FD 00AA movwf ?_delay_nms+1
626 07FE 2712 fcall _delay_nms
627 ;lcd1602a.c: 210: }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -