亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? excalib.s

?? vxworks的源代碼
?? S
?? 第 1 頁 / 共 4 頁
字號:
/* excALib.s - exception handling SH assembly language routines *//* Copyright 1994-2001 Wind River Systems, Inc. */	.data	.global	_copyright_wind_river	.long	_copyright_wind_river/*modification history--------------------03e,10dec01,zl   added leading underscore to areWeNested.03d,08nov01,hk   courtesies of Hans-Erik and Hitachi-Japan, added mmuPciStub.03c,03nov01,zl   made excNonTrapa local.03b,10sep01,zl   FPSCR exception info for _WRS_HW_FP_SUPPORT only.03a,03sep00,hk   change excUnblock to preserve SR.DSP.		 change small constants to use .word storage.		 lock interrupts in excDispatch before using bank-1 registers.		 use intBlockSR (ex-0x70000000) to block exceptions.		 merge intLockIntSR to intLockTaskSR.		 put together .text directives.		 add .size directive to global constants.02z,21aug00,hk   merge SH7729 to SH7700. merge SH7410 and SH7040 to SH7600.02y,20jun00,hk   fixed excStub/excIntStub/excBsrTbl for SH7600.02x,20apr00,hk   changed sysBErrVecNum to excBErrVecNum. changed text alignment                 to _ALIGN_COPY_TEXT, for stubs to be copied before use.02w,10apr00,hk   got rid of .ptext section: modified excBErrStub as a VBR-                 relative code in P1/P2. also changed intPrioTable and                 areWeNested to VBR-relative data.  changed inter-stub                 branches to jumps.02v,28mar00,hk   added .type directive to function names and tables.02u,17mar00,zl   made use of alignment macro _ALIGN_TEXT02t,16jun99,zl   added instrunction to save EXPEVT in _excStub02s,08jun99,zl   added .ptext attribute "ax"02r,02mar99,hk   merged mmuStub.02n,28may98,jmc  added support for SH-DSP and SH3-DSP.02o,04nov98,hk   changed excBErrStub/excIntStub for new intStub design(SH7700).02n,12may98,hk   added SH7718(SH3e) on-chip FPU exception support.02q,08oct98,hk   improved mmuStub for SH7750. unified coding in excStub.02p,16sep98,hk   code review: simplified CPU conditionals. unified SH7750_VEC_                 TABLE_OFFSET to SH7700_VEC_TABLE_OFFSET.02o,16sep98,st   deleted dummy code in mmuStub().02n,16jul98,st   added SH7750 support.02m,25nov97,hk   changed to use sequential interrupt number for SH7700.02l,19jun97,hk   moved in mmuStub from mmuSh7700ALib.s.02k,27apr97,hk   changed SH704X to SH7040.02j,03mar97,hk   moved excTlbStub to relax code layout. merged excUnknown                 to excSetDefault. reviewed comment.02i,23feb97,hk   added sanity check for EXPEVT value.02h,17feb97,hk   pushed EXPEVT on stack. deleted unused INTEVT def. fixed                 TRA/TEA push logic for address error exception w/mmu.                 minimized bank1 register usage. made excNonTrapa global for                 branching from mmuStub. simplified SR.BL unblocking code.02g,12feb97,hk   adjusted excBErrStub/excIntStub for pushed INTEVT on stack.02f,09feb97,hk   fixed _excStub for SH7700 to handle protection exceptions.02e,18jan97,hk   saved TRA/TEA on top of stack.02d,03jan97,hk   added excTLBfixed.02c,25dec96,hk   fixed comment for excStub.02b,21dec96,hk   moved SH3 code to .ptext. excluded _excBErrStub from                 _excStubSize. renamed AAreWeNested as AreWeNested.02a,16dec96,hk   added wt's TLB invalid exception support code to excStub.01z,13dec96,hk   fixed excIntStub for SH[127m] to pop errno in r1.01y,09dec96,wt   changed excStub not to use stack while blocked, and kept	   +hk   volatiles in bank regs. overhauled excBErrStub/excIntStub.01x,29sep96,hk   added excBackToTaskContext to handle exception in task context.		 fixed r0 on stack for non-nested case. changed blocking sr to		 0x50000000 before rte. special thanks to wt for this to fix.01w,26sep96,hk   changed cmp/eq in excUnblock to tst, to use r2 instead of r0.01v,17sep96,hk   fixed r5 in excStub to point ESF before calling excExcHandle.		 added bypass for BL unblocking. made regular exception to fetch		 its handler from virtual vector table, but forced bus error to		 call excExcHandle. noted that rte code in excStub is not used.		 renamed excBErrExc to _excBErrStub, and made it to be directly		 called from _intStub. added documentation to _excBErrStub.01u,02sep96,hk   changed exception stack design and excBErrExc for SH7700.01t,22aug96,hk   deleted bank registers from REG_SET, trying bus err exception.01s,19aug96,hk   changed code layout. changed SH7700 excIntStub for new intStub.01r,14aug96,hk   deleted bank switch in excStub. intPrioTable covers exception.01q,13aug96,hk   fixed excIntStub for SH7700 to do rts.01p,13aug96,hk   added excIntStub for SH7700.01o,09aug96,hk   added 'trapa' handling code for SH7700. currently overlaying		 the trap vector table to exception/interrupt virtual vectbl.01n,08aug96,hk   deleted #include "excLib.h". changed EXPEVT to 8bit immediate.		 also added TRA def. changed SH7700_VEC_OFFSET according to		 new ivSh.h (01t).01m,08aug96,hk   added notes on excStub for SH7700.01l,04aug96,hk   changed code layout. added bank control for SH7700.01k,29jul96,hk   changed to use 'mova', added DEBUG_LOCAL_SYMBOLS option.01j,26jul96,ja   call excHandler via ExcVecTbl.01i,11jul96,ja   added excStubSize: for SH7700.01h,13jun96,hk   added excStub: for SH7700.01g,08apr96,hk   moved ExcBsrTblBErr/ExcBsrTbl to restore 256 BSR table.01e,28mar96,ja   resized BSR table 256 ->166: fix pcrel too far.01f,18dec95,hk   added support for SH704X.01e,19may95,hk   worked around 'mova' alignment problem.01d,06apr95,hk   deleted excBsrTbl entries over 128.01c,27mar95,hk   added bus error support. copyright 1995.01b,05dec94,hk   modified for pc/sr swapping in REG_SET.01a,27oct94,hk   taken from 68k 02c.*//*DESCRIPTIONThis module contains the assembly language exception handling stub.It is connected directly to the SH exception vectors.It sets up an appropriate environment and then calls a routinein excLib(1).SEE ALSO: excLib(1)*/#define _ASMLANGUAGE#include "vxWorks.h"#include "iv.h"#include "asm.h"#if	(CPU==SH7750 || CPU==SH7700)#if	(SH7700_TLB_STUB_OFFSET > 0x7fff)#error	SH7700_TLB_STUB_OFFSET > 0x7fff, check ivSh.h#endif#if	(SH7700_VEC_TABLE_OFFSET > 0x7fff)#error	SH7700_VEC_TABLE_OFFSET > 0x7fff, check ivSh.h#endif#if	(SH7700_INT_PRIO_TABLE_OFFSET > 0x7fff)#error	SH7700_INT_PRIO_TABLE_OFFSET > 0x7fff, check ivSh.h#endif#if	(SH7700_EXC_STUB_OFFSET > 0x7fff)#error	SH7700_EXC_STUB_OFFSET > 0x7fff, check ivSh.h#endif#endif	/* CPU==SH7750 || CPU==SH7700 */	.text	/* globals */	.global	_excStub	.global	_excIntStub#if	(CPU==SH7750 || CPU==SH7700)	.global	_excStubSize	.global	_excBErrStub	.global	_excBErrStubSize	.global	_mmuStub	.global	_mmuStubSize#elif	(CPU==SH7600 || CPU==SH7000)	.global	_excBsrTbl	.global	_excBsrTblBErr#endif	/*CPU==SH7600 || CPU==SH7000*/#if	(CPU==SH7750)	/* globals for SH7751 virtual PCI space extension */	.global	_mmuPciStub	.global	_mmuPciStubSize	.global	_mmuPciStubParams	.global	_mmuPciIoStub	.global	_mmuPciIoStubSize	.global	_mmuPciIoStubParams	.global	_mmuStubProper	.global	_mmuStubProperSize#endif	/* CPU==SH7750 */	/* imports */	.extern	_excBErrVecNum		/* excArchLib */	.extern	_excExcHandle		/* excArchLib */	.extern	_excIntHandle		/* excArchLib */	.extern	_intCnt			/* intLib */	.extern	_errno			/* errnoLib */	.extern	_intExit		/* windALib */	.extern	_intLockTaskSR		/* intArchLib */#if	(CPU==SH7750 || CPU==SH7700)	.extern	_intBlockSR		/* intArchLib */#elif	(CPU==SH7600 || CPU==SH7000)	.extern	_vxIntStackBase		/* kernelLib */	.extern	_areWeNested		/* windALib */#endif	/*CPU==SH7600 || CPU==SH7000*/	/* local definitions */#if	(CPU==SH7750)#define TRA	0x20		/* 0xff000020: TRApa exception register */#define EXPEVT	0x24		/* 0xff000024: Exception Event	      */#define TEA	0x0c		/* 0xff00000c: TLB Exception Address    */#elif	(CPU==SH7700)#define TRA	0xd0		/* 0xffffffd0: TRApa exception register */#define EXPEVT	0xd4		/* 0xffffffd4: EXception EVenT register */#define TEA	0xfc		/* 0xfffffffc: TLB Exception Address    */#endif	/*CPU==SH7700*/#if (CPU==SH7750 || CPU==SH7700)/******************************************************************************** excStub - exception handler (SH7750/SH7700)** This is the exception dispatcher that is pointed by the SH77XX exception* vector.  These instructions are copied to (vbr + 0x100), the SH77XX* exception vector by the startup routine excVecInit().  In this routine* we take care of saving state, and jumping to the appropriate routines.* On exit from handling we also return here to restore state properly.* * This routine is not callable!!  This routine does not include save and* restore of floating point state.** NOMANUAL**		|_____________|     +60       __________*		|TRA/TEA/FPSCR| 96  +56  +12         ^*		|   EXPEVT    | 92  +52  +8   _____  | ESFSH*		|     ssr     | 88  +48  +4	^    |*	r5 --->	|     spc     | 84  +44  +0	| ___v__*		|     r15     | 80  +40		|*		|     r14     | 76  +36		|*		|     r13     | 72  +32		|*		|     r12     | 68  +28		|*		|     r11     | 64  +24		|*		|     r10     | 60  +20		|*		|     r9      | 56  +16		|*		|     r8      | 52  +12		|*		|    macl     | 48  +8		|*		|    mach     | 44  +4     REG_SET*		|     r7      | 40  +0		|*		|     r6      | 36		|*		|     r5      | 32		|*		|     r4      | 28		|*		|     r3      | 24		|		+--------+*		|     r2      | 20		|	     r6 |REG_SET*|*		|     r1      | 16		|		+--------+*		|     r0      | 12		|	     r5 | ESFSH *|*		|     pr      |  8		|		+--------+*		|     gbr     |  4		|	     r4 |  INUM  |*       r6 --->	|____ vbr ____|  0    __________v__		+--------+*               |             |*/	.align	_ALIGN_COPY_TEXT	.type	_excStub,@function_excStub:			/* MD=1, RB=1, BL=1, IM=? */#if	(CPU==SH7750)	mov.l	EFF000000,r1	mov.l	@(EXPEVT,r1),r0#else	mov	#EXPEVT,r1	mov.l	@r1,r0#endif	cmp/eq	#0x40,r0	/* 0x40: TLB invalid (read) */	bt	excTlbStub	cmp/eq	#0x60,r0	/* 0x60: TLB invalid (write) */	bt	excTlbStub#ifdef	_WRS_HW_FP_SUPPORT	mov.w	EvtFpu,r1	cmp/eq	r1,r0		/* 0x120: FPU exception */	bt.s	excFpuStub;	mov	r0,r5		/* r5_bank1 = EXPEVT */#endif	mov.w	EvtTrapa,r1	cmp/eq	r1,r0		/* 0x160: Unconditional Trap */	bf.s	excNonTrapa	mov	r0,r5		/* r5_bank1 = EXPEVT */#if	(CPU==SH7750)	mov.l	EFF000000,r1	bra	excInfoGet;	add	#TRA,r1#else	bra	excInfoGet;	mov	#TRA,r1#endifexcTlbStub:	mov.w	MMU_STUB_OFFSET,r1;	stc	vbr,r0	add	r1,r0	jmp	@r0;		/* ---> mmuStub: at (vbr + 0x400) */	nop#ifdef	_WRS_HW_FP_SUPPORTexcFpuStub:	bra	excUnblock;	sts	fpscr,r4#endifexcNonTrapa:			/* <--- mmuStubErr:  */#if	(CPU==SH7750)	mov.l	EFF000000,r1;	add	#TEA,r1#else	mov	#TEA,r1#endifexcInfoGet:			/* r5_bank1 = EXPEVT */	mov.l	@r1,r4		/* r4_bank1 = TRA or TEA */excUnblock:			/* r4_bank1 = TRA or TEA or FPSCR */	stc	ssr,r6		/* r6_bank1 = ssr    */	stc	spc,r7		/* r7_bank1 = spc    */	mov.l	XCFFFFFFF,r1	/* r1: 0xcfffffff */	stc	sr,r0		/* r0: 0x7___?_?_ */	or	#0xf0,r0	/* r0: 0x7___?_f_ */	and	r1,r0		/* r0: 0x4___?_f_ */	ldc	r0,sr		/* UNBLOCK EXCEPTION (enable mmuStub), RB=0 */	stc.l	r4_bank,@-sp				/* save TRA/TEA/FPSCR */	stc.l	r5_bank,@-sp				/* save EXPEVT    */	stc.l	r6_bank,@-sp;	stc.l	r7_bank,@-sp	/* save ssr/spc   */	add	#-4,sp;		mov.l	r14, @-sp	/* save     r14   */	mov.l	r13, @-sp;	mov.l	r12, @-sp	/* save r13/r12   */	mov.l	r11, @-sp;	mov.l	r10, @-sp	/* save r11/r10   */	mov.l	r9,  @-sp;	mov.l	r8,  @-sp	/* save r9/r8     */	sts.l	macl,@-sp;	sts.l	mach,@-sp	/* save macl/mach */	mov.l	r7,  @-sp				/* save r7        */	mov	sp,  r7	add	#60, r7	mov.l	r7,  @(40,sp)				/* save as r15  */				mov.l	r6,  @-sp	/* save    r6   */	mov.l	r5,  @-sp;	mov.l	r4,  @-sp	/* save r5/r4   */	mov.l	r3,  @-sp;	mov.l	r2,  @-sp	/* save r3/r2   */	mov.l	r1,  @-sp;	mov.l	r0,  @-sp	/* save r1/r0   */	sts.l	pr,  @-sp				/* save pr      */	stc.l	gbr, @-sp;	stc.l	vbr, @-sp	/* save gbr/vbr */	mov	sp,  r5	add	#84, r5		/* r5: --> ESF */	mov.l	@(8,r5),r4	/* r4: EXPEVT 0x080, 0x0a0, ... 0x1d0 */	mov	r4,r0		/* do sanity check for EXPEVT code */	tst	#0x1f,r0	bf	excSetDefault	/*(EXPEVT & 0x1f) != 0, this should not happen*/	mov	#0x40,r1	cmp/hs	r1,r0	bf	excSetDefault	/* EXPEVT < 0x40, this should not happen */	shll2	r1	shll2	r1	cmp/hs	r1,r0	bt	excSetDefault	/* EXPEVT >= 0x400, this should not happen */	mov.w	IntPrioTableOffset,r1	stc	vbr,r0	add	r1,r0	mov	r4,r3	mov	#-3,r1	shld	r1,r3		/* r3: 0x0, 0x4 */	mov.l	@(r0,r3),r2	/* fetch sr from intPrioTable[] */	mov.w	EvtTrapa,r1	/* If this is a trap exception, read */	cmp/eq	r4,r1		/* TRA value and map it over the sh3 */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产一区二区| 色香蕉成人二区免费| 北岛玲一区二区三区四区| 色av成人天堂桃色av| www成人在线观看| 亚洲综合精品久久| 国产成人小视频| 日韩欧美在线影院| 亚洲综合精品自拍| 99久久免费视频.com| 26uuu久久天堂性欧美| 午夜亚洲福利老司机| 91亚洲精品久久久蜜桃| 久久久99精品久久| 美女www一区二区| 欧美电影在哪看比较好| 亚洲嫩草精品久久| www.亚洲精品| 久久久不卡网国产精品二区| 看电视剧不卡顿的网站| 欧美人狂配大交3d怪物一区| 一区二区三区四区在线免费观看 | 日韩欧美卡一卡二| 一区二区三区免费在线观看| 99久久精品免费| 国产精品天美传媒沈樵| 国产成人免费在线观看| 精品99一区二区三区| 精品一区二区免费在线观看| 日韩一级免费观看| 日韩1区2区日韩1区2区| 91精品国产91久久久久久最新毛片| 亚洲午夜久久久久| 欧美色图免费看| 午夜婷婷国产麻豆精品| 欧美精品一级二级三级| 日韩 欧美一区二区三区| 欧美精品一级二级| 麻豆91免费看| 久久久久久免费| 成人免费看片app下载| 日本一区二区三区高清不卡| 欧美性生活大片视频| 亚洲国产精品精华液网站| 欧美撒尿777hd撒尿| 久久嫩草精品久久久精品一| 亚洲国产精品久久一线不卡| 欧美亚一区二区| 三级不卡在线观看| 欧美一级黄色片| 国产精选一区二区三区| 国产喷白浆一区二区三区| 成人激情黄色小说| 亚洲精品日韩一| 88在线观看91蜜桃国自产| 毛片一区二区三区| 亚洲国产精品黑人久久久| 91在线码无精品| 日韩精品乱码av一区二区| 久久夜色精品一区| 91美女在线视频| 日本在线观看不卡视频| 国产日韩av一区| 欧美色图一区二区三区| 久久精品国产秦先生| 国产精品久久久久久久久免费丝袜| 色又黄又爽网站www久久| 美女视频第一区二区三区免费观看网站 | 色久优优欧美色久优优| 日本一区中文字幕| 中文字幕不卡在线观看| 欧美视频中文字幕| 丁香婷婷综合激情五月色| 亚洲视频免费在线| 精品国产露脸精彩对白| 欧洲亚洲国产日韩| 国产精品亚洲一区二区三区妖精| 自拍偷拍欧美激情| 欧美草草影院在线视频| 在线观看日韩国产| 国产电影精品久久禁18| 水蜜桃久久夜色精品一区的特点| 国产亚洲一区二区三区| 欧美精品视频www在线观看| 懂色av一区二区夜夜嗨| 久久国产精品72免费观看| 亚洲一区二三区| 国产精品国产三级国产三级人妇 | 亚洲成人午夜影院| 日本一区二区三区四区| 日韩视频一区二区三区在线播放| 一本高清dvd不卡在线观看| 国产麻豆精品theporn| 日韩精品五月天| 人人狠狠综合久久亚洲| 亚洲视频在线一区| 久久久99久久| 久久综合网色—综合色88| 欧美日韩国产综合草草| 一本到不卡精品视频在线观看 | 视频一区欧美精品| 亚洲欧美视频一区| 国产精品久久久久久久裸模| 精品99久久久久久| 日韩欧美在线一区二区三区| 欧美裸体bbwbbwbbw| 欧美性猛交xxxx黑人交| 色综合亚洲欧洲| 99re8在线精品视频免费播放| 韩国三级在线一区| 国模套图日韩精品一区二区| 蜜桃av一区二区在线观看| 亚洲国产精品久久不卡毛片| 亚洲美腿欧美偷拍| 亚洲美女少妇撒尿| 亚洲靠逼com| 亚洲伊人色欲综合网| 一区二区三区免费在线观看| 亚洲一区精品在线| 性欧美疯狂xxxxbbbb| 午夜精品在线视频一区| 午夜激情久久久| 日韩精品一二区| 九九**精品视频免费播放| 久久精品国产精品亚洲精品| 国内不卡的二区三区中文字幕 | 一区二区免费在线播放| 亚洲一二三四在线观看| 亚洲午夜一区二区三区| 亚洲国产综合人成综合网站| 日韩成人精品在线| 国产一区高清在线| 成人高清av在线| 色婷婷精品大在线视频| 欧美日韩大陆一区二区| 欧美成人福利视频| 国产精品进线69影院| 亚洲在线观看免费视频| 久久er99精品| av影院午夜一区| 欧美日韩不卡视频| 欧美电视剧在线观看完整版| 国产欧美日韩不卡| 亚洲成人手机在线| 黄色精品一二区| 91麻豆视频网站| 欧美va日韩va| 亚洲另类中文字| 黑人精品欧美一区二区蜜桃| 99久久精品国产毛片| 欧美日本国产一区| 欧美激情资源网| 亚洲电影在线免费观看| 久久91精品国产91久久小草| 成人av片在线观看| 91精品国产麻豆| 国产精品传媒入口麻豆| 日韩电影在线免费| a4yy欧美一区二区三区| 91精品国产入口| 亚洲色欲色欲www| 免费成人美女在线观看| 色哟哟在线观看一区二区三区| 欧美一区二区三区的| 国产精品久久夜| 久久成人麻豆午夜电影| 91麻豆免费看| 久久久www成人免费无遮挡大片| 一区二区高清在线| 国产·精品毛片| 精品三级在线观看| 午夜精品视频在线观看| 97成人超碰视| 欧美国产一区二区在线观看| 奇米亚洲午夜久久精品| 欧美午夜一区二区| 中文字幕字幕中文在线中不卡视频| 九色porny丨国产精品| 欧美精品1区2区| 一区二区三区在线看| a亚洲天堂av| 欧美国产精品专区| 国产精品一区二区91| 日韩亚洲欧美在线观看| 爽爽淫人综合网网站| 欧美亚洲高清一区| 中文字幕一区二区三| 国产成人av一区二区三区在线 | 2欧美一区二区三区在线观看视频| 亚洲在线观看免费| 色综合天天综合网天天狠天天| 国产欧美视频在线观看| 国产精品一二一区| 久久精品亚洲麻豆av一区二区| 久久狠狠亚洲综合| 日韩精品一区二区三区三区免费| 日本视频中文字幕一区二区三区| 欧美吻胸吃奶大尺度电影| 亚洲影视在线播放| 欧美日韩三级一区|