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

📄 makeoffset.c

📁 toppers操作系统源码
💻 C
字号:
/* *  TOPPERS/JSP Kernel *      Toyohashi Open Platform for Embedded Real-Time Systems/ *      Just Standard Profile Kernel *  *  Copyright (C) 2003 by Naoki Saito *             Nagoya Municipal Industrial Research Institute, JAPAN *  *  惧淡螟侯涪荚は·笆布の (1)×(4) の掘凤か·Free Software Foundation  *  によって给山されている GNU General Public License の Version 2 に淡 *  揭されている掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェア *  を猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· *  网脱と钙ぶ∷することを痰浸で钓满するˉ *  (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 *      涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 *      スコ〖ド面に崔まれていることˉ *  (2) 塑ソフトウェアを·ライブラリ妨及など·戮のソフトウェア倡券に蝗 *      脱できる妨で浩芹邵する眷圭には·浩芹邵に燃うドキュメント∈网脱 *      荚マニュアルなど∷に·惧淡の螟侯涪山绩·この网脱掘凤および布淡 *      の痰瘦沮惮年を非很することˉ *  (3) 塑ソフトウェアを·怠达に寥み哈むなど·戮のソフトウェア倡券に蝗 *      脱できない妨で浩芹邵する眷圭には·肌のいずれかの掘凤を塔たすこ *      とˉ *    (a) 浩芹邵に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟 *        侯涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ *    (b) 浩芹邵の妨轮を·侍に年める数恕によって·TOPPERSプロジェクトに *        鼠桂することˉ *  (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 *      巢からも·惧淡螟侯涪荚およびTOPPERSプロジェクトを倘勒することˉ *  *  塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚お *  よびTOPPERSプロジェクトは·塑ソフトウェアに簇して·その努脱材墙拉も *  崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェアの网脱により木 *  儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·その勒扦を砷わないˉ *  *  @(#) $Id: makeoffset.c,v 1.3 2005/11/24 12:41:23 honda Exp $ *//* *	offset.inc (もしくは offset.h) について * *	  offset.inc は菇陇挛の泼年の妥燎が菇陇挛の黎片から部バイト誊に *	赂哼するかということや, 泼年のビットフィ〖ルドが黎片から *	部バイト黎の部ビット誊に赂哼するか, という攫鼠を *	アセンブリ咐胳ファイルに涂えるために赂哼している. * *	  offset.inc ファイルの面咳は, 帽なるシンボル年盗ファイルである. *	シンボルといっても年盗するシンボルの叹疚にはパタ〖ンがあり, *	络きく尸けて肌の3硷梧に尸梧できる. * *	<菇陇挛叹>_<妥燎叹>	(毋) TCB_sp, TCB_pc, TCB_enatex など *	<菇陇挛叹>_<妥燎叹>_bit	(毋) TCB_enatex_bit など *	<菇陇挛叹>_<妥燎叹>_mask (毋) TCB_enatex_mask など * *	(毋) *		TCB_texptn	.equ	14 *		TCB_sp	.equ	20 *		TCB_pc	.equ	22 *		TCB_enatex	.equ	12 *		TCB_enatex_bit	.equ	14 *		TCB_enatex_mask	.equ	4000H * *	  办戎はじめは泼年の妥燎が菇陇挛の黎片から部バイト黎にあるか *	ということを绩す眶猛につけるラベルの叹疚. *	  企戎誊は泼年のビットフィ〖ルド面のビットが, 布疤から眶えて *	部ビット誊にあるかということを绩す眶猛につけるラベルの叹疚.  *	0から幌まる眶猛で山附する. 呵も布疤のビットは妈0ビットである. *	  话戎誊は黎ほどの <菇陇挛叹>_<妥燎叹>_bit とも簇息するが, *	泼年のビットフィ〖ルド面のビットのマスク猛の叹疚. *	_bit と *_mask の猛の粗には肌の簇犯がある. *		(*_mask) == (1 << *_bit) *	(毋) TCB_enatex_bit が 14 の箕, TCB_enatex_mask は 4000H * *	  ちなみにM16C巴赂婶の悸刘では, 泼年ビットのチェックなどに *	ビット炭吾アドレッシングを蝗脱しているので *_mask というラベルは *	蝗脱していない. */#include "jsp_kernel.h"#include "task.h"void makeoffset(void);voidmakeoffset(void){	asm("! BEGIN TCB_texptn\n");	(INT)(((TCB *)0)->texptn) |= 1;	asm("! END");	asm("! BEGIN TCB_sp\n");	(INT)(((TCB *)0)->tskctxb.sp) |= 1;	asm("! END");	asm("! BEGIN TCB_pc\n");	(((TCB *)0)->tskctxb.pc)();	asm("! END");	asm("! BEGIN TCB_enatex\n");	(INT)(((TCB *)0)->enatex) = 1;	asm("! END");}

⌨️ 快捷键说明

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