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

📄 pacctx.src

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


				.CPU     300HA



				.EXPORT	_hospac_dis_int		; 充り哈み敦贿
				.EXPORT	_hospac_ena_int		; 充り哈み钓材
				.EXPORT	_hospac_cre_ctx_asm	; 悸乖コンテキストの侯喇
				.EXPORT	_hospac_swi_ctx		; 悸乖コンテキストの磊仑
				.IMPORT	_kernel_h83_imsk	; 充り哈みマスク


				.SECTION  P, CODE, ALIGN=2


; -----------------------------------------------
;  充り哈み敦贿
;  void hospac_dis_int(void)
; -----------------------------------------------
_hospac_dis_int:
				orc		#h'80, ccr	; 充り哈みの敦贿
				rts


; -----------------------------------------------
;  充り哈み钓材
;  void hospac_ena_int(void)
; -----------------------------------------------
_hospac_ena_int:
				mov.b	@_kernel_h83_imsk, r0l
				ldc.b	r0l, ccr	; 充り哈みの钓材
				rts


; -----------------------------------------------
;  悸乖コンテキストエントリ〖アドレス
; -----------------------------------------------
ctx_entry:	
				mov.l	er2, er0		; 悸乖箕パラメ〖タを妈办苞眶に肋年
				jmp		@er3			; 悸乖アドレスにジャンプ


; -----------------------------------------------
;  悸乖コンテキストの侯喇
;  void hospac_cre_ctx_asm(
;			T_HOSPAC_CTXINF *pk_ctxinf,			/* 侯喇するコンテキスト */
;			VP              sp,					/* スタックポインタ */
;			void            (*task)(VP_INT),	/* 悸乖アドレス */
;			VP_INT          exinf				/* 悸乖箕パラメ〖タ */
;		)
; -----------------------------------------------
_hospac_cre_ctx_asm:
				push.l	er2
				mov.l	#ctx_entry, er2	; 悸乖エントリ〖ポイントの肋年
				mov.l	er2, @-er1
				mov.l	@(12, er7), er2	; 悸乖箕パラメ〖タの艰り叫し
				mov.l	er2, @-er1		; 悸乖箕パラメ〖タ呈羌 (er2の锣闰尸)
				mov.l	@(8, er7), er2	; 悸乖アドレス艰り叫し
				mov.l	er2, @-er1		; 悸乖ドレスを呈羌 (er3 の锣闰尸)
				sub.l	#12, er1		; er4×er6 までの锣闰尸
				mov.l	er1, @(0, er0)	; スタックポインタの呈羌
				pop.l	er2
				rts



; -----------------------------------------------
;  悸乖コンテキストの磊仑
;  void hospac_swi_ctx(
;			T_HOSPAC_CTXINF *pk_pre_ctxinf,	/* 附哼のコンテキストの瘦赂黎 */
;			T_HOSPAC_CTXINF *pk_nxt_ctxinf	/* 磊り仑えるコンテキスト */
;		)
; -----------------------------------------------
_hospac_swi_ctx:
				push.l	er2
				push.l	er3
				push.l	er4
				push.l	er5
				push.l	er6
				mov.l	er7,@(0, er0)	; スタックポインタ瘦赂
				mov.l	@(0, er1), er7	; スタックポインタ牲耽
				pop.l	er6
				pop.l	er5
				pop.l	er4
				pop.l	er3
				pop.l	er2
				rts



				.END



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

⌨️ 快捷键说明

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