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

📄 main.lst

📁 电力载波抄表系统里的电力载波采集器,采集数据再通过RS485向主站发送.
💻 LST
📖 第 1 页 / 共 5 页
字号:
   235  114B  3A07               	xorlw	7
   236  114C  1903               	btfsc	3,2
   237  114D  2937               	goto	l126
   238  114E  3A0B               	xorlw	11
   239  114F  1D03               	btfss	3,2
   240  1150  0008               	return
   241  1151  291E               	goto	l121
   242  1152                     _setDataMark485
   243                           ;	_mark assigned to ?a_setDataMark485+0
   244  0000                     _setDataMark485$mark	set	?a_setDataMark485
   245                           ;_mark stored from w
   246  1152  0183               	clrf	3	;select bank 0
   247  1153  00D8               	movwf	?a_setDataMark485
   248                           ;work.c: 868: void setDataMark485(unsigned char
      +                           mark)
   249  1154  3090               	movlw	-112
   250  1155  00A9               	movwf	_v_DI1485
   251                           ;work.c: 871: if(mark & 0b10000000)
   252  1156  1FD8               	btfss	?a_setDataMark485,7
   253  1157  295B               	goto	l149
   254                           ;work.c: 872: {
   255  1158  301F               	movlw	31
   256  1159  00A7               	movwf	_v_DI0485
   257                           ;work.c: 874: }
   258  115A  0008               	return
   259  115B                     l149
   260                           ;work.c: 875: else if(mark & 0b01000000)
   261  115B  1F58               	btfss	?a_setDataMark485,6
   262  115C  2960               	goto	l151
   263                           ;work.c: 876: {
   264  115D  3010               	movlw	16
   265  115E  00A7               	movwf	_v_DI0485
   266                           ;work.c: 878: }
   267  115F  0008               	return
   268  1160                     l151
   269                           ;work.c: 879: else if(mark & 0b00100000)
   270  1160  1ED8               	btfss	?a_setDataMark485,5
   271  1161  2965               	goto	l153
   272                           ;work.c: 880: {
   273  1162  3011               	movlw	17
   274  1163  00A7               	movwf	_v_DI0485
   275                           ;work.c: 882: }
   276  1164  0008               	return
   277  1165                     l153
   278                           ;work.c: 883: else if(mark & 0b00010000)
   279  1165  1E58               	btfss	?a_setDataMark485,4
   280  1166  296A               	goto	l155
   281                           ;work.c: 884: {
   282  1167  3012               	movlw	18
   283  1168  00A7               	movwf	_v_DI0485
   284                           ;work.c: 886: }
   285  1169  0008               	return
   286  116A                     l155
   287                           ;work.c: 887: else if(mark & 0b00001000)
   288  116A  1DD8               	btfss	?a_setDataMark485,3
   289  116B  296F               	goto	l157
   290                           ;work.c: 888: {
   291  116C  3013               	movlw	19
   292  116D  00A7               	movwf	_v_DI0485
   293                           ;work.c: 890: }
   294  116E  0008               	return
   295  116F                     l157
   296                           ;work.c: 891: else if(mark & 0b00000100)
   297  116F  1D58               	btfss	?a_setDataMark485,2
   298  1170  0008               	return
   299                           ;work.c: 892: {
   300  1171  3014               	movlw	20
   301  1172  00A7               	movwf	_v_DI0485
   302                           ;work.c: 894: }
   303  1173  0008               	return	;W free
   304  1174                     _MeterMarkCheck
   305                           ;	_Mark assigned to ?a_MeterMarkCheck+0
   306  0000                     _MeterMarkCheck$Mark	set	?a_MeterMarkCheck
   307                           ;_Mark stored from w
   308  1174  0183               	clrf	3	;select bank 0
   309  1175  00D8               	movwf	?a_MeterMarkCheck
   310                           ;work.c: 902: unsigned char MeterMarkCheck(unsi
      +                          gned char Mark)
   311  1176  1FD8               	btfss	?a_MeterMarkCheck,7
   312  1177  297D               	goto	l161
   313                           ;work.c: 905: {
   314  1178  0858               	movf	?a_MeterMarkCheck,w
   315  1179  397C               	andlw	124
   316  117A  1D03               	btfss	3,2
   317  117B  3400               	retlw	0
   318  117C  297F               	goto	l163
   319                           ;work.c: 907: }
   320  117D                     l161
   321                           ;work.c: 908: else
   322  117D  1F58               	btfss	?a_MeterMarkCheck,6
   323  117E  3400               	retlw	0
   324  117F                     l163
   325                           ;work.c: 911: }
   326  117F  0858               	movf	?a_MeterMarkCheck,w
   327  1180  3903               	andlw	3
   328  1181  3A03               	xorlw	3
   329  1182  1903               	btfsc	3,2
   330  1183  3400               	retlw	0
   331                           ;work.c: 915: return 0x01u;
   332  1184  3401               	retlw	1
   333  1185                     _highmemcpy
   334                           ;	_dec assigned to ?a_highmemcpy+0
   335  0000                     _highmemcpy$dec	set	?a_highmemcpy
   336                           ;_dec stored from w
   337  1185  0183               	clrf	3	;select bank 0
   338  1186  00E1               	movwf	?a_highmemcpy
   339                           ;public.c: 35: void highmemcpy(bank2 unsigned c
      +                          har *dec, bank2 unsigned char *src, unsigned ch
      +                          ar n)
   340  1187  2994               	goto	l637
   341  1188                     l638
   342                           ;public.c: 38: {
   343  1188  085F               	movf	?_highmemcpy,w
   344  1189  0084               	movwf	4
   345  118A  1783               	bsf	3,7
   346  118B  0800               	movf	0,w
   347  118C  00E2               	movwf	?a_highmemcpy+1
   348  118D  0861               	movf	?a_highmemcpy,w
   349  118E  0084               	movwf	4
   350  118F  1783               	bsf	3,7
   351  1190  0862               	movf	?a_highmemcpy+1,w
   352  1191  0080               	movwf	0
   353  1192  0AE1               	incf	?a_highmemcpy
   354  1193  0ADF               	incf	?_highmemcpy
   355  1194                     l637
   356  1194  1283               	bcf	3,5
   357  1195  1303               	bcf	3,6	;carry unused
   358  1196  03E0               	decf	?_highmemcpy+1
   359  1197  0F60               	incfsz	?_highmemcpy+1,w
   360  1198  2988               	goto	l638
   361  1199  0008               	return
   362  119A                     _AmrTaskSet
   363                           ;work.c: 5: void AmrTaskSet(void)
   364  119A  0183               	clrf	3	;select bank 0
   365  119B  08C4               	movf	_Buff485Mark+4
   366  119C  1D03               	btfss	3,2
   367  119D  2A91               	goto	l6
   368                           ;work.c: 9: if(0x41 == RtTask.Sta)
   369  119E  0846               	movf	_RtTask,w
   370  119F  3A41               	xorlw	65
   371  11A0  1D03               	btfss	3,2
   372  11A1  29B8               	goto	l8
   373                           ;work.c: 10: {
   374  11A2  01C6               	clrf	_RtTask
   375                           ;work.c: 14: Buff485Mark.goal= 0x22u;
   376  11A3  3022               	movlw	34
   377  11A4  00C2               	movwf	_Buff485Mark+2
   378                           ;work.c: 16: v_FrameC485 = RtTask.Ctr;
   379  11A5  0848               	movf	_RtTask+2,w
   380  11A6  00AD               	movwf	_v_FrameC485
   381                           ;work.c: 17: v_FrameL485 = RtTask.len;
   382  11A7  0849               	movf	_RtTask+3,w
   383  11A8  00AF               	movwf	_v_FrameL485
   384                           ;work.c: 18: v_DI0485 = RtTask.DI0;
   385  11A9  084A               	movf	_RtTask+4,w
   386  11AA  00A7               	movwf	_v_DI0485
   387                           ;work.c: 19: v_DI1485 = RtTask.DI1;
   388  11AB  084B               	movf	_RtTask+5,w
   389  11AC  00A9               	movwf	_v_DI1485
   390                           ;work.c: 22: highmemcpy(Buff485+0x0au, RtData+1
      +                          , RtTask.len);
   391  11AD  309E               	movlw	(_RtData+1)^(0+256)
   392  11AE  00DF               	movwf	?_highmemcpy
   393  11AF  0849               	movf	_RtTask+3,w
   394  11B0  00E0               	movwf	?_highmemcpy+1
   395  11B1  30BF               	movlw	(_Buff485+10)^(0+256)
   396  11B2  2185               	fcall	_highmemcpy
   397                           ;work.c: 24: Buff485Mark.feCont = RtTask.FeCont
      +                          ;
   398  11B3  084C               	movf	_RtTask+6,w
   399  11B4  00C0               	movwf	_Buff485Mark
   400                           ;work.c: 25: FrameSet485(RtMeterID);
   401  11B5  3022               	movlw	_RtMeterID^(0+256)
   402  11B6  2293               	fcall	_FrameSet485
   403                           ;work.c: 26: return;
   404  11B7  2A91               	goto	l6
   405  11B8                     l8
   406                           ;work.c: 30: else if(0x00 != AmrTask.start)
   407  11B8  08CD               	movf	_AmrTask
   408  11B9  1903               	btfsc	3,2
   409  11BA  2A21               	goto	l10
   410                           ;work.c: 31: {
   411  11BB  08CE               	movf	_AmrTask+1
   412  11BC  1D03               	btfss	3,2
   413  11BD  2A91               	goto	l6
   414                           ;work.c: 33: {
   415  11BE  084D               	movf	_AmrTask,w
   416  11BF  3A31               	xorlw	49
   417  11C0  1D03               	btfss	3,2
   418  11C1  2A03               	goto	l12
   419                           ;work.c: 35: {
   420  11C2  3020               	movlw	32
   421  11C3  024F               	subwf	_AmrTask+2,w
   422  11C4  1C03               	btfss	3,0
   423  11C5  29CA               	goto	l13
   424                           ;work.c: 37: {
   425  11C6  01CD               	clrf	_AmrTask
   426                           ;work.c: 40: Buff485Mark.goal = 0x00u;
   427  11C7  01C2               	clrf	_Buff485Mark+2
   428                           ;work.c: 41: Buff485Mark.Sta = 0x00u;
   429  11C8  01C4               	clrf	_Buff485Mark+4
   430                           ;work.c: 42: return;
   431  11C9  2A91               	goto	l6
   432  11CA                     l13
   433                           ;work.c: 43: }
   434  11CA  084F               	movf	_AmrTask+2,w
   435  11CB  00E3               	movwf	?_getMeterID
   436  11CC  3010               	movlw	_AmrMeterID^(0+256)
   437  11CD  120A  158A  2696   	fcall	_getMeterID
      +       160A  118A         
   438  11D2  00D6               	movwf	?a_AmrTaskSet
   439  11D3  01D7               	clrf	?a_AmrTaskSet+1
   440  11D4  0457               	iorwf	?a_AmrTaskSet+1,w
   441  11D5  1903               	btfsc	3,2
   442  11D6  2A01               	goto	L1
   443                           ;work.c: 47: {
   444                           ;work.c: 49: return;
   445                           ;work.c: 50: }
   446  11D7  30F8               	movlw	248
   447  11D8  00FC               	movwf	btemp+2
   448  11D9  01FD               	clrf	btemp+3
   449  11DA  084F               	movf	_AmrTask+2,w
   450  11DB  00FA               	movwf	btemp
   451  11DC  01FB               	clrf	btemp+1
   452  11DD  120A  118A  2443   	fcall	lwmul
   453  11E0  3002               	movlw	2
   454  11E1  077E               	addwf	btemp+4,w
   455  11E2  00DC               	movwf	?_getStrFMlow
   456  11E3  3001               	movlw	1
   457  11E4  1803               	btfsc	3,0
   458  11E5  3002               	movlw	2
   459  11E6  077F               	addwf	btemp+5,w
   460  11E7  00DD               	movwf	?_getStrFMlow+1
   461  11E8  01DE               	clrf	?_getStrFMlow+2
   462  11E9  0ADE               	incf	?_getStrFMlow+2
   463  11EA  3053               	movlw	_AmrTask+6
   464  11EB  120A  158A  272E   	fcall	_getStrFMlow
      +       160A  118A         
   465                           ;work.c: 54: if(MeterMarkCheck(AmrTask.MeterMar
      +                          k) == 0x00u)
   466  11F0  0853               	movf	_AmrTask+6,w
   467  11F1  2174               	fcall	_MeterMarkCheck
   468  11F2  3800               	iorlw	0
   469  11F3  1D03               	btfss	3,2
   470  11F4  2A03               	goto	l12
   471                           ;work.c: 55: {
   472  11F5  1683               	bsf	3,5
   473  11F6  08A4               	movf	_TestTask^(0+128)
   474  11F7  1D03               	btfss	3,2
   475  11F8  2A00               	goto	l16
   476                           ;work.c: 58: {

⌨️ 快捷键说明

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