update System/os_handler.c.

Signed-off-by: 零中断延迟的RTOS <cosyos@139.com>
This commit is contained in:
零中断延迟的RTOS
2024-04-20 18:57:13 +00:00
committed by Gitee
parent 77abf87f2c
commit 13e0680076

View File

@@ -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