📄 main.lst
字号:
427 05EE _KeyScan
428 ;main.c: 405: void KeyScan(void)
429 05EE 1683 bsf 3,5
430 05EF 1303 bcf 3,6 ;carry unused
431 05F0 1605 bsf 5,4
432 05F1 1105 bcf 5,2
433 05F2 1185 bcf 5,3
434 ;main.c: 408: RA2=0;RA3=1;
435 05F3 1283 bcf 3,5
436 05F4 1105 bcf 5,2
437 05F5 1585 bsf 5,3
438 ;main.c: 410: if(RA4==0)
439 05F6 1A05 btfsc 5,4
440 05F7 2DFA goto l146
441 ;main.c: 411: i_check_code=1;
442 05F8 1520 bsf _i_check_code/(0+8),_i_check_code& (0+7)
443 05F9 2DFB goto l147
444 05FA l146
445 ;main.c: 412: else
446 05FA 1120 bcf _i_check_code/(0+8),_i_check_code& (0+7)
447 05FB l147
448 ;main.c: 415: if(have_key==0)
449 05FB 18A0 btfsc _have_key/(0+8),_have_key& (0+7)
450 05FC 2E13 goto l148
451 ;main.c: 416: {
452 05FD 1D20 btfss _i_check_code/(0+8),_i_check_code& (0+7)
453 05FE 2E10 goto l149
454 ;main.c: 418: {
455 05FF 1DA0 btfss _id_1ms/(0+8),_id_1ms& (0+7)
456 0600 0008 return
457 ;main.c: 420: {
458 0601 11A0 bcf _id_1ms/(0+8),_id_1ms& (0+7)
459 ;main.c: 422: key_count++;
460 0602 0AA5 incf _key_count ;volatile
461 0603 1903 btfsc 3,2
462 0604 0AA6 incf _key_count+1 ;volatile
463 ;main.c: 423: if(key_count>=800)
464 0605 3003 movlw 3
465 0606 0226 subwf _key_count+1,w ;volatile
466 0607 3020 movlw 32
467 0608 1903 btfsc 3,2
468 0609 0225 subwf _key_count,w ;volatile
469 060A 1C03 btfss 3,0
470 060B 0008 return
471 ;main.c: 424: {key_count=0x00;have_key=1;}
472 060C 01A5 clrf _key_count ;volatile
473 060D 01A6 clrf _key_count+1 ;volatile
474 060E 14A0 bsf _have_key/(0+8),_have_key& (0+7)
475 ;main.c: 425: }
476 060F 0008 return
477 0610 l149
478 ;main.c: 427: else key_count=0x00;
479 0610 01A5 clrf _key_count ;volatile
480 0611 01A6 clrf _key_count+1 ;volatile
481 ;main.c: 428: }
482 0612 0008 return
483 0613 l148
484 ;main.c: 429: else
485 0613 1D20 btfss _i_check_code/(0+8),_i_check_code& (0+7)
486 ;main.c: 432: have_key=0;
487 0614 10A0 bcf _have_key/(0+8),_have_key& (0+7)
488 ;main.c: 433: }
489 0615 0008 return ;W free
490 0616 _DxmS
491 ; _cnt assigned to ?a_DxmS+0
492 0000 _DxmS$cnt set ?a_DxmS
493 ;main.c: 176: void DxmS(void)
494 0616 30FF movlw 255
495 0617 0183 clrf 3 ;select bank 0
496 0618 00AB movwf ?a_DxmS
497 0619 00AC movwf ?a_DxmS+1
498 061A l67
499 ;main.c: 180: {;}
500 061A 08AB movf ?a_DxmS
501 061B 1903 btfsc 3,2
502 061C 03AC decf ?a_DxmS+1
503 061D 03AB decf ?a_DxmS
504 061E 082C movf ?a_DxmS+1,w
505 061F 042B iorwf ?a_DxmS,w
506 0620 1903 btfsc 3,2
507 0621 0008 return
508 0622 2E1A goto l67
509 0623 _EE_ReadByte
510 ; _addr assigned to ?a_EE_ReadByte+0
511 0000 _EE_ReadByte$addr set ?a_EE_ReadByte
512 ;_addr stored from w
513 0623 0183 clrf 3 ;select bank 0
514 0624 00B2 movwf ?a_EE_ReadByte
515 ;main.c: 190: unsigned char EE_ReadByte (unsign
+ ed char addr)
516 0625 1683 bsf 3,5
517 0626 1703 bsf 3,6
518 0627 110C bcf 12,2
519 ;main.c: 193: EEADR=addr;EEPGD=0;RD=1;
520 0628 1283 bcf 3,5
521 0629 1303 bcf 3,6 ;carry unused
522 062A 0832 movf ?a_EE_ReadByte,w
523 062B 1703 bsf 3,6
524 062C 008D movwf 13
525 062D 1683 bsf 3,5
526 062E 138C bcf 12,7
527 062F 140C bsf 12,0
528 ;main.c: 194: while(RD)
529 0630 2E32 goto l71
530 0631 l72
531 ;main.c: 195: asm("nop");
532 0631 0000 nop ;#
533 0632 l71
534 0632 180C btfsc 12,0
535 0633 2E31 goto l72
536 ;main.c: 196: return EEDATA;
537 0634 1283 bcf 3,5
538 0635 080C movf 12,w ;volatile
539 ;main.c: 197: }
540 0636 1303 bcf 3,6 ;carry unused
541 0637 0008 return ;uses W
542 0638 _main
543 ;main.c: 97: main()
544 0638 1283 bcf 3,5
545 0639 1703 bsf 3,6
546 063A 0185 clrf 5 ;volatile
547 ;main.c: 102: STATUS=0x00;FSR=0x20;
548 063B 0183 clrf 3 ;volatile
549 063C 3020 movlw 32
550 063D 0084 movwf 4
551 ;main.c: 103: while(FSR!=0x80)
552 063E 2E41 goto l46
553 063F l47
554 ;main.c: 104: {INDF=0x00;FSR++;}
555 063F 0180 clrf 0 ;volatile
556 0640 0A84 incf 4
557 0641 l46
558 0641 0804 movf 4,w
559 0642 3A80 xorlw -128
560 0643 1D03 btfss 3,2
561 0644 2E3F goto l47
562 ;main.c: 106: STATUS=0x00;STATUS=STATUS|0x20;FS
+ R=0xa0;
563 0645 0183 clrf 3 ;volatile
564 0646 1683 bsf 3,5 ;volatile
565 0647 30A0 movlw -96
566 0648 0084 movwf 4
567 ;main.c: 107: while(FSR!=0xf0)
568 0649 l49
569 0649 0804 movf 4,w
570 064A 3AF0 xorlw -16
571 064B 1903 btfsc 3,2
572 064C 2E50 goto l51
573 ;main.c: 108: {INDF=0x00;FSR++;}
574 064D 0180 clrf 0 ;volatile
575 064E 0A84 incf 4
576 064F 2E49 goto l49
577 0650 l51
578 ;main.c: 110: STATUS=0x00;STATUS=STATUS|0xc0;FS
+ R=0x10;
579 0650 0183 clrf 3 ;volatile
580 0651 30C0 movlw -64
581 0652 0483 iorwf 3 ;volatile
582 0653 3010 movlw 16
583 0654 0084 movwf 4
584 ;main.c: 111: while(FSR!=0x70)
585 0655 l52
586 0655 0804 movf 4,w
587 0656 3A70 xorlw 112
588 0657 1903 btfsc 3,2
589 0658 2E5C goto l54
590 ;main.c: 112: {INDF=0x00;FSR++;}
591 0659 0180 clrf 0 ;volatile
592 065A 0A84 incf 4
593 065B 2E55 goto l52
594 065C l54
595 ;main.c: 114: STATUS=0x00;STATUS=STATUS|0xe0;FS
+ R=0x90;
596 065C 0183 clrf 3 ;volatile
597 065D 30E0 movlw -32
598 065E 0483 iorwf 3 ;volatile
599 065F 3090 movlw -112
600 0660 0084 movwf 4
601 ;main.c: 115: while(FSR!=0xf0)
602 0661 l55
603 0661 0804 movf 4,w
604 0662 3AF0 xorlw -16
605 0663 1903 btfsc 3,2
606 0664 2E68 goto l57
607 ;main.c: 116: {INDF=0x00;FSR++;}
608 0665 0180 clrf 0 ;volatile
609 0666 0A84 incf 4
610 0667 2E61 goto l55
611 0668 l57
612 ;main.c: 118: OPTION=0x02;
613 0668 3002 movlw 2
614 0669 1683 bsf 3,5
615 066A 1303 bcf 3,6 ;carry unused
616 066B 0081 movwf 1
617 ;main.c: 119: CMCON=0x0ff;
618 066C 30FF movlw -1
619 066D 009C movwf 28 ;volatile
620 ;main.c: 120: T1CON=0x00;
621 066E 1283 bcf 3,5
622 066F 0190 clrf 16 ;volatile
623 ;main.c: 121: INTCON=0x00;
624 0670 018B clrf 11 ;volatile
625 ;main.c: 122: TMR0=0x87;
626 0671 3087 movlw -121
627 0672 0081 movwf 1 ;volatile
628 ;main.c: 123: INT0IE=1;TMR0IE=1;GIE=1;
629 0673 160B bsf 11,4
630 0674 168B bsf 11,5
631 0675 178B bsf 11,7
632 ;main.c: 125: keyinpt = 0;
633 0676 01A2 clrf _keyinpt ;volatile
634 ;main.c: 126: keyoutpt = 0;
635 0677 01A3 clrf _keyoutpt ;volatile
636 ;main.c: 127: led_status=0x03;
637 0678 3003 movlw 3
638 0679 00A4 movwf _led_status ;volatile
639 ;main.c: 129: Ps2PortInit();
640 067A 118A 24EB 118A fcall _Ps2PortInit
641 ;main.c: 131: eepromaddrpt = (unsigned char)(EE
+ _ReadByte(0x00));
642 067D 3000 movlw 0
643 067E 2623 fcall _EE_ReadByte
644 067F 00A1 movwf _eepromaddrpt ;volatile
645 ;main.c: 132: DxmS();
646 0680 2616 fcall _DxmS
647 0681 l59
648 ;main.c: 134: while(1)
649 ;main.c: 135: {
650 0681 25EE fcall _KeyScan
651 ;main.c: 140: KeyProc();
652 0682 25EC fcall _KeyProc
653 ;main.c: 142: ButtonHandle();
654 0683 26F9 fcall _ButtonHandle
655 ;main.c: 144: if(keyinpt!= keyoutpt)
656 0684 0822 movf _keyinpt,w ;volatile
657 0685 0623 xorwf _keyoutpt,w ;volatile
658 0686 1903 btfsc 3,2
659 0687 2E81 goto l59
660 0688 l64
661 ;main.c: 145: {
662 ;main.c: 148: {
663 0688 0823 movf _keyoutpt,w ;volatile
664 0689 3EA0 addlw _keybuff
665 068A 0084 movwf 4
666 068B 1383 bcf 3,7
667 068C 0800 movf 0,w
668 068D 00B2 movwf ?_EE_WriteByte
669 068E 0821 movf _eepromaddrpt,w ;volatile
670 068F 25BC fcall _EE_WriteByte
671 ;main.c: 150: asm("nop");
672 0690 0000 nop ;#
673 ;main.c: 151: eepromaddrpt++;
674 0691 0FA1 incfsz _eepromaddrpt ;volatile
675 ;main.c: 152: if(eepromaddrpt==0x00)
676 0692 2E94 goto l65
677 ;main.c: 153: {eepromaddrpt = 0x00;}
678 0693 01A1 clrf _eepromaddrpt ;volatile
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -