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

📄 start.a30

📁 toppers操作系统源码
💻 A30
字号:
;*;*  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;*  Copyright (C) 2001 by OAKS16KIT support;*  Copyright (C) 2003-2004 by Naoki Saito;*             Nagoya Municipal Industrial Research Institute, JAPAN;*  Copyright (C) 2003-2004 by Ryosuke Takeuchi;*               Platform Development Center RICOH COMPANY,LTD. JAPAN;* ;*  惧淡螟侯涪荚は·Free Software Foundation によって给山されている ;*  GNU General Public License の Version 2 に淡揭されている掘凤か·笆;*  布の(1)×(4)の掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェ;*  アを猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布·;*  网脱と钙ぶ∷することを痰浸で钓满するˉ;*  (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯;*      涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖;*      スコ〖ド面に崔まれていることˉ;*  (2) 塑ソフトウェアを浩网脱材墙なバイナリコ〖ド∈リロケ〖タブルオブ;*      ジェクトファイルやライブラリなど∷の妨で网脱する眷圭には·网脱;*      に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯涪山绩·;*      この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ;*  (3) 塑ソフトウェアを浩网脱稍材墙なバイナリコ〖ドの妨または怠达に寥;*      み哈んだ妨で网脱する眷圭には·肌のいずれかの掘凤を塔たすことˉ;*    (a) 网脱に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟侯;*        涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ;*    (b) 网脱の妨轮を·侍に年める数恕によって·惧淡螟侯涪荚に鼠桂する;*        ことˉ;*  (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄;*      巢からも·惧淡螟侯涪荚を倘勒することˉ;* ;*  塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚は·;*  塑ソフトウェアに簇して·その努脱材墙拉も崔めて·いかなる瘦沮も乖わ;*  ないˉまた·塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じたい;*  かなる禄巢に簇しても·その勒扦を砷わないˉ;* ;*  @(#) $Id: start.a30,v 1.3 2005/11/24 12:41:23 honda Exp $PRCR  .EQU		000AH			; プロテクトレジスタPRC0  .BTEQU	0,PRCR			; システムクロックレジスタビットPRC1  .BTEQU	1,PRCR			; プロセッサモ〖ドレジスタビット;PM0   .EQU		0004H			; プロセッサモ〖ドレジスタ0PM1   .EQU		0005H			; プロセッサモ〖ドレジスタ1;CM0   .EQU		0006H			; クロックモ〖ドレジスタ0CM1   .EQU		0007H			; クロックモ〖ドレジスタ1C_CM0 .EQU		00001000B		; CM0(Xcin-HIGH)C_CM1 .EQU		00100000B		; CM1(Xin-HIGH);/*	年眶年盗∈介袋步∷*/;VECTOR_ADR 	.EQU	0FFE00h					; ベクタアドレス	.include	m16cvec.inc	.section	bss_NE,DATA,ALIGN	.section	data_NE,DATA,ALIGN	.section	data_NEI,ROMDATA,ALIGN	.section	bss_NO,DATA,ALIGN	.section	data_NO,DATA,ALIGN	.section	data_NOI,ROMDATA,ALIGN;;************************************************;*	介袋步ル〖チン                              *;************************************************	.section	program	.glb		_hardware_start	.glb		_kernel_start	.glb		_software_init_hook;_hardware_start:	ldc			#RAMEND,ISP		; 充り哈みスタックポインタセット; ----- set Processor mode -----	bset		PRC1			; プロセッサモ〖ドレジスタ今き哈みイネ〖ブル	mov.b		#00000000b,PM0	; シングルチップモ〖ド	mov.b		#00000000b,PM1	; 润橙磨、ノ〖ウェイト	bclr		PRC1			; プロセッサモ〖ドレジスタ今き哈みディゼ〖ブル; ----- set System clock -----	bset		PRC0			; クロックコントロ〖ルレジスタ今き哈みイネ〖ブル	mov.b		#C_CM0,CM0		; 券慨	mov.b		#C_CM1,CM1		; 尸件なし	bclr		PRC0			; レジスタ今き哈みディゼ〖ブル;	ldc			#0000h,FLG		; bank#0,充り哈み敦贿,ISP	ldintb		#VECTOR_ADR		; ベクタテ〖ブルの肋年;------ DATA挝拌の介袋步 ------	mov.w		#(topof bss_NE),R3	mov.w		#(topof data_NE),A1	sub.w		A1,R3	jz			bss_clear	mov.w		#(topof data_NEI & 0ffffh),A0	mov.b		#(topof data_NEI >> 16),R1H	smovf.b;------ BSS挝拌の介袋步 ------bss_clear:	mov.w		#(topof bss_NE),A0	mov.w		#0,R0clear_loop:	mov.w		R0,[A0]	add.w		#2,A0	cmp.w		#RAMEND,A0	jne			clear_loop;*  software_init_hook を钙叫し∈0 でない眷圭∷;*;*  ソフトウェア茨董∈泼にライブラリ∷に巴赂して涩妥な介袋步借;*  妄がある眷圭は·software_init_hook という簇眶を脱罢すれば;*  よいˉM16Cの眷圭、コンパイル箕EXTERN_SOFT_HOOKをデファインする	mov.w		#(_software_init_hook & 0ffffh),A0	mov.w		#(_software_init_hook >> 16),A1	lde.w		[A1A0],R0	mov.w		#((_software_init_hook+2) & 0ffffh),A0	mov.w		#((_software_init_hook+2) >> 16),A1	lde.w		[A1A0],R1	mov.w		R0,A0	mov.w		R1,A1	or.w		R0,R1	jz			kernel_link	jsri.a		A1A0;;;***** カ〖ネルスタ〖トへ	*****kernel_link:	jsr.a		_kernel_start	; --> kernel_start();	.end

⌨️ 快捷键说明

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