📄 taskisr.src
字号:
; .\TASKISR.SRC generated from: TASKISR.C
; COMPILER INVOKED BY:
; D:\C51\BIN\C51.EXE TASKISR.C BROWSE DEBUG OBJECTEXTEND SRC(.\TASKISR.SRC)
$NOMOD51
NAME TASKISR
CCF2 BIT 0D8H.2
TB80 BIT 098H.3
SPI0CKR DATA 09DH
CCF3 BIT 0D8H.3
P0 DATA 080H
SPIEN BIT 0F8H.0
CCF4 BIT 0D8H.4
SM00 BIT 098H.7
P1 DATA 090H
AA BIT 0C0H.2
SM10 BIT 098H.6
WDTCN DATA 0FFH
P2 DATA 0A0H
SM20 BIT 098H.5
ADC0CF DATA 0BCH
P3 DATA 0B0H
AC BIT 0D0H.6
ADC1CF DATA 0ABH
P4 DATA 084H
EIE1 DATA 0E6H
P5 DATA 085H
EA BIT 0A8H.7
EIE2 DATA 0E7H
P6 DATA 086H
P7 DATA 096H
PSCTL DATA 08FH
MSTEN BIT 0F8H.1
CF BIT 0D8H.7
ADC0CN DATA 0E8H
DAC0CN DATA 0D4H
DAC1CN DATA 0D7H
ADC1CN DATA 0AAH
P0MDOUT DATA 0A4H
P1MDOUT DATA 0A5H
IE DATA 0A8H
P2MDOUT DATA 0A6H
P3MDOUT DATA 0A7H
TMR3RLH DATA 093H
EIP1 DATA 0F6H
EIP2 DATA 0F7H
PCA0CPH0 DATA 0FAH
PCA0CPH1 DATA 0FBH
P3IF DATA 0ADH
TMR3RLL DATA 092H
PCA0CPH2 DATA 0FCH
CR BIT 0D8H.6
PCA0CPH3 DATA 0FDH
EXF2 BIT 0C8H.6
REN0 BIT 098H.4
PCA0CPH4 DATA 0FEH
PCA0CPL0 DATA 0EAH
EMI0CF DATA 0A3H
PCA0CPL1 DATA 0EBH
PCA0CPM0 DATA 0DAH
PCA0MD DATA 0D9H
PCA0CN DATA 0D8H
PCA0CPL2 DATA 0ECH
PCA0CPM1 DATA 0DBH
PCA0CPL3 DATA 0EDH
PCA0CPM2 DATA 0DCH
IP DATA 0B8H
PCA0CPL4 DATA 0EEH
PCA0CPM3 DATA 0DDH
PCA0CPM4 DATA 0DEH
TXBSY BIT 0F8H.3
CY BIT 0D0H.7
SI BIT 0C0H.3
XBR0 DATA 0E1H
SADEN0 DATA 0B9H
XBR1 DATA 0E2H
EMI0CN DATA 0AFH
SADEN1 DATA 0AEH
XBR2 DATA 0E3H
REF0CN DATA 0D1H
SADDR0 DATA 0A9H
SADDR1 DATA 0F3H
AMX0CF DATA 0BAH
AD0INT BIT 0E8H.5
RCAP2H DATA 0CBH
PS BIT 0B8H.4
SP DATA 081H
RCAP4H DATA 0E5H
EMI0TC DATA 0A1H
OV BIT 0D0H.2
SMB0CN DATA 0C0H
RCAP2L DATA 0CAH
MODF BIT 0F8H.5
RCAP4L DATA 0E4H
SMB0CR DATA 0CFH
CPT0CN DATA 09EH
P1MDIN DATA 0BDH
CPT1CN DATA 09FH
RCLK BIT 0C8H.5
TCLK BIT 0C8H.4
SPI0CN DATA 0F8H
P10 BIT 090H.0
PCON DATA 087H
P20 BIT 0A0H.0
P11 BIT 090H.1
P30 BIT 0B0H.0
P21 BIT 0A0H.1
P12 BIT 090H.2
SPIF BIT 0F8H.7
P31 BIT 0B0H.1
P22 BIT 0A0H.2
P13 BIT 090H.3
P32 BIT 0B0H.2
P23 BIT 0A0H.3
P14 BIT 090H.4
P74OUT DATA 0B5H
TMOD DATA 089H
TCON DATA 088H
P33 BIT 0B0H.3
P24 BIT 0A0H.4
P15 BIT 090H.5
WCOL BIT 0F8H.6
P34 BIT 0B0H.4
P25 BIT 0A0H.5
P16 BIT 090H.6
AMX0SL DATA 0BBH
P35 BIT 0B0H.5
P26 BIT 0A0H.6
P17 BIT 090H.7
AMX1SL DATA 0ACH
P36 BIT 0B0H.6
P27 BIT 0A0H.7
TMR3CN DATA 091H
P37 BIT 0B0H.7
IE0 BIT 088H.1
IE1 BIT 088H.3
B DATA 0F0H
DAC0H DATA 0D3H
ADC0H DATA 0BFH
OSCICN DATA 0B2H
DAC1H DATA 0D6H
SMBFTE BIT 0C0H.1
BUSY BIT 0C0H.7
DAC0L DATA 0D2H
ADC0L DATA 0BEH
DAC1L DATA 0D5H
ACC DATA 0E0H
ES0 BIT 0A8H.4
AD0EN BIT 0E8H.7
CT2 BIT 0C8H.1
ET0 BIT 0A8H.1
ET1 BIT 0A8H.3
TF0 BIT 088H.5
ET2 BIT 0A8H.5
RI0 BIT 098H.0
TF1 BIT 088H.7
TF2 BIT 0C8H.7
SMBTOE BIT 0C0H.0
TH0 DATA 08CH
EX0 BIT 0A8H.0
TI0 BIT 098H.1
IT0 BIT 088H.0
PCA0H DATA 0F9H
TH1 DATA 08DH
EX1 BIT 0A8H.2
IT1 BIT 088H.2
TH2 DATA 0CDH
P BIT 0D0H.0
TH4 DATA 0F5H
OSCXCN DATA 0B1H
TL0 DATA 08AH
PCA0L DATA 0E9H
TL1 DATA 08BH
TL2 DATA 0CCH
PT0 BIT 0B8H.1
TL4 DATA 0F4H
RS0 BIT 0D0H.3
PT1 BIT 0B8H.3
RS1 BIT 0D0H.4
PT2 BIT 0B8H.5
TR0 BIT 088H.4
AD0TM BIT 0E8H.6
TR1 BIT 088H.6
TR2 BIT 0C8H.2
PX0 BIT 0B8H.0
PX1 BIT 0B8H.2
SLVSEL BIT 0F8H.2
DPH DATA 083H
ADC0GTH DATA 0C5H
DPL DATA 082H
ADC0GTL DATA 0C4H
SBUF0 DATA 099H
SBUF1 DATA 0F2H
ADC0LTH DATA 0C7H
EXEN2 BIT 0C8H.3
RSTSRC DATA 0EFH
FLACL DATA 0B7H
CPRL2 BIT 0C8H.0
SCON0 DATA 098H
SCON1 DATA 0F1H
ADC0LTL DATA 0C6H
T2CON DATA 0C8H
STA BIT 0C0H.5
T4CON DATA 0C9H
SMB0ADR DATA 0C3H
SMB0DAT DATA 0C2H
SPI0CFG DATA 09AH
TMR3H DATA 095H
CKCON DATA 08EH
RXOVRN BIT 0F8H.4
TMR3L DATA 094H
AD0LJST BIT 0E8H.0
F0 BIT 0D0H.5
FLSCL DATA 0B6H
AD0CM0 BIT 0E8H.2
F1 BIT 0D0H.1
STO BIT 0C0H.4
ENSMB BIT 0C0H.6
AD0CM1 BIT 0E8H.3
SPI0DAT DATA 09BH
AD0WINT BIT 0E8H.1
ADC1 DATA 09CH
AD0BUSY BIT 0E8H.4
PSW DATA 0D0H
CCF0 BIT 0D8H.0
RB80 BIT 098H.2
SMB0STA DATA 0C1H
CCF1 BIT 0D8H.1
?PR?_OSTask_TimeDal?TASKISR SEGMENT CODE
EXTRN DATA (OSRdyGrp)
EXTRN DATA (Prio)
EXTRN DATA (ISR_num)
EXTRN CODE (OSISR_Task_Sched)
EXTRN CODE (OSMapTab)
EXTRN DATA (OSRdyTab)
EXTRN XDATA (OSPCB)
PUBLIC _OSTask_TimeDal
; /********************************************
; 嵌入式系统 小型操作系统
; 作者:汪普宏
; 制作日期:2006.9
; *********************************************/
;
; #include "os.h"
; #include"OS_Mail.h"
; #include "OS_Memory.h"
; /****************************************
; 模块功能:任务级任务调度
; 模块接口:当前任务优先级,任务挂起延迟时间
; 调用者:任务
; 返回值: 无
; *****************************************/
;
; void OSTask_TimeDal(uchar TimeDal) //任务级任务切换函数
RSEG ?PR?_OSTask_TimeDal?TASKISR
_OSTask_TimeDal:
USING 0
; SOURCE LINE # 17
;---- Variable 'TimeDal?040' assigned to Register 'R7' ----
; {
; SOURCE LINE # 18
; ISR_num++;
; SOURCE LINE # 19
INC ISR_num
; #pragma ASM
; PUSH ACC
PUSH ACC
; PUSH B
PUSH B
; PUSH DPH
PUSH DPH
; PUSH DPL
PUSH DPL
; PUSH PSW
PUSH PSW
; MOV PSW, 0
MOV PSW, 0
; PUSH AR0
PUSH AR0
; PUSH AR1
PUSH AR1
; PUSH AR2
PUSH AR2
; PUSH AR3
PUSH AR3
; PUSH AR4
PUSH AR4
; PUSH AR5
PUSH AR5
; PUSH AR6
PUSH AR6
; PUSH AR7
PUSH AR7
; #pragma ENDASM
; OSPCB[Prio].timedal=TimeDal;
; SOURCE LINE # 36
MOV A,Prio
MOV B,#08H
MUL AB
ADD A,#LOW (OSPCB+07H)
MOV DPL,A
CLR A
ADDC A,#HIGH (OSPCB+07H)
MOV DPH,A
MOV A,R7
MOVX @DPTR,A
; if(Prio!=FREE_TASK)
; SOURCE LINE # 37
MOV A,Prio
XRL A,#05H
JZ ?C0001
; {
; SOURCE LINE # 38
; if(TimeDal>0)
; SOURCE LINE # 39
MOV A,R7
SETB C
SUBB A,#00H
MOV A,Prio
MOV B,#08H
JC ?C0002
; {
; SOURCE LINE # 40
; OSPCB[Prio].flg=WAIT_TIME; //任务因时间延迟挂起
; SOURCE LINE # 41
MUL AB
ADD A,#LOW (OSPCB+03H)
MOV DPL,A
CLR A
ADDC A,#HIGH (OSPCB+03H)
MOV DPH,A
MOV A,#01H
MOVX @DPTR,A
; }
; SOURCE LINE # 42
SJMP ?C0003
?C0002:
; else
; {
; SOURCE LINE # 44
; OSPCB[Prio].flg=WAIT_MSG; //非空闲任务应因等待消息挂起
; SOURCE LINE # 45
MUL AB
ADD A,#LOW (OSPCB+03H)
MOV DPL,A
CLR A
ADDC A,#HIGH (OSPCB+03H)
MOV DPH,A
CLR A
MOVX @DPTR,A
; }
; SOURCE LINE # 46
?C0003:
; if((OSRdyTab[Prio>>3]&=~OSMapTab[Prio&0x07])==0) //从就绪表中删除该任务
; SOURCE LINE # 47
MOV A,Prio
RRC A
RRC A
RRC A
ANL A,#01FH
MOV R7,A
ADD A,#LOW (OSRdyTab)
MOV R0,A
MOV A,@R0
MOV R6,A
MOV A,Prio
ANL A,#07H
MOV DPTR,#OSMapTab
MOVC A,@A+DPTR
CPL A
ANL A,R6
MOV @R0,A
JNZ ?C0004
; {
; SOURCE LINE # 48
; OSRdyGrp&=~OSMapTab[Prio>>3];
; SOURCE LINE # 49
MOV A,R7
MOVC A,@A+DPTR
CPL A
ANL OSRdyGrp,A
; }
; SOURCE LINE # 50
?C0004:
; OSISR_Task_Sched();
; SOURCE LINE # 51
LCALL OSISR_Task_Sched
; }
; SOURCE LINE # 52
?C0001:
; #pragma ASM
; POP AR7
POP AR7
; POP AR6
POP AR6
; POP AR5
POP AR5
; POP AR4
POP AR4
; POP AR3
POP AR3
; POP AR2
POP AR2
; POP AR1
POP AR1
; POP AR0
POP AR0
; POP PSW
POP PSW
; POP DPL
POP DPL
; POP DPH
POP DPH
; POP B
POP B
; POP ACC
POP ACC
; DEC ISR_num
DEC ISR_num
; RETI
RETI
; #pragma ENDASM
; } ; SOURCE LINE # 70
RET
; END OF _OSTask_TimeDal
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -