📄 yy1.src
字号:
MOVX A,@DPTR
ADD A,#04H
MOVX @DPTR,A
; err=OSSemPost(sig);
; SOURCE LINE # 138
MOV DPTR,#sig
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
LCALL _?OSSemPost
MOV DPTR,#err?040
MOV A,R7
MOVX @DPTR,A
; }
; SOURCE LINE # 139
?C0015:
; if(pc1>B_S)pc1=0;
; SOURCE LINE # 140
MOV DPTR,#pc1
MOVX A,@DPTR
SETB C
SUBB A,#0C3H
JC ?C0001
CLR A
MOVX @DPTR,A
;
; break;
; SOURCE LINE # 142
;
;
; default:
; SOURCE LINE # 145
?C0001:
; STO = 1;
;
; break;
; }
;
; SI = 0;
; SOURCE LINE # 151
CLR SI
;
; }
; SOURCE LINE # 153
POP AR7
POP AR6
POP AR5
POP AR4
POP AR3
POP AR2
POP AR1
POP AR0
POP PSW
POP DPL
POP DPH
POP B
POP ACC
RETI
; END OF SMBUS_ISR
CSEG AT 00023H
LJMP UART0
; void UART0(void) interrupt 4
RSEG ?PR?UART0?YY1
USING 0
UART0:
PUSH ACC
PUSH B
PUSH DPH
PUSH DPL
PUSH PSW
MOV PSW,#00H
PUSH AR0
PUSH AR1
PUSH AR2
PUSH AR3
PUSH AR4
PUSH AR5
PUSH AR6
PUSH AR7
USING 0
; SOURCE LINE # 154
; {
; OSIntEnter();
; SOURCE LINE # 156
LCALL _?OSIntEnter
; if(RI0)
; SOURCE LINE # 157
JNB RI0,?C0019
; {
; SOURCE LINE # 158
; switch(SBUF0)
; SOURCE LINE # 159
MOV R7,SBUF0
MOV A,R7
ADD A,#0BEH
JNZ ?C0020
; {
; SOURCE LINE # 160
; // case 55: cc[0]=55;
; // cc[1]=temp1;
; // SBUF0=cc[0];
;
; // break;
;
; case 66: RSTSRC=2;
; SOURCE LINE # 167
?C0021:
MOV RSTSRC,#02H
; break;
; SOURCE LINE # 168
;
; }
; SOURCE LINE # 170
?C0020:
;
; RI0=0;
; SOURCE LINE # 172
CLR RI0
; }
; SOURCE LINE # 173
?C0019:
;
; OSIntExit();
; SOURCE LINE # 175
LCALL _?OSIntExit
; }
; SOURCE LINE # 176
POP AR7
POP AR6
POP AR5
POP AR4
POP AR3
POP AR2
POP AR1
POP AR0
POP PSW
POP DPL
POP DPH
POP B
POP ACC
RETI
; END OF UART0
; /*
; void ET3_ISR(void) interrupt 14 // 1/1000s
; {
;
; //#pragma asm
;
; //#pragma endasm
;
; WDTCN=0xa5;
; TMR3CN=0x06;
; // LED=~LED;
; }
; */
; void main(void)
RSEG ?PR?main?YY1
main:
USING 0
; SOURCE LINE # 190
; {
; SOURCE LINE # 191
;
; config();
; SOURCE LINE # 193
LCALL config
; OSInit();
; SOURCE LINE # 194
LCALL _?OSInit
; InitTimer2();
; SOURCE LINE # 195
LCALL _?InitTimer2
;
;
; OSTaskCreate(TaskStartyya, (void *)0, &TaskStartStkyya[0],2);
; SOURCE LINE # 198
MOV DPTR,#0FFFFH
LCALL ?C?ADDXBP
MOV A,#02H
MOVX @DPTR,A
MOV R3,#01H
MOV R2,#HIGH (TaskStartStkyya)
MOV R1,#LOW (TaskStartStkyya)
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 R3,#00H
MOV R2,#00H
MOV R1,#00H
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 R3,#0FFH
MOV R2,#HIGH (_?TaskStartyya)
MOV R1,#LOW (_?TaskStartyya)
LCALL _?OSTaskCreate
; OSTaskCreate(TaskStartyyb, (void *)0, &TaskStartStkyyb[0],3);
; SOURCE LINE # 199
MOV DPTR,#0FFFFH
LCALL ?C?ADDXBP
MOV A,#03H
MOVX @DPTR,A
MOV R3,#01H
MOV R2,#HIGH (TaskStartStkyyb)
MOV R1,#LOW (TaskStartStkyyb)
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 R3,#00H
MOV R2,#00H
MOV R1,#00H
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 R3,#0FFH
MOV R2,#HIGH (_?TaskStartyyb)
MOV R1,#LOW (_?TaskStartyyb)
LCALL _?OSTaskCreate
; OSTaskCreate(TaskStartyyc, (void *)0, &TaskStartStkyyc[0],4);
; SOURCE LINE # 200
MOV DPTR,#0FFFFH
LCALL ?C?ADDXBP
MOV A,#04H
MOVX @DPTR,A
MOV R3,#01H
MOV R2,#HIGH (TaskStartStkyyc)
MOV R1,#LOW (TaskStartStkyyc)
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 R3,#00H
MOV R2,#00H
MOV R1,#00H
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 R3,#0FFH
MOV R2,#HIGH (_?TaskStartyyc)
MOV R1,#LOW (_?TaskStartyyc)
LCALL _?OSTaskCreate
; sig=OSSemCreate(0);
; SOURCE LINE # 201
MOV R6,#00H
MOV R7,#00H
LCALL _?OSSemCreate
MOV DPTR,#sig
MOV A,R3
MOVX @DPTR,A
INC DPTR
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOV A,R1
MOVX @DPTR,A
; OSStart();
; SOURCE LINE # 202
LJMP _?OSStart
; END OF main
; }
;
;
; void TaskStartyya(void *yydata) reentrant
RSEG ?PR?_?TaskStartyya?YY1
_?TaskStartyya:
USING 0
; SOURCE LINE # 206
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,#0FFFFH
LCALL ?C?ADDXBP
; {
; unsigned char n;
; yydata=yydata;
; SOURCE LINE # 209
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
INC DPTR
MOVX A,@DPTR
MOV R1,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
INC DPTR
XCH A,R1
MOVX @DPTR,A
INC DPTR
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOV A,R1
MOVX @DPTR,A
;
; WDTCN = 0x07;
; SOURCE LINE # 211
MOV WDTCN,#07H
; WDTCN = 0xA5;
; SOURCE LINE # 212
MOV WDTCN,#0A5H
; // TMR3CN = 0x06;
; time=0;
; SOURCE LINE # 214
MOV DPTR,#time
LCALL ?C?LSTKXDATA
DB 00H
DB 00H
DB 00H
DB 00H
; pc1=0;
; SOURCE LINE # 215
CLR A
MOV DPTR,#pc1
MOVX @DPTR,A
; pc2=0;
; SOURCE LINE # 216
INC DPTR
MOVX @DPTR,A
; pbuff=0;
; SOURCE LINE # 217
INC DPTR
MOVX @DPTR,A
; BEEP=0;
; SOURCE LINE # 218
CLR P06
; LED=0;
; SOURCE LINE # 219
CLR P07
; OSTimeDly(OS_TICKS_PER_SEC);
; SOURCE LINE # 220
MOV R6,A
MOV R7,#064H
LCALL _?OSTimeDly
; LED=1;
; SOURCE LINE # 221
SETB P07
; BEEP=1;
; SOURCE LINE # 222
SETB P06
; OSTimeDly(OS_TICKS_PER_SEC);
; SOURCE LINE # 223
MOV R6,#00H
MOV R7,#064H
LCALL _?OSTimeDly
; LED=0;
; SOURCE LINE # 224
CLR P07
;
; word[0]=0;
; SOURCE LINE # 226
CLR A
MOV DPTR,#word
MOVX @DPTR,A
;
; for(n=0;n<254;n=n+2)
; SOURCE LINE # 228
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
MOVX @DPTR,A
?C0024:
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
MOVX A,@DPTR
MOV R7,A
CLR C
SUBB A,#0FEH
JNC ?C0027
; {
; SOURCE LINE # 229
; add=n;
; SOURCE LINE # 230
MOV DPTR,#add?
MOV A,R7
MOVX @DPTR,A
; SLA_SEND(1);
; SOURCE LINE # 231
MOV R7,#01H
LCALL _SLA_SEND
; }
; SOURCE LINE # 232
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
MOVX A,@DPTR
ADD A,#02H
MOVX @DPTR,A
SJMP ?C0024
?C0027:
;
; while(1)
; SOURCE LINE # 234
; {
; SOURCE LINE # 235
;
; OSTimeDly(OS_TICKS_PER_SEC);
; SOURCE LINE # 237
MOV R6,#00H
MOV R7,#064H
LCALL _?OSTimeDly
;
;
; }
; SOURCE LINE # 240
SJMP ?C0027
; END OF _?TaskStartyya
; }
;
; void TaskStartyyb(void *yydata) reentrant
RSEG ?PR?_?TaskStartyyb?YY1
_?TaskStartyyb:
USING 0
; SOURCE LINE # 243
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
; {
; yydata=yydata;
; SOURCE LINE # 245
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
MOVX A,@DPTR
MOV R1,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
XCH A,R1
MOVX @DPTR,A
INC DPTR
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOV A,R1
MOVX @DPTR,A
?C0030:
; while(1)
; SOURCE LINE # 246
; {
; SOURCE LINE # 247
; OSTimeDly(3*OS_TICKS_PER_SEC);
; SOURCE LINE # 248
MOV R6,#01H
MOV R7,#02CH
LCALL _?OSTimeDly
;
; }
; SOURCE LINE # 250
SJMP ?C0030
; END OF _?TaskStartyyb
; }
;
; void TaskStartyyc(void *yydata) reentrant
RSEG ?PR?_?TaskStartyyc?YY1
_?TaskStartyyc:
USING 0
; SOURCE LINE # 253
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,#0FFFFH
LCALL ?C?ADDXBP
; {
; unsigned char err;
; yydata=yydata;
; SOURCE LINE # 256
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
INC DPTR
MOVX A,@DPTR
MOV R1,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
INC DPTR
XCH A,R1
MOVX @DPTR,A
INC DPTR
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOV A,R1
MOVX @DPTR,A
?C0033:
; while(1)
; SOURCE LINE # 257
; {
; SOURCE LINE # 258
; OSSemPend(sig,0,&err);
; SOURCE LINE # 259
MOV R3,#01H
MOV DPH,?C_XBP
MOV DPL,?C_XBP+01H
MOV R1,DPL
MOV R2,DPH
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 R4,#00H
MOV R5,#00H
MOV DPTR,#sig
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
LCALL _?OSSemPend
?C0035:
; while(pbuff>0)
; SOURCE LINE # 260
MOV DPTR,#pbuff
MOVX A,@DPTR
SETB C
SUBB A,#00H
JC ?C0033
; {
; SOURCE LINE # 261
; LED=1;
; SOURCE LINE # 262
SETB P07
; BEEP=0;
; SOURCE LINE # 263
CLR P06
; SBUF0=buff[pc2];
; SOURCE LINE # 264
MOV DPTR,#pc2
MOVX A,@DPTR
ADD A,#LOW (buff)
MOV DPL,A
CLR A
ADDC A,#HIGH (buff)
MOV DPH,A
MOVX A,@DPTR
MOV SBUF0,A
?C0037:
; while(~TI0);
; SOURCE LINE # 265
MOV C,TI0
CPL C
JC ?C0037
?C0038:
; TI0=0;
; SOURCE LINE # 266
CLR TI0
;
; pc2++;
; SOURCE LINE # 268
MOV DPTR,#pc2
MOVX A,@DPTR
INC A
MOVX @DPTR,A
; if((pc2 % 7)==0)OSTimeDly(1);
; SOURCE LINE # 269
MOVX A,@DPTR
MOV B,#07H
DIV AB
MOV A,B
JNZ ?C0039
MOV R6,A
MOV R7,#01H
LCALL _?OSTimeDly
?C0039:
; if(pc2>B_S)pc2=0;
; SOURCE LINE # 270
MOV DPTR,#pc2
MOVX A,@DPTR
SETB C
SUBB A,#0C3H
JC ?C0040
CLR A
MOVX @DPTR,A
?C0040:
; pbuff--;
; SOURCE LINE # 271
MOV DPTR,#pbuff
MOVX A,@DPTR
DEC A
MOVX @DPTR,A
; LED=0;
; SOURCE LINE # 272
CLR P07
; BEEP=1;
; SOURCE LINE # 273
SETB P06
;
; }
; SOURCE LINE # 275
SJMP ?C0035
; END OF _?TaskStartyyc
;
; }
; }
;
;
; void SLA_SEND(unsigned char out_data)
RSEG ?PR?_SLA_SEND?YY1
_SLA_SEND:
; SOURCE LINE # 281
;---- Variable 'out_data?641' assigned to Register 'R7' ----
; {
; SOURCE LINE # 282
; SMB0CN = 0x44;
; SOURCE LINE # 283
MOV SMB0CN,#044H
; COMMAND = add | WRITE;
; SOURCE LINE # 284
MOV DPTR,#add?
MOVX A,@DPTR
MOV DPTR,#COMMAND
MOVX @DPTR,A
; OP_CODE = out_data;
; SOURCE LINE # 285
MOV DPTR,#OP_CODE
MOV A,R7
MOVX @DPTR,A
;
; STA = 1;
; SOURCE LINE # 287
SETB STA
;
; }
; SOURCE LINE # 289
RET
; END OF _SLA_SEND
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -