📄 test.src
字号:
MOV DPTR,#011H
LCALL ?C?XBPOFF
CLR A
MOV B,#01H
LCALL ?C?IILDX
SJMP ?C0029
?C0030:
; L=(INT8U)CRC;H=(INT8U)(CRC>>8);
; SOURCE LINE # 285
MOV DPTR,#015H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
MOV R5,A
MOV DPTR,#0FH
LCALL ?C?XBPOFF
MOV A,R5
MOVX @DPTR,A
MOV A,R6
MOV R7,A
MOV DPTR,#0EH
LCALL ?C?XBPOFF
MOV A,R7
MOVX @DPTR,A
; CommPutChar(H,OS_TICKS_PER_SEC);
; SOURCE LINE # 286
MOV R4,#00H
MOV R5,#032H
MOV DPTR,#0EH
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R7,A
LCALL _?CommPutChar
; CommPutChar(L,OS_TICKS_PER_SEC);
; SOURCE LINE # 287
MOV R4,#00H
MOV R5,#032H
MOV DPTR,#0FH
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R7,A
LCALL _?CommPutChar
; RESFlag=0x00;break;
; SOURCE LINE # 288
?C0053:
LJMP ?C0054
;
; case 0x03:CRCLEN=OutBuf[1];
; SOURCE LINE # 290
?C0032:
MOV DPTR,#OutBuf+01H
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#010H
LCALL ?C?XBPOFF
MOV A,R7
MOVX @DPTR,A
; CRC=cal_crc(&OutBuf[0],CRCLEN);
; SOURCE LINE # 291
MOV DPTR,#010H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R5,A
MOV R3,#01H
MOV R2,#HIGH (OutBuf)
MOV R1,#LOW (OutBuf)
LCALL _?cal_crc
MOV DPTR,#015H
LCALL ?C?XBPOFF
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
; j=(INT16U)OutBuf[1];
; SOURCE LINE # 292
MOV DPTR,#OutBuf+01H
MOVX A,@DPTR
MOV R7,A
MOV R6,#00H
MOV DPTR,#013H
LCALL ?C?XBPOFF
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
; for(i=0;i<j;i++)
; SOURCE LINE # 293
MOV DPTR,#011H
LCALL ?C?XBPOFF
CLR A
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
?C0033:
MOV DPTR,#013H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#011H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
CLR C
SUBB A,R7
MOV A,R2
SUBB A,R6
JNC ?C0034
; {CommPutChar(OutBuf[i],OS_TICKS_PER_SEC);}
; SOURCE LINE # 294
MOV R4,#00H
MOV R5,#032H
MOV A,#LOW (OutBuf)
ADD A,R3
MOV DPL,A
CLR A
ADDC A,#HIGH (OutBuf)
MOV DPH,A
MOVX A,@DPTR
MOV R7,A
LCALL _?CommPutChar
MOV DPTR,#011H
LCALL ?C?XBPOFF
CLR A
MOV B,#01H
LCALL ?C?IILDX
SJMP ?C0033
?C0034:
; L=(INT8U)CRC;H=(INT8U)(CRC>>8);
; SOURCE LINE # 295
MOV DPTR,#015H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
MOV R5,A
MOV DPTR,#0FH
LCALL ?C?XBPOFF
MOV A,R5
MOVX @DPTR,A
MOV A,R6
MOV R7,A
MOV DPTR,#0EH
LCALL ?C?XBPOFF
MOV A,R7
MOVX @DPTR,A
; CommPutChar(H,OS_TICKS_PER_SEC);
; SOURCE LINE # 296
MOV R4,#00H
MOV R5,#032H
MOV DPTR,#0EH
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R7,A
LCALL _?CommPutChar
; CommPutChar(L,OS_TICKS_PER_SEC);
; SOURCE LINE # 297
MOV R4,#00H
MOV R5,#032H
MOV DPTR,#0FH
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R7,A
LCALL _?CommPutChar
; RESFlag=0x00;break;
; SOURCE LINE # 298
?C0054:
CLR A
MOV DPTR,#RESFlag
MOVX @DPTR,A
; }
; SOURCE LINE # 299
?C0023:
; OSTimeDly(2);
; SOURCE LINE # 300
MOV R7,#02H
MOV R6,#00H
LCALL _OSTimeDly
; }
; SOURCE LINE # 301
LJMP ?C0021
; END OF _?TxTASK
;
; }
;
; /*
; *********************************************************************************************************
; * OETASK
; *********************************************************************************************************
; */
;
; void OETASK(void *cszdata) reentrant
RSEG ?PR?_?OETASK?TEST
_?OETASK:
USING 0
; SOURCE LINE # 311
MOV DPTR,#0FFFDH
LCALL ?C?ADDXBP
MOV A,R3
MOVX @DPTR,A
INC DPTR
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOV A,R1
MOVX @DPTR,A
MOV DPTR,#0FFF6H
LCALL ?C?ADDXBP
; {
; INT8U H2,H1,L2,L1;
; INT16U k;
; INT16U i,j;
; extern INT8U OutBuf[256];
; extern INT8U InBuf[130];
;
; cszdata=cszdata;
; SOURCE LINE # 319
MOV DPTR,#0AH
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
MOV DPTR,#0AH
LCALL ?C?XBPOFF
MOV A,R3
MOVX @DPTR,A
INC DPTR
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOV A,R1
MOVX @DPTR,A
;
; for (;;)
; SOURCE LINE # 321
?C0037:
; {
; SOURCE LINE # 322
; srand(TICKS);
; SOURCE LINE # 323
MOV DPTR,#TICKS
MOVX A,@DPTR
MOV R7,A
MOV R6,#00H
LCALL _srand
; switch(OEFlag)
; SOURCE LINE # 324
MOV DPTR,#OEFlag
MOVX A,@DPTR
ADD A,#0FEH
JNZ $ + 5H
LJMP ?C0044
INC A
JZ $ + 5H
LJMP ?C0039
; {
; SOURCE LINE # 325
; case 0x01:OutBuf[0]=0x1B;
; SOURCE LINE # 326
?C0040:
MOV DPTR,#OutBuf
MOV A,#01BH
MOVX @DPTR,A
; OutBuf[1]=InBuf[1]+0x04;
; SOURCE LINE # 327
MOV DPTR,#InBuf+01H
MOVX A,@DPTR
ADD A,#04H
MOV DPTR,#OutBuf+01H
MOVX @DPTR,A
; OutBuf[2]=0x02;
; SOURCE LINE # 328
INC DPTR
MOV A,#02H
MOVX @DPTR,A
; j=(INT16U)OutBuf[1];
; SOURCE LINE # 329
MOV DPTR,#OutBuf+01H
MOVX A,@DPTR
MOV R7,A
MOV R6,#00H
MOV DPTR,#08H
LCALL ?C?XBPOFF
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
; H2=rand();
; SOURCE LINE # 330
LCALL rand
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
MOV A,R7
MOVX @DPTR,A
; H1=rand();
; SOURCE LINE # 331
LCALL rand
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
INC DPTR
MOV A,R7
MOVX @DPTR,A
; L2=rand();
; SOURCE LINE # 332
LCALL rand
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
INC DPTR
INC DPTR
MOV A,R7
MOVX @DPTR,A
; L1=rand();
; SOURCE LINE # 333
LCALL rand
MOV DPTR,#03H
LCALL ?C?XBPOFF
MOV A,R7
MOVX @DPTR,A
; OutBuf[3]=H2;
; SOURCE LINE # 334
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
MOVX A,@DPTR
MOV DPTR,#OutBuf+03H
MOVX @DPTR,A
; OutBuf[4]=H1;
; SOURCE LINE # 335
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
INC DPTR
MOVX A,@DPTR
MOV DPTR,#OutBuf+04H
MOVX @DPTR,A
; OutBuf[5]=L2;
; SOURCE LINE # 336
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
INC DPTR
INC DPTR
MOVX A,@DPTR
MOV DPTR,#OutBuf+05H
MOVX @DPTR,A
; OutBuf[6]=L1;
; SOURCE LINE # 337
MOV DPTR,#03H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV DPTR,#OutBuf+06H
MOVX @DPTR,A
; for(i=7;i<j;i++)
; SOURCE LINE # 338
MOV DPTR,#06H
LCALL ?C?XBPOFF
CLR A
MOVX @DPTR,A
INC DPTR
MOV A,#07H
MOVX @DPTR,A
?C0041:
MOV DPTR,#08H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#06H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
CLR C
SUBB A,R7
MOV A,R4
SUBB A,R6
JNC ?C0042
; {
; SOURCE LINE # 339
; OutBuf[i]=InBuf[i-4];
; SOURCE LINE # 340
MOV R7,AR5
MOV A,#LOW (InBuf+0FFFCH)
ADD A,R7
MOV DPL,A
CLR A
ADDC A,#HIGH (InBuf+0FFFCH)
MOV DPH,A
MOVX A,@DPTR
MOV R6,A
MOV A,#LOW (OutBuf)
ADD A,R7
MOV DPL,A
CLR A
ADDC A,#HIGH (OutBuf)
MOV DPH,A
MOV A,R6
MOVX @DPTR,A
; }
; SOURCE LINE # 341
MOV DPTR,#06H
LCALL ?C?XBPOFF
CLR A
MOV B,#01H
LCALL ?C?IILDX
SJMP ?C0041
?C0042:
; RESFlag=0x02;OEFlag=0x00;break;
; SOURCE LINE # 342
MOV DPTR,#RESFlag
MOV A,#02H
LJMP ?C0055
; case 0x02:OutBuf[0]=0x1B;
; SOURCE LINE # 343
?C0044:
MOV DPTR,#OutBuf
MOV A,#01BH
MOVX @DPTR,A
; OutBuf[1]=InBuf[1];
; SOURCE LINE # 344
MOV DPTR,#InBuf+01H
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#OutBuf+01H
MOVX @DPTR,A
; OutBuf[2]=0x03;
; SOURCE LINE # 345
INC DPTR
MOV A,#03H
MOVX @DPTR,A
; j=(INT16U)InBuf[1];k=0;
; SOURCE LINE # 346
MOV R6,#00H
MOV DPTR,#08H
LCALL ?C?XBPOFF
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
MOV DPTR,#04H
LCALL ?C?XBPOFF
CLR A
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
; H2=rand();
; SOURCE LINE # 347
LCALL rand
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
MOV A,R7
MOVX @DPTR,A
; H1=rand();
; SOURCE LINE # 348
LCALL rand
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
INC DPTR
MOV A,R7
MOVX @DPTR,A
; L2=rand();
; SOURCE LINE # 349
LCALL rand
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
INC DPTR
INC DPTR
MOV A,R7
MOVX @DPTR,A
; L1=rand();
; SOURCE LINE # 350
LCALL rand
MOV DPTR,#03H
LCALL ?C?XBPOFF
MOV A,R7
MOVX @DPTR,A
; OutBuf[3]=H2;
; SOURCE LINE # 351
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
MOVX A,@DPTR
MOV DPTR,#OutBuf+03H
MOVX @DPTR,A
; OutBuf[4]=H1;
; SOURCE LINE # 352
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
INC DPTR
MOVX A,@DPTR
MOV DPTR,#OutBuf+04H
MOVX @DPTR,A
; OutBuf[5]=L2;
; SOURCE LINE # 353
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
INC DPTR
INC DPTR
MOVX A,@DPTR
MOV DPTR,#OutBuf+05H
MOVX @DPTR,A
; OutBuf[6]=L1;
; SOURCE LINE # 354
MOV DPTR,#03H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV DPTR,#OutBuf+06H
MOVX @DPTR,A
; for(i=7;i<j;i++)
; SOURCE LINE # 355
MOV DPTR,#06H
LCALL ?C?XBPOFF
CLR A
MOVX @DPTR,A
INC DPTR
MOV A,#07H
MOVX @DPTR,A
?C0045:
MOV DPTR,#08H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#06H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
CLR C
SUBB A,R7
MOV A,R4
SUBB A,R6
JNC ?C0046
; {OutBuf[i]=InBuf[i];k++;}
; SOURCE LINE # 356
MOV A,#LOW (InBuf)
ADD A,R5
MOV DPL,A
CLR A
ADDC A,#HIGH (InBuf)
MOV DPH,A
MOVX A,@DPTR
MOV R4,A
MOV A,#LOW (OutBuf)
ADD A,R5
MOV DPL,A
CLR A
ADDC A,#HIGH (OutBuf)
MOV DPH,A
MOV A,R4
MOVX @DPTR,A
MOV DPTR,#04H
LCALL ?C?XBPOFF
CLR A
MOV B,#01H
LCALL ?C?IILDX
MOV DPTR,#06H
LCALL ?C?XBPOFF
CLR A
MOV B,#01H
LCALL ?C?IILDX
SJMP ?C0045
?C0046:
; OutBuf[1]=OutBuf[1]+(INT8U)k;
; SOURCE LINE # 357
MOV DPTR,#04H
LCALL ?C?XBPOFF
INC DPTR
MOVX A,@DPTR
MOV R5,A
MOV DPTR,#OutBuf+01H
MOVX A,@DPTR
ADD A,R5
MOVX @DPTR,A
; for(i=j;i<j+k;i++)
; SOURCE LINE # 358
MOV DPTR,#06H
LCALL ?C?XBPOFF
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
?C0048:
MOV DPTR,#04H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#08H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
ADD A,R7
MOV R5,A
MOV A,R4
ADDC A,R6
MOV R4,A
MOV DPTR,#06H
LCALL ?C?XBPOFF
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
CLR C
SUBB A,R5
MOV A,R2
SUBB A,R4
JNC ?C0049
; {OutBuf[i]=InBuf[i-k];}
; SOURCE LINE # 359
CLR C
MOV A,R3
SUBB A,R7
MOV R7,A
MOV A,R2
SUBB A,R6
MOV R6,A
MOV A,#LOW (InBuf)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (InBuf)
ADDC A,R6
MOV DPH,A
MOVX A,@DPTR
MOV R7,A
MOV A,#LOW (OutBuf)
ADD A,R3
MOV DPL,A
CLR A
ADDC A,#HIGH (OutBuf)
MOV DPH,A
MOV A,R7
MOVX @DPTR,A
MOV DPTR,#06H
LCALL ?C?XBPOFF
CLR A
MOV B,#01H
LCALL ?C?IILDX
SJMP ?C0048
?C0049:
; RESFlag=0x03;OEFlag=0x00;break;
; SOURCE LINE # 360
MOV DPTR,#RESFlag
MOV A,#03H
?C0055:
MOVX @DPTR,A
CLR A
MOV DPTR,#OEFlag
MOVX @DPTR,A
; }
; SOURCE LINE # 361
?C0039:
;
; OSTimeDly(2);
; SOURCE LINE # 363
MOV R7,#02H
MOV R6,#00H
LCALL _OSTimeDly
; }
; SOURCE LINE # 364
LJMP ?C0037
; END OF _?OETASK
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -