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

📄 pacctx.s

📁 itron
💻 S
字号:
; --------------------------------------------------------------------------- 
;  Hyper Operating System V4  μITRON4.0慌屯 Real-Time OS                     
;    プロセッサ藐据步コンポ〖ネント (ARM脱)                                   
;    コンテキスト扩告                                                         
;                                                                             
;                                     Copyright (C) 1998-2002 by Project HOS  
;                                     http://sourceforge.jp/projects/hos/     
; --------------------------------------------------------------------------- 


				EXPORT	hospac_dis_int		; 充り哈み敦贿
				EXPORT	hospac_ena_int		; 充り哈み钓材
				EXPORT	hospac_cre_ctx_asm	; 悸乖コンテキストの侯喇
				EXPORT	hospac_swi_ctx		; 悸乖コンテキストの磊仑


				AREA	code, CODE, READONLY


; -----------------------------------------------
;  充り哈み敦贿
;  void hospac_dis_int(void)
; -----------------------------------------------
hospac_dis_int
				mov		a1, #0		; 充り哈み敦贿を回年
				swi		0x10		; ス〖パバイ〖ザ〖コ〖ル
				mov		pc, lr


; -----------------------------------------------
;  充り哈み钓材
;  void hospac_ena_int(void)
; -----------------------------------------------
hospac_ena_int
				mov		a1, #1		; 充り哈み钓材を回年
				swi		0x10		; ス〖パバイ〖ザ〖コ〖ル
				mov		pc, lr


; -----------------------------------------------
;  悸乖コンテキストエントリ〖アドレス
; -----------------------------------------------
ctx_entry	
				mov		a1, v2		; 悸乖箕パラメ〖タを妈办苞眶に肋年
				mov		pc, v1		; 悸乖アドレスに尸呆


; -----------------------------------------------
;  悸乖コンテキストの侯喇
;  void hospac_cre_ctx_asm(
;		T_HOSPAC_CTXINF *pk_ctxinf,	/* 侯喇するコンテキスト */
;		VP     sp,					/* スタックポインタ */
;		void   (*task)(VP_INT),		/* 悸乖アドレス */
;		VP_INT exinf				/* 悸乖箕パラメ〖タ */
;		)
; -----------------------------------------------
hospac_cre_ctx_asm
				stmfd	sp!, {v1}		; 侯度レジスタ锣闰
				ldr		v1, =ctx_entry
				stmfd	a2!, {v1}		; エントリ〖ポイントを肋年
				sub		a2, a2, #28		; v3-v8, ip 尸负换
				stmfd	a2!, {a3,a4}	; v1, v2 の挝拌に悸乖アドレスとパラメ〖タ呈羌
				str		a2, [a1]		; コンテキストとして sp を瘦赂
				ldmfd	sp!, {v1}		; 侯度レジスタ牲耽
				mov		pc, lr			; リタ〖ン


; -----------------------------------------------
;  悸乖コンテキストの磊仑
;  void hospac_swi_ctx(
;		T_HOSPAC_CTXINF *pk_pre_ctxinf,	/* 附哼のコンテキストの瘦赂黎 */
;		T_HOSPAC_CTXINF *pk_nxt_ctxinf	/* 磊り仑えるコンテキスト */
;		)
; -----------------------------------------------
hospac_swi_ctx
				stmfd	sp!, {v1-v8,ip,lr}	; レジスタ瘦赂
				str		sp, [a1]			; スタックポインタ瘦赂
				ldr		sp, [a2]			; スタックポインタ牲耽
				ldmfd	sp!, {v1-v8,ip,pc}	; レジスタ牲耽□リタ〖ン



				END



; --------------------------------------------------------------------------- 
;  Copyright (C) 1998-2002 by Project HOS                                     
; --------------------------------------------------------------------------- 

⌨️ 快捷键说明

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