⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cn_os_cpu.s

📁 一个小的嵌入式os
💻 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 + -