📄 main.lst
字号:
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 + -