📄 cn_os_cpu.s
字号:
;//==============================================
;// :Cn.oS[Operating System from China]
;//filename :Cn_oS_cpu.s
;//description :Enter CRITICAL,Exit CRITICAL
;// :
;//author :kaka(sn.kaka@yahoo.com)
;//date :20080714
;//==============================================
;//==============================================
;//filename :Cn_oS_cpu.s
;//description :进入和退出临界状态下的代码
;// :
;//author :kaka(sn.kaka@yahoo.com)
;//date :20080714
;//==============================================
AREA root_cpu_s, CODE, READONLY
CODE32
IMPORT sum_critical
IMPORT NONE
EXPORT ENTER_CRITICAL
EXPORT EXIT_CRITICAL
;//=====================================================
;// :Cn.oS[Operating System from China]
;//description :Enter the Critical
;//具体工作原理我就不写出来了
;//心烦阿
;//=====================================================
ENTER_CRITICAL
STMFD SP!, {R0,LR}
MRS R0, CPSR
ORR R0, R0, #(1<<7)
MSR CPSR_c, R0
;LDR R0, =sum_critical
;LDR R1, [R0]
;ADD R1, R1, #1
;STR R1, [R0]
LDMFD SP!, {R0,PC}
;//=====================================================
;// :Cn.oS[Operating System from China]
;//description : Exit the Critical
;//
;//
;//=====================================================
EXIT_CRITICAL
STMFD SP!, {R0,LR}
;LDR R0, =sum_critical
;LDR R1, [R0]
;SUBS R1, R1, #1
;STR R1, [R0]
MRS R0, CPSR
BIC R0, R0, #(1<<7)
MSR CPSR_c, R0
LDMFD SP!, {R0,PC}
;//=====================================================
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -