1 /* ------------------------------------------------------------------------ */
2 /* Hyper Operating System V4 Advance */
4 /* Copyright (C) 1998-2006 by Project HOS */
5 /* http://sourceforge.jp/projects/hos/ */
6 /* ------------------------------------------------------------------------ */
12 /************************************************
14 ************************************************/
17 mov r9, r4 /* 実行時パラメータ1を設定 */
18 jmp @r8 /* 実行開始アドレスに分岐 */
19 mov r10, r5 /* 実行時パラメータ2を設定(遅延スロット) */
22 /************************************************
25 _KERNEL_T_CTXCB *pk_ctxcb, 作成するコンテキスト [r4]
26 VP isp, 初期スタックポインタ [r5]
28 VP_INT par1, 実行時パラメータ1 [r7]
29 VP_INT par2) 実行時パラメータ2 [@(0, r15)]
30 ************************************************/
32 .global __kernel_cre_ctx
34 add #-40, r5 /* スタックに領域を確保 */
35 mov.l r6, @(36, r5) /* 実行アドレスを r8 の領域に設定 */
36 mov.l r7, @(32, r5) /* 実行時パラメータ1を r9 の領域に設定 */
38 mov.l r0, @(28, r5) /* 実行時パラメータ2を r10 の領域に設定 */
39 mov.l addr_ctx_entry, r0
40 mov.l r0, @(0, r5) /* 実行エントリポイントを pr の領域に設定 */
42 mov.l r5, @(0, r4) /* スタックポインタを保存(遅延スロット) */