📄 mtouch16pic16f883.lst
字号:
994 global _isr
995 global ??_isr
996 global ?_isr
997
998 ; *************** function _isr ***************
**
999 ; Defined at:
1000 ; line 176 in file "F:\pro\mtouch16\mtouch16.c
"
1001 ; Parameters:
1002 ; None
1003 ; Auto variables:
1004 ; None
1005 ; Return value:
1006 ; type: void
1007 ; size: 0
1008 ; Registers used:
1009 ; wreg, fsr, status,2, status,0, pclath, cstac
k
1010 ; Tracked objects:
1011 ; On entry : 300/0
1012 ; On exit : 0/0
1013 ; Unchanged: 0/0
1014 ; Data sizes:
1015 ; Autos: 0
1016 ; Params: 0
1017 ; Temp: 14
1018 ; Total: 14
1019 ; This function calls:
1020 ; i1_Abit_restart_timer
1021 ; _Abit_next_channel
1022 ; This function is called by:
1023 ; Interrupt level 1
1024 ; This function uses a non-reentrant model
1025 ;
1026 psect intrtext,class=CODE,delta=2
1027 file "F:\pro\mtouch16\mtouch16.c"
1028 line 176
1029 ;mtouch16.c: 175: void interrupt isr(void)
1030 ;mtouch16.c: 176: {
1031
1032 0113 _isr:
1033 ; Regs used in _isr: [wreg+fsr+status,2+status,
0+pclath+cstack]
1034 psect intentry,class=CODE,delta=2
1035 global interrupt_function
1036 0004 interrupt_function:
1037 global saved_w
1038 0000 saved_w set btemp+1
1039 0004 00FF movwf saved_w
1040 0005 0803 movf status,w
1041 0006 1283 bcf status, 5 ;RP0=0, select bank0
1042 0007 1303 bcf status, 6 ;RP2=0, select bank0
1043 0008 00EA movwf (??_isr+10)
1044 0009 0804 movf fsr,w
1045 000A 00EB movwf (??_isr+11)
1046 000B 080A movf pclath,w
1047 000C 00EC movwf (??_isr+12)
1048 000D 087E movf btemp,w
1049 000E 00ED movwf (??_isr+13)
1050 000F 118A 2913 ljmp _isr
1051 psect intrtext
1052 line 177
1053 ;mtouch16.c: 177: if (T0IF==1 && T0IE==1)
1054
1055 0113 1D0B btfss (90/8),(90)&7
1056 0114 2916 goto i1u2411
1057 0115 2917 goto i1u2410
1058 0116 i1u2411:
1059 0116 2C47 goto i1l18
1060 0117 i1u2410:
1061 0117 1283 bcf status, 5 ;RP0=0, select bank0
1062 0118 1303 bcf status, 6 ;RP2=0, select bank0
1063
1064 0119 1E8B btfss (93/8),(93)&7
1065 011A 291C goto i1u2421
1066 011B 291D goto i1u2420
1067 011C i1u2421:
1068 011C 2C47 goto i1l18
1069 011D i1u2420:
1070 line 179
1071 ;mtouch16.c: 178: {
1072 ;mtouch16.c: 179: TMR1ON=0;
1073 011D 1003 clrc
1074 011E 1283 bcf status, 5 ;RP0=0, select bank0
1075 011F 1303 bcf status, 6 ;RP2=0, select bank0
1076
1077 0120 1010 bcf (128/8),(128)&7
1078 0121 1C03 btfss status,0
1079 0122 2924 goto i1u2435
1080 0123 1410 bsf (128/8),(128)&7
1081 0124 i1u2435:
1082
1083 line 180
1084 ;mtouch16.c: 180: VALUE = TMR1L + (unsigned int
)(TMR1H << 8);
1085 0124 1283 bcf status, 5 ;RP0=0, select bank0
1086 0125 1303 bcf status, 6 ;RP2=0, select bank0
1087
1088 0126 080F movf (15),w ;volatile
1089
1090 0127 00E0 movwf (??_isr+0+0)
1091 0128 01E1 clrf (??_isr+0+0+1)
1092 0129 3008 movlw 08h
1093 012A 0084 movwf fsr
1094 012B i1u2445:
1095 012B 1003 clrc
1096 012C 0DE0 rlf (??_isr+0+0),f
1097 012D 0DE1 rlf (??_isr+0+1),f
1098 012E 0B84 decfsz fsr,f
1099 012F 292B goto i1u2445
1100
1101 0130 080E movf (14),w ;volatile
1102
1103 0131 0760 addwf 0+(??_isr+0+0),w
1104
1105 0132 00FC movwf (124)
1106 0133 0861 movf 1+(??_isr+0+0),w
1107 0134 1803 skipnc
1108 0135 0A61 incf 1+(??_isr+0+0),w
1109 0136 00FD movwf ((124))+1
1110 line 181
1111 ;mtouch16.c: 181: RAW[INDEX]=VALUE;
1112
1113
1114 0137 0878 movf (120),w
1115
1116 0138 00E0 movwf (??_isr+0+0)
1117 0139 0760 addwf (??_isr+0+0),w
1118 013A 3EB0 addlw (176)
1119 013B 0084 movwf fsr
1120 013C 087C movf (124),w
1121 013D 1383 bcf status, 7 ;select IRP bank0
1122 013E 0080 movwf indf
1123 013F 0A84 incf fsr,f
1124 0140 087D movf (124+1),w
1125 0141 0080 movwf indf
1126 line 182
1127 ;mtouch16.c: 182: BIGVAL=VALUE*16;
1128 0142 1283 bcf status, 5 ;RP0=0, select bank0
1129 0143 1303 bcf status, 6 ;RP2=0, select bank0
1130
1131 0144 087D movf (124+1),w
1132 0145 00E1 movwf (??_isr+0+0+1)
1133 0146 087C movf (124),w
1134 0147 00E0 movwf (??_isr+0+0)
1135 0148 3004 movlw 04h
1136 0149 0084 movwf fsr
1137 014A i1u2455:
1138 014A 1003 clrc
1139 014B 0DE0 rlf (??_isr+0+0),f
1140 014C 0DE1 rlf (??_isr+0+1),f
1141 014D 0B84 decfsz fsr,f
1142 014E 294A goto i1u2455
1143
1144 014F 0860 movf 0+(??_isr+0+0),w
1145 0150 00F3 movwf (115)
1146 0151 0861 movf 1+(??_isr+0+0),w
1147 0152 00F4 movwf (115+1)
1148 line 183
1149 ;mtouch16.c: 183: SMALLVAL=AVERAGE[INDEX]/16;
1150 0153 1283 bcf status, 5 ;RP0=0, select bank0
1151 0154 1303 bcf status, 6 ;RP2=0, select bank0
1152
1153 0155 0878 movf (120),w
1154
1155 0156 00E0 movwf (??_isr+0+0)
1156 0157 0760 addwf (??_isr+0+0),w
1157 0158 3ED0 addlw (208)
1158 0159 0084 movwf fsr
1159 015A 1383 bcf status, 7 ;select IRP bank0
1160 015B 0800 movf indf,w
1161 015C 00E1 movwf (??_isr+1+0)
1162 015D 3001 movlw 1
1163 015E 0784 addwf fsr,f
1164 015F 0800 movf indf,w
1165 0160 00E2 movwf (??_isr+1+0+1)
1166 0161 3004 movlw 04h
1167 0162 i1u2465:
1168 0162 1003 clrc
1169 0163 0CE2 rrf (??_isr+1+1),f
1170 0164 0CE1 rrf (??_isr+1+0),f
1171 0165 3EFF addlw -1
1172 0166 1D03 skipz
1173 0167 2962 goto i1u2465
1174
1175 0168 0861 movf 0+(??_isr+1+0),w
1176 0169 00FA movwf (122)
1177 016A 0862 movf 1+(??_isr+1+0),w
1178 016B 00FB movwf (122+1)
1179 line 184
1180 ;mtouch16.c: 184: RAW[INDEX]=BIGVAL;
1181 016C 1283 bcf status, 5 ;RP0=0, select bank0
1182 016D 1303 bcf status, 6 ;RP2=0, select bank0
1183
1184
1185 016E 0878 movf (120),w
1186
1187 016F 00E0 movwf (??_isr+0+0)
1188 0170 0760 addwf (??_isr+0+0),w
1189 0171 3EB0 addlw (176)
1190 0172 0084 movwf fsr
1191 0173 0873 movf (115),w
1192 0174 1383 bcf status, 7 ;select IRP bank0
1193 0175 0080 movwf indf
1194 0176 0A84 incf fsr,f
1195 0177 0874 movf (115+1),w
1196 0178 0080 movwf indf
1197 line 186
1198 ;mtouch16.c: 186: if(FIRST>0)
1199 0179 1283 bcf status, 5 ;RP0=0, select bank0
1200 017A 1303 bcf status, 6 ;RP2=0, select bank0
1201
1202 017B 08F7 movf (119),f
1203 017C 1D03 skipz
1204 017D 297F goto i1u2470
1205 017E 2994 goto i1l19
1206 017F i1u2470:
1207 line 188
1208 ;mtouch16.c: 187: {
1209 ;mtouch16.c: 188: FIRST--;
1210
1211 017F 1283 bcf status, 5 ;RP0=0, select bank0
1212 0180 1303 bcf status, 6 ;RP2=0, select bank0
1213
1214 0181 3001 movlw low(01h)
1215 0182 02F7 subwf (119),f
1216 line 189
1217 ;mtouch16.c: 189: AVERAGE[INDEX] = BIGVAL;
1218 0183 1283 bcf status, 5 ;RP0=0, select bank0
1219 0184 1303 bcf status, 6 ;RP2=0, select bank0
1220
1221
1222 0185 0878 movf (120),w
1223
1224 0186 00E0 movwf (??_isr+0+0)
1225 0187 0760 addwf (??_isr+0+0),w
1226 0188 3ED0 addlw (208)
1227 0189 0084 movwf fsr
1228 018A 0873 movf (115),w
1229 018B 1383 bcf status, 7 ;select IRP bank0
1230 018C 0080 movwf indf
1231 018D 0A84 incf fsr,f
1232 018E 0874 movf (115+1),w
1233 018F 0080 movwf indf
1234 line 191
1235 ;mtouch16.c: 191: Abit_restart_timer();
1236 0190 118A 2628 118A fcall i1_Abit_restart_timer
1237 line 193
1238 ;mtouch16.c: 193: return;
1239 0193 2C47 goto i1l17
1240 line 195
1241
1242 0194 i1l19:
1243 line 198
1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -