📄 int_header.txt
字号:
;/* ;* TOPPERS/JSP Kernel ;* Toyohashi Open Platform for Embedded Real-Time Systems/ ;* Just Standard Profile Kernel ;* ;* Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory ;* Toyohashi Univ. of Technology, JAPAN ;* Copyright (C) 2001,2002 by Dep. of Computer Science and Engineering ;* Tomakomai National College of Technology, JAPAN ;* Copyright (C) 2001,2002 by Industrial Technology Institute, ;* Miyagi Prefectural Government, JAPAN ;* ;* 惧淡螟侯涪荚は·Free Software Foundation によって给山されている ;* GNU General Public License の Version 2 に淡揭されている掘凤か·笆 ;* 布の(1)×(4)の掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェ ;* アを猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· ;* 网脱と钙ぶ∷することを痰浸で钓满するˉ ;* (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 ;* 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 ;* スコ〖ド面に崔まれていることˉ ;* (2) 塑ソフトウェアを浩网脱材墙なバイナリコ〖ド∈リロケ〖タブルオブ ;* ジェクトファイルやライブラリなど∷の妨で网脱する眷圭には·网脱 ;* に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯涪山绩· ;* この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ ;* (3) 塑ソフトウェアを浩网脱稍材墙なバイナリコ〖ドの妨または怠达に寥 ;* み哈んだ妨で网脱する眷圭には·肌のいずれかの掘凤を塔たすことˉ ;* (a) 网脱に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯 ;* 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ ;* (b) 网脱の妨轮を·侍に年める数恕によって·惧淡螟侯涪荚に鼠桂する ;* ことˉ ;* (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 ;* 巢からも·惧淡螟侯涪荚を倘勒することˉ ;* ;* 塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚は· ;* 塑ソフトウェアに簇して·その努脱材墙拉も崔めて·いかなる瘦沮も乖わ ;* ないˉまた·塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じたい ;* かなる禄巢に簇しても·その勒扦を砷わないˉ ;* ;* @(#) $Id: int_header.txt,v 1.3 2002/04/13 13:14:45 imai Exp $ ;*/ .SECTION P, CODE,ALIGN=2 .INCLUDE "cpu_config_asm.h" .INCLUDE "sys_config_asm.h" .GLOBAL _inthdr_entry .IMPORT _inthdr_inthdr_entry: /* 涩妥呵井嘎のレジスタをスタックに略闰 */ push.l er0 push.l er1 /* exrをer1にコピ〖 */ stc.b exr, r1l /* ------------充哈み敦贿----------------------*/ ldc.b #MAX_IPM, exr /* er2をスタックに锣闰 */ push.l er2 /* 充哈みネストカウンタのチェック */ mov.l @_intnest, er0 mov.l er0, er2 /* 充哈みネストカウンタを +1 */ inc.l #1, er0 mov.l er0, @_intnest /* 充哈み券栏箕のコンテキストを冉年 */ or.l er2, er2 /* 驴脚充哈みならジャンプ */ bne _interrupt_from_int_inthdr /* H8惹では、ここで≈ 改侍ハ〖ドウェア充り哈み敦贿∽ */ /* jsr @_inthdr_disable_int */ /* スタック掐れ仑え傅の */ /* タスクスタックポインタを瘦赂 */ mov.l sp, er0 /* 充哈みスタックに磊り仑え */ mov.l #STACKTOP, sp /*------- 充り哈み钓材----------------- */ ldc.b r1l, exr /* 荒りのレジスタを瘦赂 */ mov.l er3, @-er0 mov.l er4, @-er0 mov.l er5, @-er0 mov.l er6, @-er0 /* 充哈みスタックにタスクスタックのSPを锣闰 */ push.l er0 jsr @_inthdr /* --------充り哈み敦贿---------------- */ ldc.b #MAX_IPM, exr /* H8惹では、ここで≈改侍ハ〖ドウェア充り哈み钓材∽ */ /* jsr @_inthdr_enable_int */ /* 充哈みネストカウンタを-1 */ mov.l @_intnest, er0 dec.l #1, er0 mov.l er0, @_intnest /* スタック磊仑え */ mov.l @sp, sp /* reqflgのチェック */ mov.w @__kernel_reqflg, r0 /* reqflgがFALSEならret_to_task_intに若ぶ */ or.w r0, r0 /* reqflgはBOOL房 -> int房(16bits) */ beq _ret_to_task_int_inthdr /* reqflgをクリア */ sub.w r0, r0 mov.w r0, @__kernel_reqflg /* ret_intへジャンプ */ jmp @_kernel_ret_int /* 驴脚充哈みの借妄 */ /* 充哈み券栏箕のコンテキストを冉侍稿、充り哈み敦贿 */ /* の觉轮でここに若んでくる */ /* ∈充哈みネストカウンタのインクリメントは貉んでいる∷ */ _interrupt_from_int_inthdr: /* 改侍ハ〖ドウェア充り哈み敦贿 */ /* jsr @_inthdr_disable_int */ /* 充り哈み钓材 */ ldc.b r1l, exr /* 荒りのレジスタを瘦赂 */ push.l er3 push.l er4 push.l er5 push.l er6 jsr @_inthdr /* 充り哈み敦贿 */ ldc.b #MAX_IPM, exr /* 改侍ハ〖ドウェア充り哈み钓材 */ /* jsr @_inthdr_enable_int */ /* 充哈みネストカウンタを -1 */ mov.l @_intnest, er0 dec.l #1, er0 mov.l er0, @_intnest /* reqflgがFALSEの眷圭の借妄 */ _ret_to_task_int_inthdr: pop.l er6 /* レジスタ牲傅 */ pop.l er5 pop.l er4 pop.l er3 pop.l er2 pop.l er1 pop.l er0 rte /* 充哈み傅に提る */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -