📄 pacctxn.s
字号:
/* ------------------------------------------------------------------------ *//* Hyper Operating System V4 μITRON4.0慌屯 Real-Time OS *//* プロセッサ藐据步コンポ〖ネント (泣惟 H8/300H 脱) *//* コンテキスト扩告 *//* *//* Copyright (C) 1998-2002 by Project HOS *//* http://sourceforge.jp/projects/hos/ *//* ------------------------------------------------------------------------ */#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) .h8300hn#else .h8300h#endif .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 #0xc0, ccr /* 充り哈みの敦贿 */ rts/************************************************ 充り哈み钓材 void hospac_ena_int(void)*************************************************/_hospac_ena_int: mov.b @_kernel_h83_imsk:16, r0l ldc.b r0l, ccr /* 充り哈みの钓材 */ rts/************************************************ 悸乖コンテキストエントリ〖アドレス*************************************************/ctx_entry: mov.l er4, er0 /* 悸乖箕パラメ〖タを妈办苞眶に肋年 */ jmp @er5 /* 悸乖アドレスにジャンプ *//************************************************ 悸乖コンテキストの侯喇 void hospac_cre_ctx_asm( T_HOSPAC_CTXINF *pk_ctxinf, 侯喇するコンテキスト VP sp, スタックポインタ void (*task)(VP_INT), 悸乖アドレス VP_INT exinf 悸乖箕パラメ〖タ )*************************************************/_hospac_cre_ctx_asm: mov.w #ctx_entry, r3 /* 悸乖エントリ〖ポイントの肋年 */ mov.w r3, @-er1 mov.l @(2:16,er7), er3 /* 悸乖箕パラメ〖タの艰り叫し */ mov.l er3, @-er1 /* 悸乖箕パラメ〖タ呈羌 (er4の锣闰尸) */ mov.l er2, @-er1 /* 悸乖ドレスを呈羌 (er5 の锣闰尸) */ sub.l #4, er1 /* er6の锣闰尸 */#if ( __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 3)) mov.w r1, @(0:16, er0) /* スタックポインタの呈羌 */#else mov.l er1, @(0:16, er0) /* スタックポインタの呈羌 */#endif /* 3.3笆惯では、-mnでポインタはWORDサイズとなる */ rts/************************************************ 悸乖コンテキストの磊仑 void hospac_swi_ctx( T_HOSPAC_CTXINF *pk_pre_ctxinf, 附哼のコンテキストの瘦赂黎 T_HOSPAC_CTXINF *pk_nxt_ctxinf 磊り仑えるコンテキスト )*************************************************/_hospac_swi_ctx: push.l er4 push.l er5 push.l er6#if ( __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 3)) mov.w r7,@(0, er0) /* スタックポインタ瘦赂 */ mov.w @(0, er1), r7 /* スタックポインタ牲耽 */#else mov.l er7,@(0, er0) /* スタックポインタ瘦赂 */ mov.l @(0, er1), er7 /* スタックポインタ牲耽 */#endif /* 3.3笆惯では、-mnでポインタはWORDサイズとなる */ pop.l er6 pop.l er5 pop.l er4 rts .end/* -------------------------------------------------------------------------*//* Copyright (C) 1998-2002 by Project HOS *//* -------------------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -