⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpu_support.s

📁 toppers操作系统源码
💻 S
字号:
; *; *  TOPPERS/JSP Kernel; *      Toyohashi Open Platform for Embedded Real-Time Systems/; *      Just Standard Profile Kernel; * ; *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory; *                              Toyohashi Univ. of Technology, JAPAN; * ; *  惧淡螟侯涪荚は·笆布の (1)×(4) の掘凤か·Free Software Foundation ; *  によって给山されている GNU General Public License の Version 2 に淡; *  揭されている掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェア; *  を猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布·; *  网脱と钙ぶ∷することを痰浸で钓满するˉ; *  (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯; *      涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖; *      スコ〖ド面に崔まれていることˉ; *  (2) 塑ソフトウェアを·ライブラリ妨及など·戮のソフトウェア倡券に蝗; *      脱できる妨で浩芹邵する眷圭には·浩芹邵に燃うドキュメント∈网脱; *      荚マニュアルなど∷に·惧淡の螟侯涪山绩·この网脱掘凤および布淡; *      の痰瘦沮惮年を非很することˉ; *  (3) 塑ソフトウェアを·怠达に寥み哈むなど·戮のソフトウェア倡券に蝗; *      脱できない妨で浩芹邵する眷圭には·肌のいずれかの掘凤を塔たすこ; *      とˉ; *    (a) 浩芹邵に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟; *        侯涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ; *    (b) 浩芹邵の妨轮を·侍に年める数恕によって·TOPPERSプロジェクトに; *        鼠桂することˉ; *  (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄; *      巢からも·惧淡螟侯涪荚およびTOPPERSプロジェクトを倘勒することˉ; * ; *  塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚お; *  よびTOPPERSプロジェクトは·塑ソフトウェアに簇して·その努脱材墙拉も; *  崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェアの网脱により木; *  儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·その勒扦を砷わないˉ; * ; *  @(#) $Id: cpu_support.S,v 1.5 2003/12/04 08:25:44 honda Exp $; *        .c_mode        .align  1        .global __kernel_dispatch        .include  "c5402dsk.h"        .mmregs__kernel_dispatch:        PSHM   AR1                       ;AR1,6,7をスタックに瘦赂        PSHM   AR6                       ;PCは钙び叫し箕にスタックに瘦赂される        PSHM   AR7                       ;戮の输锦レジスタARxは瘦赂する涩妥はない        LDM    SP,A        MVDM   *(__kernel_runtsk),AR1    ;AR1 <- runtsk        NOP        STL    A,*AR1(TCB_sp)            ;タスクスタックをTCBに瘦赂        ST     #dispatch_r,*AR1(TCB_pc)  ;悸乖浩倡戎孟をTCBに瘦赂        B      dispatcher_1dispatch_r:        POPM   AR7                       ;レジスタを牲耽        POPM   AR6        POPM   AR1         B      __kernel_calltex          ;タスク毋嘲ル〖チンの钙び叫し        .global __kernel_exit_and_dispatch__kernel_exit_and_dispatch:        SSBX   INTM                      ;充り哈み敦贿        ST     #0,*(__kernel_nest)               ;カ〖ネルの介袋步借妄箕のためdispatcher_1:        LD     *(__kernel_schedtsk),A    ;schedtskがあるか々        BC     dispatcher_2,AEQ          ;痰ければジャンプ        MVDK   *(__kernel_schedtsk),*(__kernel_runtsk)   ;schedtskをruntskに        MVDM   *(__kernel_runtsk),AR1        NOP        MVDK   *AR1(TCB_sp),SP           ;TCBからスタックを牲耽        LD     *AR1(TCB_pc),A            ;TCBから悸乖浩倡戎孟を牲耽        BACC   A            dispatcher_2:        STM    #STACKTOP,SP        ST     #0x01,*(__kernel_nest)        RSBX   INTM                      ;充り哈み钓材        IDLE   1                         ;リセットかマスクされていない充哈み略ち        SSBX   INTM                      ;充り哈み敦贿        ST     #0x0,*(__kernel_nest)        B      dispatcher_1;;  タスクの弹瓢借妄;        .global __kernel_activate_r;         .global _activate_r__kernel_activate_r:;_activate_r:        RSBX   INTM                      ;充り哈み钓材        POPM   AR2        POPM   AR3        LDM    AR2,B        LDM    AR3,A        BACC   B        .global _interrupt_interrupt:        PSHM   ST0        PSHM   AL        PSHM   AH        PSHM   AG        PSHM   BL        PSHM   BH        PSHM   BG        PSHM   ST1        PSHM   AR0        PSHM   AR2        PSHM   AR3        PSHM   AR4        PSHM   AR5        PSHM   T        PSHM   TRN        PSHM   BK        PSHM   BRC        PSHM   RSA        PSHM   REA        PSHM   PMST        LD     *(__kernel_nest),A        ADDM   #1,*(__kernel_nest)               ;充り哈みのネスト搀眶をインクリメント        BC     _interrupt_from_int,ANEQ        LDM    SP,A                      ;スタック掐れ仑えと        STM    #STACKTOP,SP              ;傅のスタックポインタの        PSHM   AL                        ;瘦赂を乖う        PSHM   IMR        MVDM   *(_INT_VECNO),AR2         ;オフセット猛をAR2にセット        STM    #IMR,AR3                  ;票じ充り哈みが部刨もかからないように        LD     *AR2(__kernel_int_mask_table),A   ;            ∶        AND    *AR3,A                    ;            

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -