📄 pacctx.s
字号:
/* ------------------------------------------------------------------------ *//* Hyper Operating System V4 μITRON4.0慌屯 Real-Time OS *//* プロセッサ藐据步コンポ〖ネント (泣惟 SH4脱) *//* *//* *//* 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 /* 悸乖コンテキストの磊仑 *//************************************************ 充り哈み敦贿 void hospac_dis_int(void)************************************************/ .text .align 2_hospac_dis_int: mov.l bl_set_mask,r1 stc sr,r0 or r1,r0 /* 链充り哈みマスク */ ldc r0,sr rts nopbl_set_mask: .long 0x10000000/************************************************ 充り哈み钓材 void hospac_ena_int(void)************************************************/ .text .align 2_hospac_ena_int: stc sr,r0 mov.l bl_imsk_clr_mask,r1 and r1,r0 /* 充り哈みマスク猛笆嘲を艰评 */ mov.l imsk_addr,r1 mov.l @r1,r1 or r1,r0 /* 充り哈みマスクの猛を肋年 */ ldc r0,sr rts nop .align 2bl_imsk_clr_mask: .long 0xefffff0fimsk_addr: .long _hospac_sh_imsk /* 充り哈みマスク *//************************************************ 悸乖コンテキストエントリ〖アドレス************************************************/ .text .align 2ctx_entry: jmp @r14 /* 悸乖アドレスにジャンプ */ mov r13,r4 /* 悸乖箕パラメ〖タを妈办苞眶に肋年 *//************************************************ 悸乖コンテキストの侯喇 void hospac_cre_ctx_asm( T_HOSPAC_CTXINF *pk_ctxinf, 侯喇するコンテキスト VP sp, スタックポインタ void (*task)(VP_INT), 悸乖アドレス VP_INT exinf) 悸乖箕パラメ〖タ************************************************/ .text .align 2_hospac_cre_ctx_asm: add #-20,r5 /* r14-10尸コンテキストのstackを凯ばす */ mov.l r7,@-r5 /* 悸乖パラメ〖タの呈羌(r9) */ mov.l r6,@-r5 /* 悸乖アドレスの呈羌(r8) */ mov.l ctx_entry_addr,r0 /* 悸乖エントリポイントを */ /* コンテキストのスタックに瘦赂 */ mov.l r0,@-r5 rts mov.l r5,@(0,r4) /* コンテキストのスタックポインタ瘦赂 */ .align 2ctx_entry_addr: .long ctx_entry/************************************************ 悸乖コンテキストの磊仑 void hospac_swi_ctx(T_HOSPAC_CTXINF *pk_pre_ctxinf, 附哼のコンテキストの瘦赂黎T_HOSPAC_CTXINF *pk_nxt_ctxinf) 磊り仑えるコンテキスト************************************************/ .text .align 2_hospac_swi_ctx: mov.l r8,@-r15 /* 8-r14,prを锣闰 */ mov.l r9,@-r15 mov.l r10,@-r15 mov.l r11,@-r15 mov.l r12,@-r15 mov.l r13,@-r15 mov.l r14,@-r15 sts.l pr,@-r15 mov.l r15,@(0,r4) /* スタックポインタ瘦赂 */ mov.l @(0,r5),r15 /* スタックポインタ牲耽 */ lds.l @r15+,pr /* r8-r14,prを牲耽 */ mov.l @r15+,r14 mov.l @r15+,r13 mov.l @r15+,r12 mov.l @r15+,r11 mov.l @r15+,r10 mov.l @r15+,r9 rts mov.l @r15+,r8 .end/* ------------------------------------------------------------------------ *//* Copyright (C) 1998-2002 by Project HOS *//* ------------------------------------------------------------------------ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -