📄 user.lst
字号:
265 ///////////////////////////////////////////////////////////////////////////////////
266
267 ///////////////////////////////////////////////////////////////////////////////////
268 ///////////////////////////////////////////////////////////////////////////////////
269 ///////////////////////////////////////////////////////////////////////////////////
270 ///////////////////////////////////////////////////////////////////////////////////
271 ///////////////////////////////////////////////////////////////////////////////////
272 ///////////////////////////////////////////////////////////////////////////////////
273 ///////////////////////////////////////////////////////////////////////////////////
274 ///////////////////////////////////////////////////////////////////////////////////
275 ///////////////////////////////////////////////////////////////////////////////////
276
277 /*void setemptysn(unsigned short currentsn,unsigned char tempdata)
278 {
279 unsigned char index;
280 if(currentsn>=3000)return ;
281
282 tempdata|=bittbl[currentsn%8];
283 index=currentsn>>8+PSNSTART;
284
285 uart1buff[16]=tempdata;
286 rsetsystemdata(index,1,1);
287 }
288 /////////////////////////////////////////////////////////////////////////////////
289 bit getemptysn(unsigned char direction)
290 {
291 unsigned short tempsn;
292 if(rgetsystemdata(PSNSTART,375))
293 {
294 if(direction)
295 {
296 if(currentsn>=3000)tempsn=0;
297 else tempsn=currentsn+1;
298 for(;tempsn<3000;tempsn++)
299 {
300 if(!(uart1buff[PAFIMPARAM+tempsn>>3]&bittbl[currentsn&0x7]))break;
301 }
302 if(tempsn>=3000)return FALSE;
C51 COMPILER V7.01 USER 03/08/2007 12:09:39 PAGE 6
303 }
304 else
305 {
306 if(currentsn>=3000)tempsn=2999;
307 else tempsn=currentsn-1;
308 for(;tempsn<3000;tempsn--)
309 {
310 if(!(uart1buff[PAFIMPARAM+tempsn>>3]&bittbl[currentsn&0x7]))break;
311 }
312 if(tempsn>=3000)return FALSE;
313 }
314 currentsn=tempsn;
315
316 return TRUE;
317 }
318 }
319 /////////////////////////////////////////////////////////////////////////////////
320 bit getusedsn(unsigned char direction)
321 {
322 unsigned short tempsn;
323 if(rgetsystemdata(PSNSTART,375))
324 {
325 if(direction)
326 {
327 if(currentsn>=3000)tempsn=0;
328 else tempsn=currentsn+1;
329 for(;tempsn<3000;tempsn++)
330 {
331 if((uart1buff[PAFIMPARAM+tempsn>>3]&bittbl[currentsn&0x7]))break;
332 }
333 if(tempsn>=3000)return FALSE;
334 }
335 else
336 {
337 if(currentsn>=3000)tempsn=2999;
338 else tempsn=currentsn-1;
339 for(;tempsn<3000;tempsn--)
340 {
341 if((uart1buff[PAFIMPARAM+tempsn>>3]&bittbl[currentsn&0x7]))break;
342 }
343 if(tempsn>=3000)return FALSE;
344 }
345 currentsn=tempsn;
346
347 return TRUE;
348 }
349 }*/
350 /////////////////////////////////////////////////////////////////////////////////
351
C51 COMPILER V7.01 USER 03/08/2007 12:09:39 PAGE 7
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _readuserdata (BEGIN)
; SOURCE LINE # 15
;---- Variable 'usersn' assigned to Register 'R4/R5' ----
0000 CD XCH A,R5
0001 EF MOV A,R7
0002 CD XCH A,R5
0003 CC XCH A,R4
0004 EE MOV A,R6
0005 CC XCH A,R4
; SOURCE LINE # 16
; SOURCE LINE # 17
0006 74C0 MOV A,#0C0H
0008 2D ADD A,R5
0009 FD MOV R5,A
000A 7401 MOV A,#01H
000C 3C ADDC A,R4
000D FC MOV R4,A
; SOURCE LINE # 18
000E CF XCH A,R7
000F ED MOV A,R5
0010 CF XCH A,R7
0011 CD XCH A,R5
0012 EC MOV A,R4
0013 CD XCH A,R5
0014 120000 E LCALL _ram_read8
; SOURCE LINE # 19
0017 22 RET
; FUNCTION _readuserdata (END)
; FUNCTION _writeuserdata (BEGIN)
; SOURCE LINE # 21
;---- Variable 'usersn' assigned to Register 'R4/R5' ----
0000 CD XCH A,R5
0001 EF MOV A,R7
0002 CD XCH A,R5
0003 CC XCH A,R4
0004 EE MOV A,R6
0005 CC XCH A,R4
; SOURCE LINE # 22
; SOURCE LINE # 23
0006 74C0 MOV A,#0C0H
0008 2D ADD A,R5
0009 FD MOV R5,A
000A 7401 MOV A,#01H
000C 3C ADDC A,R4
000D FC MOV R4,A
; SOURCE LINE # 24
000E CF XCH A,R7
000F ED MOV A,R5
0010 CF XCH A,R7
0011 CD XCH A,R5
0012 EC MOV A,R4
0013 CD XCH A,R5
0014 120000 E LCALL _ram_write8
; SOURCE LINE # 26
0017 22 RET
; FUNCTION _writeuserdata (END)
; FUNCTION _testemptysn (BEGIN)
C51 COMPILER V7.01 USER 03/08/2007 12:09:39 PAGE 8
; SOURCE LINE # 28
;---- Variable 'index' assigned to Register 'R6/R7' ----
; SOURCE LINE # 29
; SOURCE LINE # 31
0000 120000 R LCALL _readuserdata
; SOURCE LINE # 32
0003 7800 E MOV R0,#LOW tempbuff+08H
0005 E6 MOV A,@R0
0006 D3 SETB C
0007 94A0 SUBB A,#0A0H
0009 5007 JNC ?C0004
000B 08 INC R0
000C E6 MOV A,@R0
000D C3 CLR C
000E 94A0 SUBB A,#0A0H
0010 4002 JC ?C0003
0012 ?C0004:
; SOURCE LINE # 33
0012 D3 SETB C
0013 22 RET
0014 ?C0003:
; SOURCE LINE # 34
0014 C3 CLR C
; SOURCE LINE # 35
0015 ?C0005:
0015 22 RET
; FUNCTION _testemptysn (END)
; FUNCTION _getemptysn (BEGIN)
; SOURCE LINE # 37
;---- Variable 'tempsn' assigned to Register 'R2/R3' ----
;---- Variable 'direction' assigned to Register 'R7' ----
; SOURCE LINE # 38
; SOURCE LINE # 41
0000 EF MOV A,R7
0001 6401 XRL A,#01H
0003 703E JNZ ?C0007
; SOURCE LINE # 42
; SOURCE LINE # 43
0005 C3 CLR C
0006 E500 E MOV A,currentsn+01H
0008 94B8 SUBB A,#0B8H
000A E500 E MOV A,currentsn
000C 940B SUBB A,#0BH
000E 4005 JC ?C0008
0010 E4 CLR A
0011 FA MOV R2,A
0012 FB MOV R3,A
0013 8009 SJMP ?C0010
0015 ?C0008:
; SOURCE LINE # 44
0015 E500 E MOV A,currentsn+01H
0017 2401 ADD A,#01H
0019 FB MOV R3,A
001A E4 CLR A
001B 3500 E ADDC A,currentsn
001D FA MOV R2,A
; SOURCE LINE # 45
001E ?C0010:
001E C3 CLR C
001F EB MOV A,R3
0020 94B8 SUBB A,#0B8H
C51 COMPILER V7.01 USER 03/08/2007 12:09:39 PAGE 9
0022 EA MOV A,R2
0023 940B SUBB A,#0BH
0025 5012 JNC ?C0011
; SOURCE LINE # 46
; SOURCE LINE # 47
0027 CF XCH A,R7
0028 EB MOV A,R3
0029 CF XCH A,R7
002A CE XCH A,R6
002B EA MOV A,R2
002C CE XCH A,R6
002D 120000 R LCALL _testemptysn
0030 4007 JC ?C0011
; SOURCE LINE # 48
0032 ?C0012:
0032 0B INC R3
0033 BB0001 CJNE R3,#00H,?C0088
0036 0A INC R2
0037 ?C0088:
0037 80E5 SJMP ?C0010
0039 ?C0011:
; SOURCE LINE # 49
0039 C3 CLR C
003A EB MOV A,R3
003B 94B8 SUBB A,#0B8H
003D EA MOV A,R2
003E 940B SUBB A,#0BH
0040 4041 JC ?C0016
0042 22 RET
; SOURCE LINE # 50
0043 ?C0007:
; SOURCE LINE # 52
; SOURCE LINE # 53
0043 C3 CLR C
0044 E500 E MOV A,currentsn+01H
0046 94B8 SUBB A,#0B8H
0048 E500 E MOV A,currentsn
004A 940B SUBB A,#0BH
004C 4006 JC ?C0017
004E 7A0B MOV R2,#0BH
0050 7BB7 MOV R3,#0B7H
0052 800A SJMP ?C0019
0054 ?C0017:
; SOURCE LINE # 54
0054 E500 E MOV A,currentsn+01H
0056 24FF ADD A,#0FFH
0058 FB MOV R3,A
0059 E500 E MOV A,currentsn
005B 34FF ADDC A,#0FFH
005D FA MOV R2,A
; SOURCE LINE # 55
005E ?C0019:
005E C3 CLR C
005F EB MOV A,R3
0060 94B8 SUBB A,#0B8H
0062 EA MOV A,R2
0063 940B SUBB A,#0BH
0065 5012 JNC ?C0020
; SOURCE LINE # 56
; SOURCE LINE # 57
0067 CF XCH A,R7
0068 EB MOV A,R3
C51 COMPILER V7.01 USER 03/08/2007 12:09:39 PAGE 10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -