📄 pacctx.s
字号:
/* ------------------------------------------------------------------------ */
/* Hyper Operating System V4 μITRON4.0慌屯 Real-Time OS */
/* プロセッサ藐据步コンポ〖ネント (泣惟 H8/300H 脱) */
/* コンテキスト扩告 */
/* */
/* Copyright (C) 1998-2002 by Project HOS */
/* http://sourceforge.jp/projects/hos/ */
/* ------------------------------------------------------------------------ */
.h8300h
.text
.align 2
.global _hospac_dis_int /* 充り哈み敦贿 */
.global _hospac_ena_int /* 充り哈み钓材 */
.global _hospac_cre_ctx_asm /* 悸乖コンテキストの侯喇 */
.global _hospac_swi_ctx /* 悸乖コンテキストの磊仑 */
.global _hospac_set_tex /* 毋嘲借妄悸乖肋年 */
/************************************************
充り哈み敦贿
void hospac_dis_int(void)
*************************************************/
_hospac_dis_int:
orc #0x80, 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 er3, er0 /* 悸乖箕パラメ〖タを妈办苞眶に肋年 */
jmp @er4 /* 悸乖アドレスにジャンプ */
/************************************************
悸乖コンテキストの侯喇
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 er3
mov.l #ctx_entry, er3 /* 悸乖エントリ〖ポイントの肋年 */
mov.l er3, @-er1
mov.l @(8,er7), er3 /* 悸乖箕パラメ〖タの艰り叫し */
mov.l er3, @-er1 /* 悸乖箕パラメ〖タ呈羌 (er3の锣闰尸) */
mov.l er2, @-er1 /* 悸乖ドレスを呈羌 (er4 の锣闰尸) */
sub.l #8, er1 /* er5,er6の锣闰尸 */
mov.l er1, @(0, er0) /* スタックポインタの呈羌 */
pop.l er3
rts
/************************************************
悸乖コンテキストの磊仑
void hospac_swi_ctx(
T_HOSPAC_CTXINF *pk_pre_ctxinf, 附哼のコンテキストの瘦赂黎
T_HOSPAC_CTXINF *pk_nxt_ctxinf 磊り仑えるコンテキスト
)
*************************************************/
_hospac_swi_ctx:
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
rts
.end
/* -------------------------------------------------------------------------*/
/* Copyright (C) 1998-2002 by Project HOS */
/* -------------------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -