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

📄 breakhdr.s

📁 T-Kernel Shell Sample
💻 S
字号:
/*""FILE COMMENT""**************************************************************   System Name : RENESAS 7145 micro T-Engine*   File Name   : breakhdr.S*   Version     : 1.01.00*   Contents    : User Break Handler entry*   Model       : RENESAS T-Engine/uT-Engine*   CPU         : RENESAS T-Engine Series CPU*   Compiler    : GNU*   OS          : T-Kernel**   note        : The Software is being delivered to you "AS IS" *               : and Renesas,whether explicitly or implicitly makes  *               : no warranty as to its Use or performance. *               : RENESAS AND ITS SUPPLIER DO NOT AND CANNOT WARRANT *               : THE PERFORMANCE OR RESULTS YOU MAY OBTAIN  BY USING *               : THE SOFTWARE. AS TO ANY MATTER INCLUDING WITHOUT *               : LIMITATION NONINFRINGEMENT OF THIRD PARTY RIGHTS,*               : MERCHANTABILITY, INTEGRATION, SATISFACTORY QUALITY, *               : OR FITNESS FOR ANY PARTICULAR PURPOSE.**   Copyright (c) 2004-2006 RENESAS TECHNOLOGY CORP. All Rights Reserved.*   AND RENESAS SOLUTIONS CORP. All Rights Reserved.**   history     : 2004.10.01 ver1.00.00*               : 2006.02.01 ver1.01.00*""FILE COMMENT END""*********************************************************/#include <machine.h>/*""FUNC COMMENT""******************************************************* * ID          : X.Y.Z * Outline     : UserBreak/NMI/Exception Handler Entry(Assembler) *----------------------------------------------------------------------- * Include     :  *----------------------------------------------------------------------- * Definition  : UserBreakHandler *----------------------------------------------------------------------- * Function    : UserBreak/NMI/Exception Handler Entry(Assembler)  *----------------------------------------------------------------------- * Argument    : None *-----------------------------------------------------------------------  * Return      : None *----------------------------------------------------------------------- * Input       : None  * Output      : None  *----------------------------------------------------------------------- * Used Func   : break_shell() *----------------------------------------------------------------------- * Notice      : In coming here,some register saved already as follows: *               High Address +--------+ *                            | SR     | *                            | PC     | *                            | R3     |(=dintno) *                            | R2     | *               Low  Address +--------+ *""FUNC COMMENT END""***************************************************/	.text	.balign	2	.globl	Csym(UserBreakHandler)Csym(UserBreakHandler):	mov.l   DisableIntSR,r2	ldc     r2,  sr	mov     r15, r2	mov.l   BreakStackTop,r15		mov.l	r0,  @-r2		// Save register 	mov.l	r1,  @-r2		// Save register 	mov.l	r4,  @-r2		// Save register 	mov.l	r5,  @-r2		// Save register 	mov.l	r6,  @-r2		// Save register 	mov.l	r7,  @-r2		// Save register 	mov.l	r8,  @-r2		// Save register 	mov.l	r9,  @-r2	mov.l	r10, @-r2	mov.l	r11, @-r2	mov.l	r12, @-r2	mov.l	r13, @-r2	mov.l	r14, @-r2	stc.l	gbr, @-r2	sts.l	pr,  @-r2	sts.l	macl,@-r2	sts.l	mach,@-r2	mov     r3,  r5        // R5=dintno	mov.l   r2,  @-SP	mov.l   C_BreakEntry,r0	jsr	@r0			// call break(regaddr)	mov     r2,  r4 // R4=RegTable(delayed slot)		mov.l   @r15, r15     	lds.l	@SP+, mach		// Restore register 	lds.l	@SP+, macl 	lds.l	@SP+, pr	ldc.l	@SP+, gbr	mov.l	@SP+, r14	mov.l	@SP+, r13	mov.l	@SP+, r12	mov.l	@SP+, r11	mov.l	@SP+, r10	mov.l	@SP+, r9	mov.l	@SP+, r8	mov.l	@SP+, r7	mov.l	@SP+, r6	mov.l	@SP+, r5	mov.l	@SP+, r4	mov.l	@SP+, r1	mov.l	@SP+, r0	mov.l	@SP+, r2	mov.l	@SP+, r3	rte	nop	.balign 4C_BreakEntry:	.long	_break_shellDisableIntSR:	.long   0x000000F0BreakStackTop:	.long   0xFFFFE400

⌨️ 快捷键说明

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