📄 i2c.lst
字号:
+ d char *repa_p,int len)
929 007BB2 0100 movlb __Lparam shr (0+8)
930 007BB4 51F5 movf (?_readPage24AA64+1)^(__Lparam& (0+65280))
+ ,w
931 007BB6 6EE1 movwf fsr1l,c
932 ;I2C.c: 335: hi &= 0x1F;
933 007BB8 0E1F movlw 31
934 007BBA 16E1 andwf fsr1l,f,c
935 ;I2C.c: 337: low = (char)(addr & 0xff);
936 007BBC 51F4 movf ?_readPage24AA64^(__Lparam& (0+65280)),w
937 007BBE 6ED9 movwf fsr2l,c
938 ;I2C.c: 340: hi = (char)((addr >> 8) & 0xff);
939 007BC0 51F5 movf (?_readPage24AA64+1)^(__Lparam& (0+65280))
+ ,w
940 007BC2 6EE1 movwf fsr1l,c
941 ;I2C.c: 341: hi &= 0x1F;
942 007BC4 0E1F movlw 31
943 007BC6 16E1 andwf fsr1l,f,c
944 ;I2C.c: 343: low = (char)(addr & 0xff);
945 007BC8 51F4 movf ?_readPage24AA64^(__Lparam& (0+65280)),w
946 007BCA 6ED9 movwf fsr2l,c
947 ;I2C.c: 346: I2C_START();
948 007BCC DE0D call _I2C_START ;wreg free
949 ;I2C.c: 348: I2C_TxHToL(0xA0);
950 007BCE 0EA0 movlw 160
951 007BD0 0100 movlb __Lparam shr (0+8)
952 007BD2 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
953 007BD4 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
954 007BD6 DE74 call _I2C_TxHToL ;wreg free
955 ;I2C.c: 350: I2C_GetACK();
956 007BD8 DDD0 call _I2C_GetACK ;wreg free
957 ;I2C.c: 352: I2C_TxHToL(hi);
958 007BDA 50E1 movf fsr1l,w,c
959 007BDC 0100 movlb __Lparam shr (0+8)
960 007BDE 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
961 007BE0 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
962 007BE2 DE6E call _I2C_TxHToL ;wreg free
963 ;I2C.c: 354: I2C_GetACK();
964 007BE4 DDCA call _I2C_GetACK ;wreg free
965 ;I2C.c: 356: I2C_TxHToL(low);
966 007BE6 50D9 movf fsr2l,w,c
967 007BE8 0100 movlb __Lparam shr (0+8)
968 007BEA 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
969 007BEC 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
970 007BEE DE68 call _I2C_TxHToL ;wreg free
971 ;I2C.c: 358: I2C_GetACK();
972 007BF0 DDC4 call _I2C_GetACK ;wreg free
973 ;I2C.c: 361: I2C_START();
974 007BF2 DDFA call _I2C_START ;wreg free
975 ;I2C.c: 363: I2C_TxHToL(0xA1);
976 007BF4 0EA1 movlw 161
977 007BF6 0100 movlb __Lparam shr (0+8)
978 007BF8 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
979 007BFA 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
980 007BFC DE61 call _I2C_TxHToL ;wreg free
981 ;I2C.c: 365: I2C_GetACK();
982 007BFE DDBD call _I2C_GetACK ;wreg free
983 ;I2C.c: 366: for(i = 0;i < len - 1;i++)
984 007C00 0100 movlb __Lparam shr (0+8)
985 007C02 6BFA clrf ?a_readPage24AA64^(__Lparam& (0+65280)),b
986 007C04 6BFB clrf (?a_readPage24AA64+1)^(__Lparam& (0+65280)
+ ),b
987 ; _repa_p loaded to fsr1
988 007C06 C0F6 FFE1 movff ?_readPage24AA64+2,fsr1l
989 007C0A C0F7 FFE2 movff ?_readPage24AA64+3,fsr1h
990 007C0E l98:
991 007C0E 0100 movlb __Lparam shr (0+8)
992 007C10 0EFF movlw 255
993 007C12 25F8 addwf (?_readPage24AA64+4)^(__Lparam& (0+65280)
+ ),w
994 007C14 6E00 movwf btemp,c
995 007C16 0EFF movlw 255
996 007C18 21F9 addwfc (?_readPage24AA64+5)^(__Lparam& (0+65280
+ )),w
997 007C1A 6E01 movwf btemp+1,c
998 007C1C 51FB movf (?a_readPage24AA64+1)^(__Lparam& (0+65280)
+ ),w
999 007C1E 0A80 xorlw 128
1000 007C20 6E02 movwf btemp+2,c
1001 007C22 5001 movf btemp+1,w,c
1002 007C24 0A80 xorlw 128
1003 007C26 5C02 subwf btemp+2,w,c
1004 007C28 E102 bnz u345
1005 007C2A 5000 movf btemp,w,c
1006 007C2C 5DFA subwf ?a_readPage24AA64^(__Lparam& (0+65280)),w
1007 007C2E u345:
1008 007C2E E20F bc u340
1009 ;I2C.c: 367: {
1010 007C30 DEE7 call _I2C_RxHToL ;wreg free
1011 007C32 0100 movlb __Lparam shr (0+8)
1012 007C34 51FA movf ?a_readPage24AA64^(__Lparam& (0+65280)),w
1013 007C36 24E1 addwf fsr1l,w,c
1014 007C38 6EE9 movwf fsr0l,c
1015 007C3A 51FB movf (?a_readPage24AA64+1)^(__Lparam& (0+65280)
+ ),w
1016 007C3C 20E2 addwfc fsr1h,w,c
1017 007C3E 6EEA movwf fsr0h,c
1018 007C40 C000 FFEF movff btemp,indf0
1019 ;I2C.c: 371: I2C_SetACK();
1020 007C44 DDC9 call _I2C_SetACK ;wreg free
1021 007C46 0100 movlb __Lparam shr (0+8)
1022 007C48 4BFA infsnz ?a_readPage24AA64^(__Lparam& (0+65280)),
+ f,b
1023 007C4A 2BFB incf (?a_readPage24AA64+1)^(__Lparam& (0+65280)
+ ),f,b
1024 007C4C D7E0 goto l98
1025 007C4E u340:
1026 ;I2C.c: 372: }
1027 007C4E DED8 call _I2C_RxHToL ;wreg free
1028 007C50 C0F8 F002 movff ?_readPage24AA64+4,btemp+2
1029 007C54 C0F9 F003 movff ?_readPage24AA64+5,btemp+3
1030 007C58 50E1 movf fsr1l,w,c
1031 007C5A 2602 addwf btemp+2,f,c
1032 007C5C 50E2 movf fsr1h,w,c
1033 007C5E 2203 addwfc btemp+3,f,c
1034 007C60 0EFF movlw 255
1035 007C62 2402 addwf btemp+2,w,c
1036 007C64 6EE9 movwf fsr0l,c
1037 007C66 0EFF movlw 255
1038 007C68 2003 addwfc btemp+3,w,c
1039 007C6A 6EEA movwf fsr0h,c
1040 007C6C C000 FFEF movff btemp,indf0
1041 ;I2C.c: 376: I2C_SetNAk();
1042 007C70 DDB7 call _I2C_SetNAk ;wreg free
1043 ;I2C.c: 378: I2C_STOP();
1044 007C72 DDE5 call _I2C_STOP ;wreg free
1045 ;I2C.c: 380: return len;
1046 007C74 C0F8 F000 movff ?_readPage24AA64+4,btemp
1047 007C78 C0F9 F001 movff ?_readPage24AA64+5,btemp+1
1048 007C7C 0012 return
1049 ;I2C.c: 381: }
1050 007C7E 00F4 dw ?_writePage24AA64
1051 007C80 _writePage24AA64:
1052 000000
1053 ;I2C.c: 382: void writePage24AA64(int addr,unsig
+ ned char *wrpa_p,int len)
1054 007C80 0100 movlb __Lparam shr (0+8)
1055 007C82 51F5 movf (?_writePage24AA64+1)^(__Lparam& (0+65280)
+ ),w
1056 007C84 6E02 movwf btemp+2,c
1057 ;I2C.c: 390: hi &= 0x1F;
1058 007C86 0E1F movlw 31
1059 007C88 1602 andwf btemp+2,f,c
1060 ;I2C.c: 392: low = (char)(addr & 0xff);
1061 007C8A 51F4 movf ?_writePage24AA64^(__Lparam& (0+65280)),w
1062 007C8C 6ED9 movwf fsr2l,c
1063 ;I2C.c: 395: if(len > 32) len = 32;
1064 007C8E 51F9 movf (?_writePage24AA64+5)^(__Lparam& (0+65280)
+ ),w
1065 007C90 0A80 xorlw 128
1066 007C92 0F80 addlw -128
1067 007C94 0E21 movlw 33
1068 007C96 B4D8 btfsc status,2,c
1069 007C98 5DF8 subwf (?_writePage24AA64+4)^(__Lparam& (0+65280
+ )),w
1070 007C9A E303 bnc l100
1071 007C9C 0E20 movlw 32
1072 007C9E 6FF8 movwf (?_writePage24AA64+4)^(__Lparam& (0+65280
+ )),b
1073 007CA0 6BF9 clrf (?_writePage24AA64+5)^(__Lparam& (0+65280)
+ ),b
1074 007CA2 l100:
1075 ;I2C.c: 398: I2C_START();
1076 007CA2 DDA2 call _I2C_START ;wreg free
1077 ;I2C.c: 400: I2C_TxHToL(0xA0);
1078 007CA4 0EA0 movlw 160
1079 007CA6 0100 movlb __Lparam shr (0+8)
1080 007CA8 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
1081 007CAA 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
1082 007CAC DE09 call _I2C_TxHToL ;wreg free
1083 ;I2C.c: 402: I2C_GetACK();
1084 007CAE DD65 call _I2C_GetACK ;wreg free
1085 ;I2C.c: 404: I2C_TxHToL(hi);
1086 007CB0 5002 movf btemp+2,w,c
1087 007CB2 0100 movlb __Lparam shr (0+8)
1088 007CB4 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
1089 007CB6 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
1090 007CB8 DE03 call _I2C_TxHToL ;wreg free
1091 ;I2C.c: 406: I2C_GetACK();
1092 007CBA DD5F call _I2C_GetACK ;wreg free
1093 ;I2C.c: 408: I2C_TxHToL(low);
1094 007CBC 50D9 movf fsr2l,w,c
1095 007CBE 0100 movlb __Lparam shr (0+8)
1096 007CC0 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
1097 007CC2 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
1098 007CC4 DDFD call _I2C_TxHToL ;wreg free
1099 ;I2C.c: 410: I2C_GetACK();
1100 007CC6 DD59 call _I2C_GetACK ;wreg free
1101 ;I2C.c: 411: for(i = 0;i < len;i++)
1102 007CC8 6A02 clrf btemp+2,c
1103 007CCA 6A03 clrf btemp+3,c
1104 007CCC l104:
1105 007CCC 0100 movlb __Lparam shr (0+8)
1106 007CCE 5003 movf btemp+3,w,c
1107 007CD0 0A80 xorlw 128
1108 007CD2 6E00 movwf btemp,c
1109 007CD4 51F9 movf (?_writePage24AA64+5)^(__Lparam& (0+65280)
+ ),w
1110 007CD6 0A80 xorlw 128
1111 007CD8 5C00 subwf btemp,w,c
1112 007CDA E102 bnz u365
1113 007CDC 51F8 movf (?_writePage24AA64+4)^(__Lparam& (0+65280)
+ ),w
1114 007CDE 5C02 subwf btemp+2,w,c
1115 007CE0 u365:
1116 007CE0 E20F bc u360
1117 ;I2C.c: 412: {
1118 007CE2 0100 movlb __Lparam shr (0+8)
1119 007CE4 5002 movf btemp+2,w,c
1120 007CE6 25F6 addwf (?_writePage24AA64+2)^(__Lparam& (0+65280
+ )),w
1121 007CE8 6EE9 movwf fsr0l,c
1122 007CEA 5003 movf btemp+3,w,c
1123 007CEC 21F7 addwfc (?_writePage24AA64+3)^(__Lparam& (0+6528
+ 0)),w
1124 007CEE 6EEA movwf fsr0h,c
1125 007CF0 50EF movf indf0,w,c
1126 007CF2 6FFC movwf ?_I2C_TxHToL^(__Lparam& (0+65280)),b
1127 007CF4 6BFD clrf (?_I2C_TxHToL+1)^(__Lparam& (0+65280)),b
1128 007CF6 DDE4 call _I2C_TxHToL ;wreg free
1129 ;I2C.c: 416: I2C_GetACK();
1130 007CF8 DD40 call _I2C_GetACK ;wreg free
1131 007CFA 4A02 infsnz btemp+2,f,c
1132 007CFC 2A03 incf btemp+3,f,c
1133 007CFE D7E6 goto l104
1134 007D00 u360:
1135 ;I2C.c: 417: }
1136 007D00 D59E goto _I2C_STOP ;wreg free
1137 ;I2C.c: 421: return;
1138 ;I2C.c: 422: }
1139 007D02 _I2C_CLR:
1140 000000
1141 ;I2C.c: 426: void I2C_CLR(void)
1142 007D02 0100 movlb __Lparam shr (0+8)
1143 007D04 6BF4 clrf (?a_I2C_CLR+2)^(__Lparam& (0+65280)),b
1144 ;I2C.c: 430: for(a=0;a<40
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -