📄 main.lst
字号:
210 0028' 2800' goto l20
211 0029' 1683 bsf 3,5
212 002A' 1E8C btfss 12,5
213 002B' 2800' goto l20
214 ;main.c: 134: {
215 002C' 300A movlw 10
216 002D' 1283 bcf 3,5
217 002E' 0080' movwf _receTimeOut ;volatile
218 ;main.c: 141: if(FERR==1)
219 002F' 1D18 btfss 24,2
220 0030' 2800' goto l21
221 ;main.c: 142: {
222 0031' 1218 bcf 24,4
223 ;main.c: 148: FERR = 0;
224 0032' 1118 bcf 24,2
225 0033' 2800' goto L1
226 ;main.c: 149: CREN = 1;
227 ;main.c: 150: tmp = RCREG;
228 ;main.c: 152: }
229 0034' l21
230 0034' 1C98 btfss 24,1
231 0035' 2800' goto l23
232 ;main.c: 154: {
233 0036' 1218 bcf 24,4
234 ;main.c: 163: OERR = 0;
235 0037' 1098 bcf 24,1
236 0038' L1
237 ;main.c: 164: CREN = 1;
238 0038' 1618 bsf 24,4
239 ;main.c: 165: tmp = RCREG;
240 0039' 081A movf 26,w ;volatile
241 003A' 0080' movwf ?a_isr
242 ;main.c: 166: }
243 003B' 2800' goto l20
244 003C' l23
245 ;main.c: 168: {
246 003C' 3000 movlw 0
247 003D' 1818 btfsc 24,0
248 003E' 3001 movlw 1
249 003F' 1683 bsf 3,5
250 0040' 0080' movwf _RX9DBuf^(0+128)
251 ;main.c: 171: receBuf[receCount] = RCREG;
252 0041' 0800' movf _receCount^(0+128),w ;volatile
253 0042' 3E00' addlw _receBuf
254 0043' 0084 movwf 4
255 0044' 1383 bcf 3,7
256 0045' 1283 bcf 3,5
257 0046' 081A movf 26,w ;volatile
258 0047' 0080 movwf 0
259 ;main.c: 172: if(RX9DBuf != ParityBit(&receBuf[
+ receCount]) )
260 0048' 1683 bsf 3,5
261 0049' 0800' movf _receCount^(0+128),w ;volatile
262 004A' 3E00' addlw _receBuf
263 004B' 1283 bcf 3,5
264 004C' 0080' movwf ?_ParityBit
265 004D' 3080 movlw 128
266 004E' 0081' movwf ?_ParityBit+1
267 004F' 118A' 2000' 118A' fcall _ParityBit
268 0052' 0082' movwf btemp+2
269 0053' 0183' clrf btemp+3
270 0054' 1683 bsf 3,5
271 0055' 0800' movf _RX9DBuf^(0+128),w
272 0056' 0080' movwf btemp
273 0057' 0181' clrf btemp+1
274 0058' 0803' movf btemp+3,w
275 0059' 0601' xorwf btemp+1,w
276 005A' 1D03 btfss 3,2
277 005B' 2800' goto u165
278 005C' 0802' movf btemp+2,w
279 005D' 0600' xorwf btemp,w
280 005E' u165
281 005E' 1903 btfsc 3,2
282 005F' 2800' goto l25
283 ;main.c: 173: checkoutError = 1;
284 0060' 3001 movlw 1
285 0061' 1283 bcf 3,5
286 0062' 0080' movwf _checkoutError ;volatile
287 0063' l25
288 ;main.c: 174: receCount++;
289 0063' 1683 bsf 3,5
290 0064' 0A80' incf _receCount^(0+128) ;volatile
291 ;main.c: 175: receCount &= 0x0f;
292 0065' 300F movlw 15
293 0066' 0580' andwf _receCount^(0+128) ;volatile
294 ;main.c: 176: }
295 0067' l20
296 ;main.c: 177: }
297 0067' 0000 nop ;#
298 ;main.c: 179: return;
299 ;main.c: 180: }
300 0068' 1303 bcf 3,6 ;carry unused
301 0069' 1283 bcf 3,5
302
303 psect intsave_0
304 0000' saved_w
305 0000' ds 1
306
307 psect intret
308 0000' 0800' movf saved_fsr,w
309 0001' 0084 movwf 4 ;restore FSR
310 0002' 0800' movf saved_pclath,w
311 0003' 008A movwf 10
312 0004' int_restore
313 0004' 0800' movf saved_status,w
314 0005' 0083 movwf 3
315 0006' 0E80' swapf saved_w
316 0007' 0E00' swapf saved_w,w
317 0008' 0009 retfie
318
319 psect intentry
320 0000' int_entry
321 0000' 0080' movwf saved_w
322 0001' 0803 movf 3,w
323 0002' 0183 clrf 3
324 0003' 0080' movwf saved_status
325 0004' 0804 movf 4,w
326 0005' 0080' movwf saved_fsr
327 0006' 080A movf 10,w
328 0007' 0080' movwf saved_pclath
329 0008' 018A clrf 10
330
331 psect intsave
332 0000' saved_status
333 0000' ds 1
334 0001' saved_fsr
335 0001' ds 1
336 0002' saved_pclath
337 0002' ds 1
338
339 psect text4
340 ;main.c: 209: void IOinit(void)
341 ;main.c: 210: {
342 0000' _IOinit
343 ;main.c: 211: CM0=1;
344 0000' 0183 clrf 3 ;select bank 0
345 0001' 141F bsf 31,0
346 ;main.c: 212: CM1=1;
347 0002' 149F bsf 31,1
348 ;main.c: 213: CM2=1;
349 0003' 151F bsf 31,2
350 ;main.c: 215: TRISA &= ~0b00000010;
351 0004' 1683 bsf 3,5
352 0005' 1085 bcf 5,1 ;volatile
353 ;main.c: 216: TRISA |= 0b00000111;
354 0006' 3007 movlw 7
355 0007' 0485 iorwf 5 ;volatile
356 ;main.c: 217: RA1 = 0;
357 0008' 1283 bcf 3,5
358 0009' 1085 bcf 5,1
359 ;main.c: 218: TRISB4 = 0;
360 000A' 1683 bsf 3,5
361 000B' 1206 bcf 6,4
362 ;main.c: 219: RB4 = 1;
363 000C' 1283 bcf 3,5
364 000D' 1606 bsf 6,4
365 ;main.c: 220: }
366 000E' 0008 return
367 ;main.c: 222: void sysinit(void)
368 ;main.c: 223: {
369 000F' _sysinit
370 ;main.c: 224: asm("nop");
371 000F' 0000 nop ;#
372 ;main.c: 226: IOinit();
373 0010' 2000' fcall _IOinit
374 ;main.c: 227: time0init();
375 0011' 118A' 2000' fcall _time0init
376 ;main.c: 228: Uart_init();
377 0013' 118A' 2000' 118A' fcall _Uart_init
378 ;main.c: 229: asm("nop");
379 0016' 0000 nop ;#
380 ;main.c: 230: }
381 0017' 0008 return
382
383 psect text6
384 0000' _ParityBit
385 ; _temp_a assigned to ?a_ParityBit+0
386 0000 _ParityBit$temp_a set ?a_ParityBit
387 ; _result assigned to ?a_ParityBit+1
388 0000 _ParityBit$result set ?a_ParityBit+1
389 ; _tempcount assigned to ?a_ParityBit+2
390 0000 _ParityBit$tempcount set ?a_ParityBit+2
391 ; _tempchar assigned to ?a_ParityBit+3
392 0000 _ParityBit$tempchar set ?a_ParityBit+3
393 ;main.c: 237: char tempchar=0, tempcount ,temp_
+ a=0,result=0;
394 0000' 0183 clrf 3 ;select bank 0
395 0001' 0183' clrf ?a_ParityBit+3
396 0002' 0180' clrf ?a_ParityBit
397 0003' 0181' clrf ?a_ParityBit+1
398 ;main.c: 238: tempchar = *p_data;
399 0004' 0801' movf ?_ParityBit+1,w
400 0005' 0081' movwf code_ptr+1
401 0006' 0800' movf ?_ParityBit,w
402 0007' 118A' 2000' 118A' fcall string_table
403 000A' 0083' movwf ?a_ParityBit+3
404 ;main.c: 240: for(tempcount = 8; tempcount > 0;
+ tempcount--)
405 000B' 3008 movlw 8
406 000C' 0082' movwf ?a_ParityBit+2
407 000D' l33
408 ;main.c: 241: {
409 ;main.c: 242: temp_a = tempchar & 0x01;
410 000D' 0803' movf ?a_ParityBit+3,w
411 000E' 3901 andlw 1
412 000F' 0080' movwf ?a_ParityBit
413 ;main.c: 243: if(1 == temp_a)
414 0010' 0B00' decfsz ?a_ParityBit,w
415 0011' 2800' goto l36
416 ;main.c: 244: {
417 0012' 0A81' incf ?a_ParityBit+1
418 0013' l36
419 ;main.c: 246: }
420 0013' 1003 bcf 3,0
421 0014' 0C83' rrf ?a_ParityBit+3
422 ;main.c: 248: }
423 0015' 0B82' decfsz ?a_ParityBit+2
424 0016' 2800' goto l33
425 ;main.c: 249: return(result&0x01);
426 0017' 0801' movf ?a_ParityBit+1,w
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -