📄 pacctx.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 + -