📄 pacctx.s
字号:
/* ------------------------------------------------------------------------ */
/* Hyper Operating System V4 μITRON4.0慌屯 Real-Time OS */
/* プロセッサ藐据步コンポ〖ネント (ARM gcc脱) */
/* */
/* Copyright (C) 1998-2002 by Project HOS */
/* http://sourceforge.jp/projects/hos/ */
/* ------------------------------------------------------------------------ */
.global hospac_dis_int /* 充り哈み敦贿 */
.global hospac_ena_int /* 充り哈み钓材 */
.global hospac_cre_ctx_asm /* 悸乖コンテキストの侯喇 */
.global hospac_swi_ctx /* 悸乖コンテキストの磊仑 */
.text
.align 4
/************************************************
充り哈み敦贿
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 + -