📄 pacctxn.src
字号:
; --------------------------------------------------------------------------- ; Hyper Operating System V4 μITRON4.0慌屯 Real-Time OS ; プロセッサ藐据步コンポ〖ネント (泣惟 H8/300HN脱) ; コンテキスト扩告 ; ; Copyright (C) 1998-2002 by Project HOS ; http://sourceforge.jp/projects/hos/ ; --------------------------------------------------------------------------- .CPU 300HN .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'c0, 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, /* 侯喇するコンテキスト */; void (*task)(VP_INT),/* 悸乖アドレス */; VP sp, /* スタックポインタ */; VP_INT exinf /* 悸乖箕パラメ〖タ */; ); -----------------------------------------------_hospac_cre_ctx_asm: push.l er2 mov.w #ctx_entry, r2 ; 悸乖エントリ〖ポイントの肋年 mov.w r2, @-er1 mov.l @(6, er7), er2 ; 悸乖箕パラメ〖タの艰り叫し mov.l er2, @-er1 ; 悸乖箕パラメ〖タ呈羌 (er2の锣闰尸) mov.w e0, @-er1 ; 悸乖ドレスを呈羌 (er3 の锣闰尸) sub.w #14, r1 ; er4×er6 までの锣闰尸 mov.w r1, @(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.w r7,@(0, er0) ; スタックポインタ瘦赂 mov.w e0,r0 mov.w @(0, er0), r7 ; スタックポインタ牲耽 pop.l er6 pop.l er5 pop.l er4 pop.l er3 pop.l er2 rts .END; --------------------------------------------------------------------------- ; Copyright (C) 1998-2003 by Project HOS ; ---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -