mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-02-05 11:29:44 +08:00
@@ -4,7 +4,7 @@
|
||||
* @brief SysTick2_Handler and PendSV2_Handler
|
||||
* @author 迟凯峰
|
||||
* @version V2.2.1
|
||||
* @date 2024.04.20
|
||||
* @date 2024.04.21
|
||||
******************************************************************************/
|
||||
|
||||
#include "os_link.h"
|
||||
@@ -744,14 +744,14 @@ void PendSV2_Handler(void) MCUCFG_PENDSV_ATTRIBUTE
|
||||
#if SYSCFG_DEBUGGING == __ENABLED__
|
||||
if(s_sign_taskmgr) mUsedTime_END;
|
||||
#endif
|
||||
mTaskStack_PUSH;
|
||||
|
||||
#if SYSCFG_MCUCORE == 8051
|
||||
#pragma asm
|
||||
|
||||
EXTRN DATA (m_bsp_add)
|
||||
EXTRN DATA (m_reg_add)
|
||||
?STACK SEGMENT IDATA
|
||||
|
||||
CLR C
|
||||
MOV DPL, s_task_current+1
|
||||
MOV DPH, s_task_current
|
||||
MOV A, SP
|
||||
@@ -760,7 +760,6 @@ void PendSV2_Handler(void) MCUCFG_PENDSV_ATTRIBUTE
|
||||
SUBB A, #6
|
||||
MOV R1, A
|
||||
|
||||
CLR C
|
||||
MOV A, s_task_current+1
|
||||
ADD A, m_bsp_add
|
||||
MOV DPL, A
|
||||
@@ -811,11 +810,12 @@ LABLE_A1: MOV A, @R0
|
||||
MOV A, s_task_current+1
|
||||
ADD A, m_reg_add
|
||||
MOV DPL, A
|
||||
CLR A
|
||||
ADDC A, s_task_current
|
||||
MOV DPH, A
|
||||
MOV DPH, s_task_current
|
||||
JNC LABLE_A2
|
||||
INC DPH
|
||||
CLR C
|
||||
|
||||
MOV A, 0x00
|
||||
LABLE_A2: MOV A, 0x00
|
||||
MOVX @DPTR, A
|
||||
INC DPTR
|
||||
MOV A, 0x01
|
||||
@@ -841,8 +841,6 @@ LABLE_A1: MOV A, @R0
|
||||
#endif
|
||||
#pragma endasm
|
||||
#endif
|
||||
|
||||
mTaskStack_PUSH;
|
||||
}
|
||||
|
||||
/* 新任务出栈 */
|
||||
@@ -854,14 +852,13 @@ LABLE_A1: MOV A, @R0
|
||||
|
||||
#if SYSCFG_MCUCORE == 8051
|
||||
#pragma asm
|
||||
|
||||
CLR C
|
||||
MOV DPL, s_task_current+1
|
||||
MOV DPH, s_task_current
|
||||
MOVX A, @DPTR
|
||||
SUBB A, #6
|
||||
MOV R1, A
|
||||
|
||||
CLR C
|
||||
MOV A, s_task_current+1
|
||||
ADD A, m_bsp_add
|
||||
MOV DPL, A
|
||||
@@ -905,11 +902,12 @@ LABLE_B1: MOVX A, @DPTR
|
||||
MOV A, s_task_current+1
|
||||
ADD A, m_reg_add
|
||||
MOV DPL, A
|
||||
CLR A
|
||||
ADDC A, s_task_current
|
||||
MOV DPH, A
|
||||
MOV DPH, s_task_current
|
||||
JNC LABLE_B2
|
||||
INC DPH
|
||||
CLR C
|
||||
|
||||
MOVX A, @DPTR
|
||||
LABLE_B2: MOVX A, @DPTR
|
||||
MOV 0x00, A
|
||||
INC DPTR
|
||||
MOVX A, @DPTR
|
||||
|
||||
Reference in New Issue
Block a user