📄 i2c.lst
字号:
457 0078E0 0F80 addlw -128
458 0078E2 0E01 movlw 1
459 0078E4 B4D8 btfsc status,2,c
460 0078E6 5CF3 subwf prodl,w,c
461 0078E8 E2F6 bc l44
462 ;I2C.c: 137: I2C_Set_sck_high();
463 0078EA DF37 call _I2C_Set_sck_high ;wreg free
464 ;I2C.c: 138: nValue <<= 1;
465 0078EC 0100 movlb __Lparam shr (0+8)
466 0078EE 90D8 bcf status,0,c
467 0078F0 37FC rlcf ?_I2C_TxHToL^(__Lparam& (0+65280)),f,b
468 0078F2 37FD rlcf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),f,b
469 ;I2C.c: 139: for(j = 30;j > 0;j--);
470 0078F4 0E1E movlw 30
471 0078F6 6EF3 movwf prodl,c
472 0078F8 6AF4 clrf prodh,c
473 0078FA l47:
474 0078FA 06F3 decf prodl,f,c
475 0078FC A0D8 btfss status,0,c
476 0078FE 06F4 decf prodh,f,c
477 007900 50F4 movf prodh,w,c
478 007902 0A80 xorlw 128
479 007904 0F80 addlw -128
480 007906 0E01 movlw 1
481 007908 B4D8 btfsc status,2,c
482 00790A 5CF3 subwf prodl,w,c
483 00790C E2F6 bc l47
484 ;I2C.c: 140: I2C_Set_sck_low();
485 00790E DF2D call _I2C_Set_sck_low ;wreg free
486 007910 4AF6 infsnz tblptrl,f,c
487 007912 2AF7 incf tblptrh,f,c
488 007914 50F7 movf tblptrh,w,c
489 007916 0A80 xorlw 128
490 007918 0F80 addlw -128
491 00791A 0E08 movlw 8
492 00791C B4D8 btfsc status,2,c
493 00791E 5CF6 subwf tblptrl,w,c
494 007920 B0D8 btfsc status,0,c
495 007922 0012 return
496 007924 D7CF goto l39
497 ;I2C.c: 141: }
498 ;I2C.c: 144: }
499 ; param _nValue assigned to ?_I2C_TxLToH+0
500 007926 00F2 dw ?_I2C_TxLToH
501 007928 _I2C_TxLToH:
502 000000
503 ;I2C.c: 145: void I2C_TxLToH(int nValue)
504 007928 6AF6 clrf tblptrl,c
505 00792A 6AF7 clrf tblptrh,c
506 00792C l51:
507 ;I2C.c: 151: {
508 00792C 0100 movlb __Lparam shr (0+8)
509 00792E A1F2 btfss ?_I2C_TxLToH^(__Lparam& (0+65280)),0,b
510 007930 D002 goto l54
511 ;I2C.c: 153: I2C_Set_sda_high();
512 007932 DF03 call _I2C_Set_sda_high ;wreg free
513 007934 D001 goto l55
514 007936 l54:
515 ;I2C.c: 154: else
516 007936 DF09 call _I2C_Set_sda_low ;wreg free
517 007938 l55:
518 ;I2C.c: 156: for(j = 30;j > 0;j--);
519 007938 0E1E movlw 30
520 00793A 6EF3 movwf prodl,c
521 00793C 6AF4 clrf prodh,c
522 00793E l56:
523 00793E 06F3 decf prodl,f,c
524 007940 A0D8 btfss status,0,c
525 007942 06F4 decf prodh,f,c
526 007944 50F4 movf prodh,w,c
527 007946 0A80 xorlw 128
528 007948 0F80 addlw -128
529 00794A 0E01 movlw 1
530 00794C B4D8 btfsc status,2,c
531 00794E 5CF3 subwf prodl,w,c
532 007950 E2F6 bc l56
533 ;I2C.c: 157: I2C_Set_sck_high();
534 007952 DF03 call _I2C_Set_sck_high ;wreg free
535 ;I2C.c: 158: nValue >>= 1;
536 007954 0100 movlb __Lparam shr (0+8)
537 007956 35F3 rlcf (?_I2C_TxLToH+1)^(__Lparam& (0+65280)),w
538 007958 33F3 rrcf (?_I2C_TxLToH+1)^(__Lparam& (0+65280)),f,b
539 00795A 33F2 rrcf ?_I2C_TxLToH^(__Lparam& (0+65280)),f,b
540 ;I2C.c: 159: for(j = 30;j > 0;j--);
541 00795C 0E1E movlw 30
542 00795E 6EF3 movwf prodl,c
543 007960 6AF4 clrf prodh,c
544 007962 l59:
545 007962 06F3 decf prodl,f,c
546 007964 A0D8 btfss status,0,c
547 007966 06F4 decf prodh,f,c
548 007968 50F4 movf prodh,w,c
549 00796A 0A80 xorlw 128
550 00796C 0F80 addlw -128
551 00796E 0E01 movlw 1
552 007970 B4D8 btfsc status,2,c
553 007972 5CF3 subwf prodl,w,c
554 007974 E2F6 bc l59
555 ;I2C.c: 160: I2C_Set_sck_low();
556 007976 DEF9 call _I2C_Set_sck_low ;wreg free
557 007978 4AF6 infsnz tblptrl,f,c
558 00797A 2AF7 incf tblptrh,f,c
559 00797C 50F7 movf tblptrh,w,c
560 00797E 0A80 xorlw 128
561 007980 0F80 addlw -128
562 007982 0E08 movlw 8
563 007984 B4D8 btfsc status,2,c
564 007986 5CF6 subwf tblptrl,w,c
565 007988 B0D8 btfsc status,0,c
566 00798A 0012 return
567 00798C D7CF goto l51
568 ;I2C.c: 161: }
569 ;I2C.c: 164: }
570 00798E _I2C_RxByte:
571 000000
572 ;I2C.c: 167: int I2C_RxByte(void)
573 00798E 6AF6 clrf tblptrl,c
574 007990 6AF7 clrf tblptrh,c
575 ;I2C.c: 170: int i;
576 007992 DED3 call _I2C_Set_sda_high ;wreg free
577 ;I2C.c: 175: TRISC |= 0B00010000;
578 007994 8894 bsf 3988,4,c ;volatile
579 ;I2C.c: 176: asm(" nop");
580 007996 F000 nop ;#
581 ;I2C.c: 177: asm(" nop");
582 007998 F000 nop ;#
583 ;I2C.c: 178: asm(" nop");
584 00799A F000 nop ;#
585 ;I2C.c: 179: asm(" nop");
586 00799C F000 nop ;#
587 ;I2C.c: 180: for(i = 0;i < 8;i++)
588 00799E 6AF3 clrf prodl,c
589 0079A0 6AF4 clrf prodh,c
590 0079A2 l63:
591 ;I2C.c: 181: {
592 0079A2 DEDB call _I2C_Set_sck_high ;wreg free
593 ;I2C.c: 184: if(PORTC&0B00010000)
594 0079A4 A882 btfss 3970,4,c ;volatile
595 0079A6 D010 goto l66
596 ;I2C.c: 185: {
597 0079A8 CFF3 F002 movff prodl,btemp+2
598 0079AC 0E01 movlw 1
599 0079AE 6E00 movwf btemp,c
600 0079B0 6A01 clrf btemp+1,c
601 0079B2 2A02 incf btemp+2,f,c
602 0079B4 D003 goto u194
603 0079B6 u195:
604 0079B6 90D8 bcf status,0,c
605 0079B8 3600 rlcf btemp,f,c
606 0079BA 3601 rlcf btemp+1,f,c
607 0079BC u194:
608 0079BC 2E02 decfsz btemp+2,f,c
609 0079BE D7FB goto u195
610 0079C0 5000 movf btemp,w,c
611 0079C2 12F6 iorwf tblptrl,f,c
612 0079C4 5001 movf btemp+1,w,c
613 0079C6 12F7 iorwf tblptrh,f,c
614 0079C8 l66:
615 ;I2C.c: 187: }
616 0079C8 0E1E movlw 30
617 0079CA 6E00 movwf btemp,c
618 0079CC 6A01 clrf btemp+1,c
619 0079CE l67:
620 0079CE 0600 decf btemp,f,c
621 0079D0 A0D8 btfss status,0,c
622 0079D2 0601 decf btemp+1,f,c
623 0079D4 5001 movf btemp+1,w,c
624 0079D6 0A80 xorlw 128
625 0079D8 0F80 addlw -128
626 0079DA 0E01 movlw 1
627 0079DC B4D8 btfsc status,2,c
628 0079DE 5C00 subwf btemp,w,c
629 0079E0 E2F6 bc l67
630 ;I2C.c: 189: I2C_Set_sck_low();
631 0079E2 DEC3 call _I2C_Set_sck_low ;wreg free
632 0079E4 4AF3 infsnz prodl,f,c
633 0079E6 2AF4 incf prodh,f,c
634 0079E8 50F4 movf prodh,w,c
635 0079EA 0A80 xorlw 128
636 0079EC 0F80 addlw -128
637 0079EE 0E08 movlw 8
638 0079F0 B4D8 btfsc status,2,c
639 0079F2 5CF3 subwf prodl,w,c
640 0079F4 E3D6 bnc l63
641 ;I2C.c: 190: }
642 0079F6 CFF6 F000 movff tblptrl,btemp
643 0079FA CFF7 F001 movff tblptrh,btemp+1
644 0079FE 0012 return
645 ;I2C.c: 193: }
646 007A00 _I2C_RxHToL:
647 000000
648 ;I2C.c: 196: int I2C_RxHToL(void)
649 007A00 6AF6 clrf tblptrl,c
650 007A02 6AF7 clrf tblptrh,c
651 ;I2C.c: 199: int i;
652 007A04 DE9A call _I2C_Set_sda_high ;wreg free
653 ;I2C.c: 204: TRISC |= 0B00010000;
654 007A06 8894 bsf 3988,4,c ;volatile
655 ;I2C.c: 205: asm(" nop");
656 007A08 F000 nop ;#
657 ;I2C.c: 206: asm(" nop");
658 007A0A F000 nop ;#
659 ;I2C.c: 207: asm(" nop");
660 007A0C F000 nop ;#
661 ;I2C.c: 208: asm(" nop");
662 007A0E F000 nop ;#
663 ;I2C.c: 209: for(i = 0;i < 8;i++)
664 007A10 6AF3 clrf prodl,c
665 007A12 6AF4 clrf prodh,c
666 007A14 l71:
667 ;I2C.c: 210: {
668 007A14 DEA2 call _I2C_Set_sck_high ;wreg free
669 ;I2C.c: 213: if(PORTC&0B00010000)
670 007A16 A882 btfss 3970,4,c ;volatile
671 007A18 D011 goto l74
672 ;I2C.c: 214: {
673 007A1A 50F3 movf prodl,w,c
674 007A1C 0807 sublw 7
675 007A1E 6E02 movwf btemp+2,c
676 007A20 0E01 movlw 1
677 007A22 6E00 movwf btemp,c
678 007A24 6A01 clrf btemp+1,c
679 007A26 2A02 incf btemp+2,f,c
680 007A28 D003 goto u234
681 007A2A u235:
682 007A2A 90D8 bcf status,0,c
683 007A2C 3600 rlcf btemp,f,c
684 007A2E 3601 rlcf btemp+1,f,c
685 007A30 u234:
686 007A30 2E02 decfsz btemp+2,f,c
687 007A32 D7FB goto u235
688 007A34 5000 movf btemp,w,c
689 007A36 12F6 iorwf tblptrl,f,c
690 007A38 5001 movf btemp+1,w,c
691 007A3A 12F7 iorwf tblptrh,f,c
692 007A3C l74:
693 ;I2C.c: 216: }
694 007A3C 0E1E movlw 30
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -