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

📄 pacexc.s

📁 Hyper Operating System。基于ITRON接口的实时操作系统。主页: https://sourceforge.jp/projects/hos
💻 S
字号:
; --------------------------------------------------------------------------- ;  Hyper Operating System V4  μITRON4.0慌屯 Real-Time OS                     ;    プロセッサ藐据步コンポ〖ネント (ARM脱)                                   ;    毋嘲ハンドラ                                                             ;                                                                             ;                                     Copyright (C) 1998-2002 by Project HOS  ;                                     http://sourceforge.jp/projects/hos/     ; --------------------------------------------------------------------------- 				INCLUDE	pacarm.inc				AREA	inthdr_code, CODE, READONLY				EXPORT	_HOS_CpuExceptionHandler; ----------------------------------------------;  CPU毋嘲ハンドラ; ----------------------------------------------				IMPORT	kernel_sta_exc				; CPU毋嘲ハンドラ倡幌借妄				IMPORT	kernel_end_exc				; CPU毋嘲ハンドラ姜位借妄				IMPORT	kernel_exe_exc				; CPU毋嘲ハンドラの悸乖				IMPORT	kernel_int_sp				; 充り哈み脱スタックアドレス				IMPORT	_HOS_int_cnt				; 充り哈みネスト搀眶				IMPORT	_HOS_int_sp					; 充り哈み箕スタック锣闰				_HOS_CpuExceptionHandler			; ---- Systemモ〖ドに败乖してレジスタ锣闰				mov		r13, #I_Bit:OR:F_Bit:OR:Mode_SYS				msr		cpsr_csxf, r13				stmfd	sp!, {r1-r3, ip, lr}		; 绕脱レジスタ锣闰			; ---- 傅のモ〖ドに提ってspsr瘦赂				mov		r1, #I_Bit:OR:F_Bit:OR:Mode_UND				msr		cpsr_c, r1				mrs		r1, spsr					; spsr 艰り叫し				mov		r2, lr						; 充り哈み牲耽黎瘦赂							; ---- USRモ〖ドに败乖				mov		r3, #I_Bit:OR:F_Bit:OR:Mode_USR				msr		cpsr_c, r3							; ---- レジスタ锣闰				stmfd	sp!, {r0-r2}				; a1, spsr_irq, lr_irq 瘦赂							; ---- 驴脚充り哈みチェック				ldr		r0, =_HOS_int_cnt				ldr		r1, [r0]					; 充り哈みネストカウンタ艰评				cmp		r1, #0				add		r1, r1, #1					; 充り哈みネストカウンタインクリメント				str		r1, [r0]				bne		MultipleInt					; 充り哈み面なら尸呆							; ---- スタックの掐れ仑え				ldr		r0, =_HOS_int_sp				str		sp, [r0]					; スタックポインタを锣闰				ldr		r0, =kernel_int_sp				ldr		sp, [r0]					; 充り哈み脱スタックを肋年			; ---- CPU毋嘲ハンドラ借妄の倡幌				bl		kernel_sta_exc				; CPU毋嘲ハンドラ倡幌借妄				bl		kernel_exe_exc				; 充り哈み借妄悸乖						; ---- スタックの牲耽				ldr		r0, =_HOS_int_sp				ldr		sp, [r0]					; スタックポインタを牲耽						; ---- 充り哈みネストカウントデクリメント				ldr		r0, =_HOS_int_cnt				mov		r1, #0				str		r1, [r0]					; 充り哈みネストカウンタクリア						; ---- 觅变ディスパッチ悸乖				bl		kernel_end_exc				; 觅变ディスパッチ悸乖						; ---- CPU毋嘲ハンドラからの牲耽ReturnExc						IMPORT	_HOS_swi_ret				ldmfd	sp!, {r0-r2}				ldr		r3, =_HOS_swi_ret				stmia	r3, {r0-r2}					; 充り哈み牲耽デ〖タ肋年				ldmfd	sp!, {r1-r3, ip, lr}		; レジスタ牲耽				mov		a1, #2				swi		0x10			;---- 充り哈み面の借妄MultipleInt			; ---- 充り哈み借妄				bl		kernel_sta_exc				; CPU毋嘲ハンドラ倡幌借妄			; ---- 充り哈みネストカウントデクリメント				ldr		r0, =_HOS_int_sp				ldr		r1, [r0]				add		r1, r1, #1				str		r1, [r0]				b		ReturnExc				END; --------------------------------------------------------------------------- ;  Copyright (C) 1998-2002 by Project HOS                                     ; --------------------------------------------------------------------------- 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -