📄 sw_int.src
字号:
; }
; SOURCE LINE # 131
; }
; SOURCE LINE # 132
?C0011:
; ExitCritical();
; SOURCE LINE # 133
SETB EA
; }
; SOURCE LINE # 134
?C0013:
RET
; END OF _?OsIntExit
;
; void IR_CaptureInt6() //interrupt 6
RSEG ?PR?IR_CaptureInt6?SW_INT
IR_CaptureInt6:
USING 0
; SOURCE LINE # 136
; {
; SOURCE LINE # 137
; U16 tmp;
; #pragma asm
; PUSHALL
PUSHALL
; #pragma endasm
; gOsIntLevel++;
; SOURCE LINE # 142
INC gOsIntLevel
; if (CCF1)// PCA module 1 : IR
; SOURCE LINE # 143
JNB CCF1,?C0015
; {
; SOURCE LINE # 144
; CCF1 = 0;
; SOURCE LINE # 145
CLR CCF1
; IR_Decode();
; SOURCE LINE # 146
LCALL _?IR_Decode
; }
; SOURCE LINE # 147
?C0015:
; #if 1
; if (CCF0)// PCA module 0 :
; SOURCE LINE # 149
JNB CCF0,?C0016
; {
; SOURCE LINE # 150
; CCF0 = 0;
; SOURCE LINE # 151
CLR CCF0
; tmp = CCAP0H;
; SOURCE LINE # 152
MOV R7,CCAP0H
;---- Variable 'tmp?240' assigned to Register 'R6/R7' ----
; tmp = (tmp << 8) + CCAP0L;
; SOURCE LINE # 153
MOV A,R7
MOV R6,A
MOV R5,CCAP0L
MOV R4,#00H
CLR A
ADD A,R5
MOV R7,A
MOV A,R4
ADDC A,R6
MOV R6,A
; tmp += SYS_TIME_TICK;
; SOURCE LINE # 154
MOV A,#028H
ADD A,R7
MOV R7,A
MOV A,#02H
ADDC A,R6
MOV R6,A
; CCAP0L = tmp & 0xff;
; SOURCE LINE # 155
MOV R5,AR7
MOV A,R7
MOV CCAP0L,A
; CCAP0H = tmp >> 8;
; SOURCE LINE # 156
MOV CCAP0H,R6
; }
; SOURCE LINE # 157
?C0016:
; #endif
; // if (CF) // PCA timer overflow
; // {
; // CF = 0;
; // }
;
; OsIntExit();
; SOURCE LINE # 164
LCALL _?OsIntExit
; if (gOsIntLevel)
; SOURCE LINE # 165
MOV A,gOsIntLevel
JZ ?C0017
; gOsIntLevel--;
; SOURCE LINE # 166
DEC gOsIntLevel
?C0017:
; #pragma asm
; POPALL
POPALL
; RETI
RETI
; #pragma endasm
; }
; SOURCE LINE # 171
RET
; END OF IR_CaptureInt6
;
;
;
; void SysTimer0 (void)// interrupt 1 //FC66 1ms
RSEG ?PR?SysTimer0?SW_INT
SysTimer0:
USING 0
; SOURCE LINE # 175
; {
; SOURCE LINE # 176
; #pragma asm
; PUSHALL
PUSHALL
; #pragma endasm
; gOsIntLevel++;
; SOURCE LINE # 180
INC gOsIntLevel
;
; TH0 =0xFC;
; SOURCE LINE # 182
MOV TH0,#0FCH
; TL0=0x67;
; SOURCE LINE # 183
MOV TL0,#067H
; TR0=1;
; SOURCE LINE # 184
SETB TR0
; sysTimeTick++ ;
; SOURCE LINE # 185
INC sysTimeTick+01H
MOV A,sysTimeTick+01H
JNZ ?C0030
INC sysTimeTick
?C0030:
;
; #ifdef OS_DELAY
; OsDealDelay();
; SOURCE LINE # 188
LCALL _?OsDealDelay
; #endif
;
; sys10ms++;
; SOURCE LINE # 191
INC sys10ms
; if (10==sys10ms)
; SOURCE LINE # 192
MOV A,sys10ms
CJNE A,#0AH,?C0019
; { sys10ms = 0;
; SOURCE LINE # 193
CLR A
MOV sys10ms,A
; #ifdef SET_TIMER
; Timer10msProc();
; SOURCE LINE # 195
LCALL Timer10msProc
; #endif
; // isNeedTaskSW = 1;
; gOsMsgIntShed = 1;
; SOURCE LINE # 198
SETB gOsMsgIntShed
; OsIntExit();
; SOURCE LINE # 199
LCALL _?OsIntExit
; }
; SOURCE LINE # 200
?C0019:
; if (gOsIntLevel)
; SOURCE LINE # 201
MOV A,gOsIntLevel
JZ ?C0020
; gOsIntLevel--;
; SOURCE LINE # 202
DEC gOsIntLevel
?C0020:
; #pragma asm
; POPALL
POPALL
; RETI
RETI
; #pragma endasm
; }
; SOURCE LINE # 207
RET
; END OF SysTimer0
;
; void UartISR (void) //interrupt 4
RSEG ?PR?UartISR?SW_INT
UartISR:
USING 0
; SOURCE LINE # 209
; {
; SOURCE LINE # 210
; U8 tmp;
; #pragma asm
; PUSHALL
PUSHALL
; #pragma endasm
; gOsIntLevel++;
; SOURCE LINE # 215
INC gOsIntLevel
; if (RI)// receive
; SOURCE LINE # 216
JNB RI,?C0022
; {
; SOURCE LINE # 217
; RI = 0;
; SOURCE LINE # 218
CLR RI
; tmp = SBUF;
; SOURCE LINE # 219
;---- Variable 'tmp?441' assigned to Register 'R7' ----
MOV R7,SBUF
; // SBUF = tmp;
; // while (!TI);
; // TI=0;
; SRL_RevChar(tmp);
; SOURCE LINE # 223
LCALL _?SRL_RevChar
; }
; SOURCE LINE # 224
?C0022:
; OsIntExit();
; SOURCE LINE # 225
LCALL _?OsIntExit
; if (gOsIntLevel)
; SOURCE LINE # 226
MOV A,gOsIntLevel
JZ ?C0023
; gOsIntLevel--;
; SOURCE LINE # 227
DEC gOsIntLevel
?C0023:
; #pragma asm
; POPALL
POPALL
; RETI
RETI
; #pragma endasm
; }
; SOURCE LINE # 232
RET
; END OF UartISR
;
;
; void OSTaskSW (void) REENTRANT
RSEG ?PR?_?OSTaskSW?SW_INT
_?OSTaskSW:
USING 0
; SOURCE LINE # 235
; {
; EnterCritical();
; SOURCE LINE # 237
CLR EA
; #pragma asm
; PUSHALL
PUSHALL
; #pragma endasm
; if (gOs.taskNum<2)
; SOURCE LINE # 241
MOV A,gOs+01EH
CLR C
SUBB A,#02H
JC ?C0026
; { return;//只有一个任务在运行
; SOURCE LINE # 242
; }
; SOURCE LINE # 243
?C0025:
; OsTaskSwitch();
; SOURCE LINE # 244
LCALL _?OsTaskSwitch
; #pragma asm
; POPALL
POPALL
; #pragma endasm
; ExitCritical();
; SOURCE LINE # 248
SETB EA
; }
; SOURCE LINE # 249
?C0026:
RET
; END OF _?OSTaskSW
;
;
; void ISRAdrFun (void) REENTRANT
RSEG ?PR?_?ISRAdrFun?SW_INT
_?ISRAdrFun:
; SOURCE LINE # 252
; {
; #pragma asm
; NOP //3
NOP
; NOP
NOP
; NOP
NOP
; NOP //6
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP //0A
NOP
;
; LJMP SysTimer0 //0B
LJMP SysTimer0
; ; NOP
; NOP
; ; NOP
; NOP
; NOP
NOP
; NOP
NOP
; ;;//////////////////////////////////
;;
; NOP //10
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
;
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP //1A
NOP
;
; NOP //1B
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; ;;//////////////////////////////////
;;
; NOP //20
NOP
; NOP
NOP
; NOP
NOP
; LJMP UartISR //23
LJMP UartISR
; ; NOP
; NOP
; ; NOP
; NOP
;
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP //2A
NOP
;
; NOP //2B
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; ;;//////////////////////////////////
;;
; NOP //30
NOP
; NOP
NOP
; NOP
NOP
; LJMP IR_CaptureInt6 //33
LJMP IR_CaptureInt6
; ; NOP
; NOP
; ; NOP
; NOP
;
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP //3A
NOP
;
; NOP //3B
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; ;;//////////////////////////////////
;;
; NOP //40
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
;
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP //4A
NOP
;
; NOP //4B
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; NOP
NOP
; #pragma endasm
;
; }
; SOURCE LINE # 347
RET
; END OF _?ISRAdrFun
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -