main.lst

来自「用PIC16F887做的4个触摸按键的例程」· LST 代码 · 共 1,310 行 · 第 1/5 页

LST
1,310
字号
  1011  005E' 0180               	clrf	0
  1012                           ;main.c: 442: if (INDEX == 3)
  1013  005F' 0800'              	movf	_INDEX,w
  1014  0060' 3A03               	xorlw	3
  1015  0061' 1D03               	btfss	3,2
  1016  0062' 2800'              	goto	l121
  1017                           ;main.c: 443: TRIP[INDEX] = 130;
  1018  0063' 0800'              	movf	_INDEX,w
  1019  0064' 0700'              	addwf	_INDEX,w
  1020  0065' 3E00'              	addlw	_TRIP^(0+256)
  1021  0066' 0084               	movwf	4
  1022  0067' 1783               	bsf	3,7
  1023  0068' 3082               	movlw	130
  1024  0069' 2800'              	goto	L3
  1025  006A'                    l121
  1026                           ;main.c: 444: else if (INDEX == 4)
  1027  006A' 0800'              	movf	_INDEX,w
  1028  006B' 3A04               	xorlw	4
  1029  006C' 1D03               	btfss	3,2
  1030  006D' 2800'              	goto	l123
  1031                           ;main.c: 445: TRIP[INDEX] = 135;
  1032  006E' 0800'              	movf	_INDEX,w
  1033  006F' 0700'              	addwf	_INDEX,w
  1034  0070' 3E00'              	addlw	_TRIP^(0+256)
  1035  0071' 0084               	movwf	4
  1036  0072' 1783               	bsf	3,7
  1037  0073' 3087               	movlw	135
  1038  0074' 2800'              	goto	L3
  1039  0075'                    l123
  1040                           ;main.c: 446: else if (INDEX == 6)
  1041  0075' 0800'              	movf	_INDEX,w
  1042  0076' 3A06               	xorlw	6
  1043  0077' 1D03               	btfss	3,2
  1044  0078' 2800'              	goto	l122
  1045                           ;main.c: 447: TRIP[INDEX] = 120;
  1046  0079' 0800'              	movf	_INDEX,w
  1047  007A' 0700'              	addwf	_INDEX,w
  1048  007B' 3E00'              	addlw	_TRIP^(0+256)
  1049  007C' 0084               	movwf	4
  1050  007D' 1783               	bsf	3,7
  1051  007E' 3078               	movlw	120
  1052  007F'                    L3
  1053  007F' 0080               	movwf	0
  1054  0080' 0A84               	incf	4
  1055  0081' 0180               	clrf	0
  1056  0082'                    l122
  1057                           ;main.c: 450: if (INDEX == 1)
  1058  0082' 0B00'              	decfsz	_INDEX,w
  1059  0083' 2800'              	goto	l127
  1060                           ;main.c: 451: TRIP[INDEX] = 165;
  1061  0084' 0800'              	movf	_INDEX,w
  1062  0085' 0700'              	addwf	_INDEX,w
  1063  0086' 3E00'              	addlw	_TRIP^(0+256)
  1064  0087' 0084               	movwf	4
  1065  0088' 1783               	bsf	3,7
  1066  0089' 30A5               	movlw	165
  1067  008A' 2800'              	goto	L4
  1068                           ;main.c: 453: } else if (INDEX != 0) {
  1069  008B'                    l120
  1070  008B' 0880'              	movf	_INDEX
  1071  008C' 1903               	btfsc	3,2
  1072  008D' 2800'              	goto	l128
  1073                           ;main.c: 455: if (INDEX == 11)
  1074  008E' 0800'              	movf	_INDEX,w
  1075  008F' 3A0B               	xorlw	11
  1076  0090' 1D03               	btfss	3,2
  1077  0091' 2800'              	goto	l129
  1078                           ;main.c: 456: TRIP[INDEX] = 110;
  1079  0092' 0800'              	movf	_INDEX,w
  1080  0093' 0700'              	addwf	_INDEX,w
  1081  0094' 3E00'              	addlw	_TRIP^(0+256)
  1082  0095' 0084               	movwf	4
  1083  0096' 1783               	bsf	3,7
  1084  0097' 306E               	movlw	110
  1085  0098' 0080               	movwf	0
  1086  0099' 0A84               	incf	4
  1087  009A' 0180               	clrf	0
  1088  009B'                    l129
  1089                           ;main.c: 457: if (INDEX == 12)
  1090  009B' 0800'              	movf	_INDEX,w
  1091  009C' 3A0C               	xorlw	12
  1092  009D' 1D03               	btfss	3,2
  1093  009E' 2800'              	goto	l130
  1094                           ;main.c: 458: TRIP[INDEX] = 100;
  1095  009F' 0800'              	movf	_INDEX,w
  1096  00A0' 0700'              	addwf	_INDEX,w
  1097  00A1' 3E00'              	addlw	_TRIP^(0+256)
  1098  00A2' 0084               	movwf	4
  1099  00A3' 1783               	bsf	3,7
  1100  00A4' 3064               	movlw	100
  1101  00A5' 0080               	movwf	0
  1102  00A6' 0A84               	incf	4
  1103  00A7' 0180               	clrf	0
  1104  00A8'                    l130
  1105                           ;main.c: 459: if (INDEX == 13)
  1106  00A8' 0800'              	movf	_INDEX,w
  1107  00A9' 3A0D               	xorlw	13
  1108  00AA' 1D03               	btfss	3,2
  1109  00AB' 2800'              	goto	l131
  1110                           ;main.c: 460: TRIP[INDEX] = 110;
  1111  00AC' 0800'              	movf	_INDEX,w
  1112  00AD' 0700'              	addwf	_INDEX,w
  1113  00AE' 3E00'              	addlw	_TRIP^(0+256)
  1114  00AF' 0084               	movwf	4
  1115  00B0' 1783               	bsf	3,7
  1116  00B1' 306E               	movlw	110
  1117  00B2' 0080               	movwf	0
  1118  00B3' 0A84               	incf	4
  1119  00B4' 0180               	clrf	0
  1120  00B5'                    l131
  1121                           ;main.c: 461: if (INDEX == 14)
  1122  00B5' 0800'              	movf	_INDEX,w
  1123  00B6' 3A0E               	xorlw	14
  1124  00B7' 1D03               	btfss	3,2
  1125  00B8' 2800'              	goto	l132
  1126                           ;main.c: 462: TRIP[INDEX] = 115;
  1127  00B9' 0800'              	movf	_INDEX,w
  1128  00BA' 0700'              	addwf	_INDEX,w
  1129  00BB' 3E00'              	addlw	_TRIP^(0+256)
  1130  00BC' 0084               	movwf	4
  1131  00BD' 1783               	bsf	3,7
  1132  00BE' 3073               	movlw	115
  1133  00BF' 0080               	movwf	0
  1134  00C0' 0A84               	incf	4
  1135  00C1' 0180               	clrf	0
  1136  00C2'                    l132
  1137                           ;main.c: 463: if (INDEX == 15)
  1138  00C2' 0800'              	movf	_INDEX,w
  1139  00C3' 3A0F               	xorlw	15
  1140  00C4' 1D03               	btfss	3,2
  1141  00C5' 2800'              	goto	l133
  1142                           ;main.c: 464: TRIP[INDEX] = 130;
  1143  00C6' 0800'              	movf	_INDEX,w
  1144  00C7' 0700'              	addwf	_INDEX,w
  1145  00C8' 3E00'              	addlw	_TRIP^(0+256)
  1146  00C9' 0084               	movwf	4
  1147  00CA' 1783               	bsf	3,7
  1148  00CB' 3082               	movlw	130
  1149  00CC' 0080               	movwf	0
  1150  00CD' 0A84               	incf	4
  1151  00CE' 0180               	clrf	0
  1152  00CF'                    l133
  1153                           ;main.c: 465: if (INDEX == 16)
  1154  00CF' 0800'              	movf	_INDEX,w
  1155  00D0' 3A10               	xorlw	16
  1156  00D1' 1D03               	btfss	3,2
  1157  00D2' 2800'              	goto	l127
  1158                           ;main.c: 466: TRIP[INDEX] = 130;
  1159  00D3' 0800'              	movf	_INDEX,w
  1160  00D4' 0700'              	addwf	_INDEX,w
  1161  00D5' 3E00'              	addlw	_TRIP^(0+256)
  1162  00D6' 0084               	movwf	4
  1163  00D7' 1783               	bsf	3,7
  1164  00D8' 3082               	movlw	130
  1165  00D9'                    L4
  1166  00D9' 0080               	movwf	0
  1167  00DA' 0A84               	incf	4
  1168  00DB' 0180               	clrf	0
  1169                           ;main.c: 468: } else {
  1170  00DC' 2800'              	goto	l127
  1171  00DD'                    l128
  1172                           ;main.c: 470: TRIP[INDEX] = 1500;
  1173  00DD' 0800'              	movf	_INDEX,w
  1174  00DE' 0700'              	addwf	_INDEX,w
  1175  00DF' 3E00'              	addlw	_TRIP^(0+256)
  1176  00E0' 0084               	movwf	4
  1177  00E1' 1783               	bsf	3,7
  1178  00E2' 30DC               	movlw	220
  1179  00E3' 0080               	movwf	0
  1180  00E4' 0A84               	incf	4
  1181  00E5' 3005               	movlw	5
  1182  00E6' 0080               	movwf	0
  1183  00E7'                    l127
  1184  00E7' 0A80'              	incf	_INDEX
  1185  00E8'                    l119
  1186  00E8' 3011               	movlw	17
  1187  00E9' 0200'              	subwf	_INDEX,w
  1188  00EA' 1C03               	btfss	3,0
  1189  00EB' 2800'              	goto	l116
  1190                           ;main.c: 471: }
  1191  00EC' 30A0               	movlw	-96
  1192  00ED' 0080'              	movwf	_FIRST
  1193                           ;main.c: 483: OSCCON = 0x7F;
  1194  00EE' 307F               	movlw	127
  1195  00EF' 1683               	bsf	3,5
  1196  00F0' 008F               	movwf	15	;volatile
  1197                           ;main.c: 485: VRCON = 0x87;
  1198  00F1' 3087               	movlw	-121
  1199  00F2' 0097               	movwf	23
  1200                           ;main.c: 486: CM1CON0 = COMP1[0];
  1201  00F3' 120A' 118A' 2000'  	fcall	_COMP1
  1202  00F6' 1283               	bcf	3,5
  1203  00F7' 1703               	bsf	3,6
  1204  00F8' 0087               	movwf	7	;volatile
  1205                           ;main.c: 487: CM2CON0 = COMP2[0];
  1206  00F9' 120A' 118A' 2000'  	fcall	_COMP2
      +       120A' 118A'        
  1207  00FE' 0088               	movwf	8	;volatile
  1208                           ;main.c: 488: INDEX = 0;
  1209  00FF' 1303               	bcf	3,6	;carry unused
  1210  0100' 0180'              	clrf	_INDEX
  1211                           ;main.c: 489: CM2CON1 = 0x32;
  1212  0101' 3032               	movlw	50
  1213  0102' 1703               	bsf	3,6
  1214  0103' 0089               	movwf	9	;volatile
  1215                           ;main.c: 491: ANSEL = 0x07;
  1216  0104' 3007               	movlw	7
  1217  0105' 1683               	bsf	3,5
  1218  0106' 0088               	movwf	8
  1219                           ;main.c: 492: ANSELH = 0x00;
  1220  0107' 0189               	clrf	9
  1221                           ;main.c: 494: SRCON = 0xF0;
  1222  0108' 30F0               	movlw	-16
  1223  0109' 0085               	movwf	5	;volatile
  1224                           ;main.c: 496: T1CON = 0x06;
  1225  010A' 3006               	movlw	6
  1226  010B' 1283               	bcf	3,5
  1227  010C' 1303               	bcf	3,6	;carry unused
  1228  010D' 0090               	movwf	16
  1229                           ;main.c: 497: OPTION = 0x84;
  1230  010E' 3084               	movlw	-124
  1231  010F' 1683               	bsf	3,5
  1232  0110' 0081               	movwf	1
  1233                           ;main.c: 499: RestartTimers();
  1234  0111' 2000'              	fcall	_RestartTimers
  1235                           ;main.c: 501: INTCON = 0;
  1236  0112' 018B               	clrf	11	;volatile
  1237                           ;main.c: 502: T0IE = 1;
  1238  0113' 168B               	bsf	11,5
  1239                           ;main.c: 503: }
  1240  0114' 0008               	return	;W free
  1241  0115'                    _INIT
  1242                           ;main.c: 314: void INIT(void) {
  1243  0115' 303F               	movlw	63
  1244  0116' 1683               	bsf	3,5
  1245  0117' 1303               	bcf	3,6	;carry unused
  1246  0118' 0585               	andwf	5	;volatile
  1247                           ;main.c: 331: TRISC &= 0b00011101;
  1248  0119' 301D               	movlw	29
  1249  011A' 0587               	andwf	7	;volatile
  1250                           ;main.c: 332: TRISD &= 0b10000000;
  1251  011B' 3080               	movlw	-128
  1252  011C' 0588               	andwf	8	;volatile
  1253                           ;main.c: 333: TRISE &= 0b11111000;
  1254  011D' 30F8               	movlw	-8
  1255  011E' 0589               	andwf	9	;volatile
  1256                           ;main.c: 336: TRISB &= 0b11110000;
  1257  011F' 30F0               	movlw	-16
  1258  0120' 0586               	andwf	6	;volatile
  1259                           ;main.c: 339: TRISC &= 0b11111011;
  1260  0121' 1107               	bcf	7,2	;volatile
  1261                           ;main.c: 342: TRISA &= 0b11011111;
  1262  0122' 1285               	bcf	5,5	;volatile
  1263                           ;main.c: 343: TRISA |= 0b00000011;
  1264  0123' 3003               	movlw	3
  1265  0124' 0485               	iorwf	5	;volatile
  1266                           ;main.c: 344: TRISC |= 0b00000001;
  1267  0125' 1407               	bsf	7,0	;volatile
  1268                           ;main.c: 352: CapInit();
  1269  0126' 2000'              	fcall	_CapInit
  1270                           ;main.c: 353: SSPInit();
  1

⌨️ 快捷键说明

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