⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dj485p9k.lst

📁 这是一个PIC单片机的实时操作系统
💻 LST
📖 第 1 页 / 共 5 页
字号:
   713  0F0C  3A01               	xorlw	1
   714  0F0D  1903               	btfsc	3,2
   715  0F0E  2F13               	goto	l28
   716  0F0F  3AF6               	xorlw	246
   717  0F10  1903               	btfsc	3,2
   718  0F11  2F13               	goto	l28
   719                           ;DJ485P9K.C: 335: default: cRS485State = 0;
   720  0F12  01B3               	clrf	_cRS485State
   721  0F13                     l28
   722                           ;DJ485P9K.C: 339: return cRS485State;
   723  0F13  0833               	movf	_cRS485State,w
   724                           ;DJ485P9K.C: 340: }
   725  0F14  0008               	return
   726                           ;DJ485P9K.C: 345: char IntRs485Decode( void )
   727                           ;DJ485P9K.C: 346: {
   728  0F15                     _IntRs485Decode
   729                           ;DJ485P9K.C: 347: switch ( cRS485State )
   730  0F15  2F5B               	goto	l50
   731  0F16                     l51
   732                           ;DJ485P9K.C: 348: {
   733  0F16  0834               	movf	_cRs485RxChar,w
   734  0F17  00B7               	movwf	_cStart
   735                           ;DJ485P9K.C: 350: if ( cRs485RxChar == 0x02 )
   736  0F18  0834               	movf	_cRs485RxChar,w
   737  0F19  3A02               	xorlw	2
   738  0F1A  1D03               	btfss	3,2
   739  0F1B  2F7F               	goto	l49
   740                           ;DJ485P9K.C: 351: {
   741  0F1C  0AB3               	incf	_cRS485State
   742                           ;DJ485P9K.C: 353: asm("nop");
   743  0F1D  0000               	nop	;#
   744                           ;DJ485P9K.C: 354: asm("nop");
   745  0F1E  0000               	nop	;#
   746                           ;DJ485P9K.C: 355: }
   747  0F1F  2F7F               	goto	l49
   748  0F20                     l53
   749                           ;DJ485P9K.C: 358: case 1: cNetAddrHigh = cRs485
      +                          RxChar;
   750  0F20  0834               	movf	_cRs485RxChar,w
   751  0F21  00AE               	movwf	_cNetAddrHigh
   752                           ;DJ485P9K.C: 359: asm("nop");
   753  0F22  0000               	nop	;#
   754                           ;DJ485P9K.C: 360: asm("nop");
   755  0F23  0000               	nop	;#
   756  0F24  2F54               	goto	L5
   757                           ;DJ485P9K.C: 361: cRS485State++;
   758                           ;DJ485P9K.C: 362: break;
   759  0F25                     l54
   760                           ;DJ485P9K.C: 364: case 2: cNetAddrLow = cRs485R
      +                          xChar;
   761  0F25  0834               	movf	_cRs485RxChar,w
   762  0F26  00AF               	movwf	_cNetAddrLow
   763  0F27  2F54               	goto	L5
   764                           ;DJ485P9K.C: 365: cRS485State++;
   765                           ;DJ485P9K.C: 366: break;
   766  0F28                     l55
   767                           ;DJ485P9K.C: 368: case 3: cLenExpected = cRs485
      +                          RxChar;
   768  0F28  0834               	movf	_cRs485RxChar,w
   769  0F29  00AC               	movwf	_cLenExpected
   770                           ;DJ485P9K.C: 369: testlend =cRs485RxChar;
   771  0F2A  0834               	movf	_cRs485RxChar,w
   772  0F2B  00BB               	movwf	_testlend
   773                           ;DJ485P9K.C: 370: asm("nop");
   774  0F2C  0000               	nop	;#
   775                           ;DJ485P9K.C: 371: if ( cLenExpected > sizeof(c4
      +                          85Buf) )
   776  0F2D  3024               	movlw	36
   777  0F2E  022C               	subwf	_cLenExpected,w
   778  0F2F  1C03               	btfss	3,0
   779  0F30  2F36               	goto	l56
   780                           ;DJ485P9K.C: 372: {
   781  0F31  30FF               	movlw	-1
   782  0F32  00B3               	movwf	_cRS485State
   783                           ;DJ485P9K.C: 374: cError = 1;
   784  0F33  01AB               	clrf	_cError
   785  0F34  0AAB               	incf	_cError
   786                           ;DJ485P9K.C: 375: }
   787  0F35  2F7F               	goto	l49
   788  0F36                     l56
   789                           ;DJ485P9K.C: 377: {
   790  0F36  01A6               	clrf	_cBufPtr
   791  0F37  2F54               	goto	L5
   792                           ;DJ485P9K.C: 379: cRS485State++;
   793                           ;DJ485P9K.C: 380: }
   794                           ;DJ485P9K.C: 381: break;
   795  0F38                     l58
   796                           ;DJ485P9K.C: 383: case 4: cCommand = cRs485RxCh
      +                          ar;
   797  0F38  0834               	movf	_cRs485RxChar,w
   798  0F39  00AA               	movwf	_cCommand
   799                           ;DJ485P9K.C: 384: if( PacketHasPayload() ) cRS4
      +                          85State = 5;
   800  0F3A  2693               	fcall	_PacketHasPayload
   801  0F3B  3800               	iorlw	0
   802  0F3C  1D03               	btfss	3,2
   803  0F3D  2F42               	goto	u170
   804                           ;DJ485P9K.C: 385: else
   805                           ;DJ485P9K.C: 386: {
   806  0F3E  082A               	movf	_cCommand,w
   807  0F3F  3AA5               	xorlw	-91
   808  0F40  1D03               	btfss	3,2
   809  0F41  2F44               	goto	l61
   810  0F42                     u170
   811  0F42  3005               	movlw	5
   812  0F43  2F59               	goto	L6
   813                           ;DJ485P9K.C: 388: else cRS485State = 6;
   814  0F44                     l61
   815  0F44  3006               	movlw	6
   816  0F45  2F59               	goto	L6
   817                           ;DJ485P9K.C: 389: }
   818                           ;DJ485P9K.C: 390: break;
   819  0F46                     l63
   820                           ;DJ485P9K.C: 392: case 5: c485Buf[cBufPtr] = cR
      +                          s485RxChar;
   821  0F46  0826               	movf	_cBufPtr,w
   822  0F47  3EB6               	addlw	_c485Buf
   823  0F48  0084               	movwf	4
   824  0F49  1383               	bcf	3,7
   825  0F4A  0834               	movf	_cRs485RxChar,w
   826  0F4B  0080               	movwf	0
   827                           ;DJ485P9K.C: 393: cBufPtr++;
   828  0F4C  0AA6               	incf	_cBufPtr
   829                           ;DJ485P9K.C: 394: if ( cBufPtr == cLenExpected 
      +                          )
   830  0F4D  0826               	movf	_cBufPtr,w
   831  0F4E  062C               	xorwf	_cLenExpected,w
   832  0F4F  1D03               	btfss	3,2
   833  0F50  2F7F               	goto	l49
   834  0F51  2F54               	goto	L5
   835                           ;DJ485P9K.C: 395: {
   836                           ;DJ485P9K.C: 397: }
   837  0F52                     l65
   838                           ;DJ485P9K.C: 400: case 6: cRxCrcHigh = cRs485Rx
      +                          Char;
   839  0F52  0834               	movf	_cRs485RxChar,w
   840  0F53  00B5               	movwf	_cRxCrcHigh
   841  0F54                     L5
   842                           ;DJ485P9K.C: 401: cRS485State++;
   843  0F54  0AB3               	incf	_cRS485State
   844                           ;DJ485P9K.C: 402: break;
   845  0F55  2F7F               	goto	l49
   846  0F56                     l66
   847                           ;DJ485P9K.C: 404: case 7: cRxCrcLow = cRs485RxC
      +                          har;
   848  0F56  0834               	movf	_cRs485RxChar,w
   849  0F57  00B6               	movwf	_cRxCrcLow
   850                           ;DJ485P9K.C: 405: cRS485State = 8;
   851  0F58  3008               	movlw	8
   852  0F59                     L6
   853  0F59  00B3               	movwf	_cRS485State
   854                           ;DJ485P9K.C: 406: break;
   855                           ;DJ485P9K.C: 408: case 8: break;
   856                           ;DJ485P9K.C: 409: case 9: break;
   857                           ;DJ485P9K.C: 410: case 255: break;
   858  0F5A  2F7F               	goto	l49
   859                           ;DJ485P9K.C: 413: break;
   860  0F5B                     l50
   861  0F5B  1283               	bcf	3,5
   862  0F5C  1303               	bcf	3,6	;carry unused
   863  0F5D  0833               	movf	_cRS485State,w
   864  0F5E  1903               	btfsc	3,2
   865  0F5F  2F16               	goto	l51
   866  0F60  3A01               	xorlw	1
   867  0F61  1903               	btfsc	3,2
   868  0F62  2F20               	goto	l53
   869  0F63  3A03               	xorlw	3
   870  0F64  1903               	btfsc	3,2
   871  0F65  2F25               	goto	l54
   872  0F66  3A01               	xorlw	1
   873  0F67  1903               	btfsc	3,2
   874  0F68  2F28               	goto	l55
   875  0F69  3A07               	xorlw	7
   876  0F6A  1903               	btfsc	3,2
   877  0F6B  2F38               	goto	l58
   878  0F6C  3A01               	xorlw	1
   879  0F6D  1903               	btfsc	3,2
   880  0F6E  2F46               	goto	l63
   881  0F6F  3A03               	xorlw	3
   882  0F70  1903               	btfsc	3,2
   883  0F71  2F52               	goto	l65
   884  0F72  3A01               	xorlw	1
   885  0F73  1903               	btfsc	3,2
   886  0F74  2F56               	goto	l66
   887  0F75  3A0F               	xorlw	15
   888  0F76  1903               	btfsc	3,2
   889  0F77  2F7F               	goto	l49
   890  0F78  3A01               	xorlw	1
   891  0F79  1903               	btfsc	3,2
   892  0F7A  2F7F               	goto	l49
   893  0F7B  3AF6               	xorlw	246
   894  0F7C  1903               	btfsc	3,2
   895  0F7D  2F7F               	goto	l49
   896                           ;DJ485P9K.C: 412: default: cRS485State = 0;
   897  0F7E  01B3               	clrf	_cRS485State
   898  0F7F                     l49
   899                           ;DJ485P9K.C: 416: return cRS485State;
   900  0F7F  0833               	movf	_cRS485State,w
   901                           ;DJ485P9K.C: 417: }
   902  0F80  0008               	return
   903                           ;DJ485P9K.C: 697: void CRC16_Update4Bits( char 
      +                          val )
   904                           ;DJ485P9K.C: 698: {
   905  0F81                     _CRC16_Update4Bits
   906                           ;	_val assigned to ?a_CRC16_Update4Bits+0
   907  0000                     _CRC16_Update4Bits$val	set	?a_CRC16_Update4Bits
   908                           ;	_t assigned to ?a_CRC16_Update4Bits+1
   909  0000                     _CRC16_Update4Bits$t	set	?a_CRC16_Update4Bits+1
   910                           ;_val stored from w
   911  0F81  0183               	clrf	3	;select bank 0
   912  0F82  00CD               	movwf	?a_CRC16_Update4Bits
   913                           ;DJ485P9K.C: 699: char t;
   914  0F83  0E27               	swapf	_cCalcCrcHigh,w
   915  0F84  390F               	andlw	15
   916  0F85  00CE               	movwf	?a_CRC16_Update4Bits+1
   917                           ;DJ485P9K.C: 705: t = t ^ val;
   918  0F86  084D               	movf	?a_CRC16_Update4Bits,w
   919  0F87  06CE               	xorwf	?a_CRC16_Update4Bits+1
   920                           ;DJ485P9K.C: 708: cCalcCrcHigh = (cCalcCrcHigh 
      +                          << 4) | (cCalcCrcLow >> 4);
   921  0F88  0E28               	swapf	_cCalcCrcLow,w
   922  0F89  390F               	andlw	15
   923  0F8A  00F0               	movwf	btemp
   924  0F8B  0E27               	swapf	_cCalcCrcHigh,w
   925  0F8C  39F0               	andlw	240
   926  0F8D  0470               	iorwf	btemp,w
   927  0F8E  00A7               	movwf	_cCalcCrcHigh
   928                           ;DJ485P9K.C: 709: cCalcCrcLow = cCalcCrcLow << 
      +                          4;
   929  0F8F  0EA8               	swapf	_cCalcCrcLow
   930  0F90  30F0               	movlw	240
   931  0F91  05A8               	andwf	_cCalcCrcLow
   932                           ;DJ485P9K.C: 712: cCalcCrcHigh = cCalcCrcHigh ^
      +                           CRC16_LookupHigh[t];
   933  0F92  3008               	movlw	_CRC16_LookupHigh shr (0+8)
   934  0F93  008A               	movwf	10
   935  0F94  084E               	movf	?a_CRC16_Update4Bits+1,w
   936  0F95  2000               	call	((_CRC16_LookupHigh+-1)& (0+2047))| (($)&
      +                           (0+-2048))
   937  0F96  06A7               	xorwf	_cCalcCrcHigh
   938                           ;DJ485P9K.C: 713: cCalcCrcLow = cCalcCrcLow ^ C
      +                          RC16_LookupLow[t];
   939  0F97  3000               	movlw	_CRC16_LookupLow shr (0+8)
   940  0F98  008A               	movwf	10
   941  0F99  084E               	movf	?a_CRC16_Update4Bits+1,w
   942  0F9A  209B               	call	((_CRC16_LookupLow+-1)& (0+2047))| (($)& 
      +                          (0+-2048))
   943  0F9B  120A  158A         	pagesel	$
   944  0F9D  06A8               	xorwf	_cCalcCrcLow

⌨️ 快捷键说明

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