main.lst

来自「我用PROTEUS做了一个基于PIC16F877A的5路电压采集系统」· LST 代码 · 共 1,336 行 · 第 1/5 页

LST
1,336
字号
  1037  0B11                     l27
  1038                           ;main.c: 203: if(shift==2)
  1039  0B11  082C               	movf	_shift^(0+128),w
  1040  0B12  3A02               	xorlw	2
  1041  0B13  1D03               	btfss	3,2
  1042  0B14  2B27               	goto	l32
  1043                           ;main.c: 204: {
  1044  0B15  0B22               	decfsz	_add^(0+128),w
  1045  0B16  2B1D               	goto	l33
  1046                           ;main.c: 206: {
  1047  0B17  0AA8               	incf	_minute^(0+128)
  1048                           ;main.c: 208: if(minute>59)minute=0;
  1049  0B18  303C               	movlw	60
  1050  0B19  0228               	subwf	_minute^(0+128),w
  1051  0B1A  1803               	btfsc	3,0
  1052  0B1B  01A8               	clrf	_minute^(0+128)
  1053                           ;main.c: 209: add=0;
  1054  0B1C  01A2               	clrf	_add^(0+128)
  1055  0B1D                     l33
  1056                           ;main.c: 210: }
  1057  0B1D  0B29               	decfsz	_reduce^(0+128),w
  1058  0B1E  2B27               	goto	l32
  1059                           ;main.c: 212: {
  1060  0B1F  03A8               	decf	_minute^(0+128)
  1061                           ;main.c: 214: if(minute>59)minute=59;
  1062  0B20  303C               	movlw	60
  1063  0B21  0228               	subwf	_minute^(0+128),w
  1064  0B22  1C03               	btfss	3,0
  1065  0B23  2B26               	goto	l36
  1066  0B24  303B               	movlw	59
  1067  0B25  00A8               	movwf	_minute^(0+128)
  1068  0B26                     l36
  1069                           ;main.c: 215: reduce=0;
  1070  0B26  01A9               	clrf	_reduce^(0+128)
  1071                           ;main.c: 216: }
  1072  0B27                     l32
  1073                           ;main.c: 219: if(shift==3)
  1074  0B27  082C               	movf	_shift^(0+128),w
  1075  0B28  3A03               	xorlw	3
  1076  0B29  1D03               	btfss	3,2
  1077  0B2A  2B3D               	goto	l37
  1078                           ;main.c: 220: {
  1079  0B2B  0B22               	decfsz	_add^(0+128),w
  1080  0B2C  2B33               	goto	l38
  1081                           ;main.c: 222: {
  1082  0B2D  0AA5               	incf	_hour^(0+128)
  1083                           ;main.c: 224: if(hour>23)hour=0;
  1084  0B2E  3018               	movlw	24
  1085  0B2F  0225               	subwf	_hour^(0+128),w
  1086  0B30  1803               	btfsc	3,0
  1087  0B31  01A5               	clrf	_hour^(0+128)
  1088                           ;main.c: 225: add=0;
  1089  0B32  01A2               	clrf	_add^(0+128)
  1090  0B33                     l38
  1091                           ;main.c: 226: }
  1092  0B33  0B29               	decfsz	_reduce^(0+128),w
  1093  0B34  2B3D               	goto	l37
  1094                           ;main.c: 228: {
  1095  0B35  03A5               	decf	_hour^(0+128)
  1096                           ;main.c: 230: if(hour>23)hour=23;
  1097  0B36  3018               	movlw	24
  1098  0B37  0225               	subwf	_hour^(0+128),w
  1099  0B38  1C03               	btfss	3,0
  1100  0B39  2B3C               	goto	l41
  1101  0B3A  3017               	movlw	23
  1102  0B3B  00A5               	movwf	_hour^(0+128)
  1103  0B3C                     l41
  1104                           ;main.c: 231: reduce=0;
  1105  0B3C  01A9               	clrf	_reduce^(0+128)
  1106                           ;main.c: 232: }
  1107  0B3D                     l37
  1108                           ;main.c: 235: if(shift==4)
  1109  0B3D  082C               	movf	_shift^(0+128),w
  1110  0B3E  3A04               	xorlw	4
  1111  0B3F  1D03               	btfss	3,2
  1112  0B40  2BCD               	goto	l42
  1113                           ;main.c: 236: {
  1114  0B41  0B22               	decfsz	_add^(0+128),w
  1115  0B42  2B7E               	goto	l43
  1116                           ;main.c: 238: {
  1117  0B43  0ACB               	incf	_day^(0+128)
  1118                           ;main.c: 240: if((year%4==0)&&(year%100!=0)||(y
      +                          ear%400==0))
  1119  0B44  084E               	movf	(_year+1)^(0+128),w
  1120  0B45  00F1               	movwf	btemp+1
  1121  0B46  084D               	movf	_year^(0+128),w
  1122  0B47  00F0               	movwf	btemp
  1123  0B48  3003               	movlw	3
  1124  0B49  05F0               	andwf	btemp
  1125  0B4A  01F1               	clrf	btemp+1
  1126  0B4B  0871               	movf	btemp+1,w
  1127  0B4C  0470               	iorwf	btemp,w
  1128  0B4D  1D03               	btfss	3,2
  1129  0B4E  2B5F               	goto	u381
  1130  0B4F  3064               	movlw	100
  1131  0B50  00F2               	movwf	btemp+2
  1132  0B51  01F3               	clrf	btemp+3
  1133  0B52  084E               	movf	(_year+1)^(0+128),w
  1134  0B53  00F1               	movwf	btemp+1
  1135  0B54  084D               	movf	_year^(0+128),w
  1136  0B55  00F0               	movwf	btemp
  1137  0B56  120A  118A  2736   	fcall	lwmod
      +       120A  158A         
  1138  0B5B  0871               	movf	btemp+1,w
  1139  0B5C  0470               	iorwf	btemp,w
  1140  0B5D  1D03               	btfss	3,2
  1141  0B5E  2B70               	goto	u400
  1142  0B5F                     u381
  1143  0B5F  3090               	movlw	144
  1144  0B60  00F2               	movwf	btemp+2
  1145  0B61  3001               	movlw	1
  1146  0B62  00F3               	movwf	btemp+3
  1147  0B63  084E               	movf	(_year+1)^(0+128),w
  1148  0B64  00F1               	movwf	btemp+1
  1149  0B65  084D               	movf	_year^(0+128),w
  1150  0B66  00F0               	movwf	btemp
  1151  0B67  120A  118A  2736   	fcall	lwmod
      +       120A  158A         
  1152  0B6C  0871               	movf	btemp+1,w
  1153  0B6D  0470               	iorwf	btemp,w
  1154  0B6E  1D03               	btfss	3,2
  1155  0B6F  2B73               	goto	l44
  1156  0B70                     u400
  1157                           ;main.c: 241: { if(day>tian2[month-1])day=1;}
  1158  0B70  034C               	decf	_month^(0+128),w
  1159  0B71  3EDB               	addlw	_tian2
  1160  0B72  2B75               	goto	L11
  1161                           ;main.c: 242: else if(day>tian1[month-1])day=1;
  1162  0B73                     l44
  1163  0B73  034C               	decf	_month^(0+128),w
  1164  0B74  3ECF               	addlw	_tian1
  1165  0B75                     L11
  1166  0B75  0084               	movwf	4
  1167  0B76  1383               	bcf	3,7
  1168  0B77  084B               	movf	_day^(0+128),w
  1169  0B78  0200               	subwf	0,w
  1170  0B79  1803               	btfsc	3,0
  1171  0B7A  2B7D               	goto	l46
  1172  0B7B  01CB               	clrf	_day^(0+128)
  1173  0B7C  0ACB               	incf	_day^(0+128)
  1174                           ;main.c: 243: add=0;
  1175  0B7D                     l46
  1176  0B7D  01A2               	clrf	_add^(0+128)
  1177  0B7E                     l43
  1178                           ;main.c: 244: }
  1179  0B7E  0B29               	decfsz	_reduce^(0+128),w
  1180  0B7F  2BCD               	goto	l42
  1181                           ;main.c: 246: {
  1182  0B80  03CB               	decf	_day^(0+128)
  1183                           ;main.c: 248: if((year%4==0)&&(year%100!=0)||(y
      +                          ear%400==0))
  1184  0B81  084E               	movf	(_year+1)^(0+128),w
  1185  0B82  00F1               	movwf	btemp+1
  1186  0B83  084D               	movf	_year^(0+128),w
  1187  0B84  00F0               	movwf	btemp
  1188  0B85  3003               	movlw	3
  1189  0B86  05F0               	andwf	btemp
  1190  0B87  01F1               	clrf	btemp+1
  1191  0B88  0871               	movf	btemp+1,w
  1192  0B89  0470               	iorwf	btemp,w
  1193  0B8A  1D03               	btfss	3,2
  1194  0B8B  2B9C               	goto	u461
  1195  0B8C  3064               	movlw	100
  1196  0B8D  00F2               	movwf	btemp+2
  1197  0B8E  01F3               	clrf	btemp+3
  1198  0B8F  084E               	movf	(_year+1)^(0+128),w
  1199  0B90  00F1               	movwf	btemp+1
  1200  0B91  084D               	movf	_year^(0+128),w
  1201  0B92  00F0               	movwf	btemp
  1202  0B93  120A  118A  2736   	fcall	lwmod
      +       120A  158A         
  1203  0B98  0871               	movf	btemp+1,w
  1204  0B99  0470               	iorwf	btemp,w
  1205  0B9A  1D03               	btfss	3,2
  1206  0B9B  2BAD               	goto	u480
  1207  0B9C                     u461
  1208  0B9C  3090               	movlw	144
  1209  0B9D  00F2               	movwf	btemp+2
  1210  0B9E  3001               	movlw	1
  1211  0B9F  00F3               	movwf	btemp+3
  1212  0BA0  084E               	movf	(_year+1)^(0+128),w
  1213  0BA1  00F1               	movwf	btemp+1
  1214  0BA2  084D               	movf	_year^(0+128),w
  1215  0BA3  00F0               	movwf	btemp
  1216  0BA4  120A  118A  2736   	fcall	lwmod
      +       120A  158A         
  1217  0BA9  0871               	movf	btemp+1,w
  1218  0BAA  0470               	iorwf	btemp,w
  1219  0BAB  1D03               	btfss	3,2
  1220  0BAC  2BBB               	goto	l49
  1221  0BAD                     u480
  1222                           ;main.c: 249: {if(day<=0||day>tian2[month-1]) d
      +                          ay=tian2[month-1];}
  1223  0BAD  08CB               	movf	_day^(0+128)
  1224  0BAE  1903               	btfsc	3,2
  1225  0BAF  2BB8               	goto	u510
  1226  0BB0  034C               	decf	_month^(0+128),w
  1227  0BB1  3EDB               	addlw	_tian2
  1228  0BB2  0084               	movwf	4
  1229  0BB3  1383               	bcf	3,7
  1230  0BB4  084B               	movf	_day^(0+128),w
  1231  0BB5  0200               	subwf	0,w
  1232  0BB6  1803               	btfsc	3,0
  1233  0BB7  2BCC               	goto	l51
  1234  0BB8                     u510
  1235  0BB8  034C               	decf	_month^(0+128),w
  1236  0BB9  3EDB               	addlw	_tian2
  1237  0BBA  2BC8               	goto	L10
  1238                           ;main.c: 250: else if(day<=0||day>tian1[month-1
      +                          ]) day=tian1[month-1];
  1239  0BBB                     l49
  1240  0BBB  08CB               	movf	_day^(0+128)
  1241  0BBC  1903               	btfsc	3,2
  1242  0BBD  2BC6               	goto	u540
  1243  0BBE  034C               	decf	_month^(0+128),w
  1244  0BBF  3ECF               	addlw	_tian1
  1245  0BC0  0084               	movwf	4
  1246  0BC1  1383               	bcf	3,7
  1247  0BC2  084B               	movf	_day^(0+128),w
  1248  0BC3  0200               	subwf	0,w
  1249  0BC4  1803               	btfsc	3,0
  1250  0BC5  2BCC               	goto	l51
  1251  0BC6                     u540
  1252  0BC6  034C               	decf	_month^(0+128),w
  1253  0BC7  3ECF               	addlw	_tian1
  1254  0BC8                     L10
  1255  0BC8  0084               	movwf	4
  1256  0BC9  1383               	bcf	3,7
  1257  0BCA  0800               	movf	0,w
  1258  0BCB  00CB               	movwf	_day^(0+128)
  1259                           ;main.c: 251: reduce=0;
  1260  0BCC                     l51
  1261  0BCC  01A9               	clrf	_reduce^(0+128)
  1262                           ;main.c: 252: }
  1263  0BCD                     l42
  1264                           ;main.c: 255: if(shift==5)
  1265  0BCD  082C               	movf	_shift^(0+128),w
  1266  0BCE  3A05               	xorlw	5
  1267  0BCF  1D03               	btfss	3,2
  1268  0BD0  2BE5               	goto	l53
  1269                           ;main.c: 256: {
  1270  0BD1  0B22               	decfsz	_add^(0+128),w
  1271  0BD2  2BDB               	goto	l54
  1272                           ;main.c: 258: {
  1273  0BD3  0ACC               	incf	_month^(0+128)
  1274                           ;main.c: 260: if(month>12)month=1;
  1275  0BD4  300D               	movlw	13
  1276  0BD5  024C               	subwf	_month^(0+128),w
  1277  0BD6  1C03               	btfss	3,0
  1278  0BD7  2BDA               	goto	l55
  1279  0BD8  01CC               	clrf	_month^(0+128)
  1280  0BD9  0ACC               	incf	_month^(0+128)
  1281  0BDA                     l55
  1282                           ;main.c: 261: add=0;
  1283  0BDA  01A2               	clrf	_add^(0+128)
  1284  0BDB                     l54
  1285                           ;main.c: 262: }
  1286  0BDB  0B29               	decfsz	_reduce^(0+128),w
  1287  0BDC  2BE5               	goto	l53
  1288                           ;main.c: 264: {
  1289  0BDD  03CC               	decf	_month^(0+128)
  1290                           ;main.c: 266: if(month>12)month=1;
  1291  0BDE  300D               	movlw	13
  1292  0BDF  024C      

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?