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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? wdbdbgalib.s

?? vxwork源代碼
?? S
字號:
/* wdbDbgALib.s - i80x86 debugging aids assembly interface *//* Copyright 1984-2002 Wind River Systems, Inc. *//*modification history--------------------01f,30may02,hdn  added WDB_CTX_LOAD that is _wdbDbgCtxLoad() (spr 75694)01e,23aug01,hdn  added FUNC/FUNC_LABEL, replaced .align w .balign		 fixed stack adjustment bug in wdbDbgBpStub.01d,08jan98,dbt  modified for new breakpoint scheme. Added hardware		 breakpoints support01c,01jun93,hdn  updated to 5.1.		  - fixed #else and #endif		  - changed VOID to void		  - changed ASMLANGUAGE to _ASMLANGUAGE		  - changed copyright notice01b,13oct92,hdn  debugged.01a,08jul92,hdn  written based on TRON version.*//*DESCRIPTIONThis module contains assembly language routines needed for the debugpackage and the i80x86 exception vectors. .ne 24PICTURE OF STACK GROWING.CS  							 sp_5 ---------								sp_1(pointer to ESF0)							 sp_4 ---------								sp_2(pointer to REGS)							---------							0 or 1			  fp/sp_3 ---------		 ---------				     fp			 fp			     sp_2 ---------		 ---------				db0			db0				 |			  |				db7			db7				    edi			edi				     |			  |				    eax			eax  sp_1 ---------		 ---------		 ---------	 EIP			EIP			EIP	---------		 ---------		 ---------	 CS			 CS			 CS	---------		 ---------		 ---------	 EFLAGS		    EFLAGS		    EFLAGS	---------		 ---------		 ---------       fig.1		     fig.2		     fig.3.CE   SEE ALSO: dbgLib(1), "Debugging"*/#define _ASMLANGUAGE#include "vxWorks.h"#include "asm.h"#include "wdb/wdbDbgLib.h"	.data	.globl	FUNC(copyright_wind_river)	.long	FUNC(copyright_wind_river)		/* externals */	.globl	FUNC(wdbDbgPreBreakpoint) /* breakpoint processing routine */	.globl	FUNC(wdbDbgPreTrace)	/* trace processing routine */	.globl  VAR(wdbDbgCtxPc)	/* saved PC */	.globl  VAR(wdbDbgCtxCs)	/* saved CS */	.globl  VAR(wdbDbgCtxEsp)	/* saved ESP */	.globl  VAR(sysCsSuper)		/* task level CS */	/* internals */	.globl	GTEXT(wdbDbgBpStub)	/* breakpoint exceptions handler */	.globl	GTEXT(wdbDbgTraceStub)	/* trace exceptions handler */	.globl	GTEXT(wdbDbgRegsSet)	/* set Debug Registers */	.globl	GTEXT(_wdbDbgCtxLoad)	/* load the new context */	.text	.balign 16/****************************************************************************** wdbDbgBpStub - software breakpoint handling** This routine is attached to the breakpoint trap (default int $3).  It* saves the entire task context on the stack and calls wdbDbgBreakpoint () to * handle the event.** NOMANUAL*/FUNC_LABEL(wdbDbgBpStub)		/* sp_1: breakpoint trap driver */	pushal				/* sp_2: save regs */	movl	%db7,%eax	pushl	%eax	movl	%db6,%eax	pushl	%eax	movl	%db3,%eax	pushl	%eax	movl	%db2,%eax	pushl	%eax	movl	%db1,%eax	pushl	%eax	movl	%db0,%eax	pushl	%eax	movl	%esp,%eax		/*     : sp points to saved regs */	pushl	%ebp			/*     : save a frame-pointer */	movl	%esp,%ebp		/* sp_3: make a frame-pointer */	decl	SAVED_REGS+0x4(%ebp)	/*     : adjust saved program counter */	pushl	$0			/*     : push FALSE is hardware break */	pushl	%eax			/* sp_4: push pointer to saved regs */	leal	SAVED_REGS+0x4(%ebp),%eax	pushl	%eax			/* sp_5: push pointer to saved info */	call	FUNC(wdbDbgPreBreakpoint) /*     : do breakpoint handling */	/* we only return if the breakpoint was hit at interrupt level */	addl	$0x10,%esp		/* sp_2: pop the params,frame-pointer */	addl	$ SAVED_DBGREGS,%esp	/*     : pop saved debug registers */	popal				/* sp_1: restore regs */	iret/**************************************************************************** wdbDbgTraceStub - hardware breakpoint and trace exception handling** This routine is attached to the i80x86 trace exception vector.  It saves the* entire task context on the stack and calls wdbDbgTrace () to handle the event.* This handler is for any of these situations:*     (1) Single step.				Trap	BS=1*     (2) Hardware instruction breakpoint.	Falt	Bn=1*     (3) Hardware data breakpoint.		Trap	Bn=1** NOMANUAL*/	.balign 16,0x90FUNC_LABEL(wdbDbgTraceStub)		/* sp_1: trace trap driver */	andl	$0xfffffeff,0x8(%esp)	/* clear TraceFlag in saved EFLAGS */	pushal				/* sp_2: save regs */	movl	%db7,%eax	pushl	%eax	movl	%db6,%eax	pushl	%eax	movl	%db3,%eax	pushl	%eax	movl	%db2,%eax	pushl	%eax	movl	%db1,%eax	pushl	%eax	movl	%db0,%eax	pushl	%eax	movl	%esp,%eax		/*     : sp points to saved regs */	pushl	%ebp			/*     : save a frame-pointer */	movl	%esp,%ebp		/* sp_3: make a frame-pointer */	pushl	$1			/*     : push TRUE is hardware break */	pushl	%eax			/* sp_4: push pointer to saved regs */	leal	SAVED_REGS+4(%ebp),%eax	pushl	%eax			/* sp_5: push pointer to saved info */	movl	%db6,%eax		/* get DR6 debug status reg */	movl	%db6,%eax		/* get DR6 debug status reg */	xorl	%edx,%edx	movl	%edx,%db7		/* clear DR7 debug control reg */	movl	%edx,%db6		/* clear DR6 debug status reg */	movl	%edx,%db3		/* clear DR3 debug reg */	movl	%edx,%db2		/* clear DR2 debug reg */	movl	%edx,%db1		/* clear DR1 debug reg */	movl	%edx,%db0		/* clear DR0 debug reg */	btl	$14,%eax		/* is it a trace-exception ? */	jc	wdbDbgTrace0		/* if yes, jump wdbDbgTrace0 */	orl	$0x00010000,SAVED_REGS+12(%ebp) /* set ResumeFlag */	call	FUNC(wdbDbgPreBreakpoint) /* do breakpoint handling */	jmp	wdbDbgTrace1	.balign 16,0x90wdbDbgTrace0:	call	FUNC(wdbDbgPreTrace)	/* do trace handling */wdbDbgTrace1:	/* we returned from wdbDbgTrace if this was a CONTINUE or the break	 * was hit at interrupt level	 */	addl	$0x10,%esp		/* sp_2: pop the params,frame-pointer */	popl	%eax	movl	%eax,%db0	popl	%eax	movl	%eax,%db1	popl	%eax	movl	%eax,%db2	popl	%eax	movl	%eax,%db3	popl	%eax	xorl	%eax,%eax	movl	%eax,%db6		/* clear status bits in DR6 */	popl	%eax	movl	%eax,%db7	popal				/* sp_1: restore regs */	iret/**************************************************************************** wdbDbgRegsSet - set the debug registers** This routine set hardware breakpoint registers.** SEE ALSO: "i80x86 32-Bit Microprocessor User's Manual"* void wdbDbgRegsSet (pReg)*     int *pReg;		/* pointer to saved registers **/	.balign 16,0x90FUNC_LABEL(wdbDbgRegsSet)	pushl	%ebp	movl	%esp,%ebp	movl	ARG1(%ebp),%edx	movl	0(%edx),%eax	movl	%eax,%db0	movl	4(%edx),%eax	movl	%eax,%db1	movl	8(%edx),%eax	movl	%eax,%db2	movl	12(%edx),%eax	movl	%eax,%db3	movl	16(%edx),%eax	movl	%eax,%db6	movl	20(%edx),%eax	movl	%eax,%db7	leave	ret/********************************************************************************* _wdbDbgCtxLoad - Load a new context in the current task** This is just like longjmp, but every register must be loaded.* You could also look at this as half a context switch.** RETURNS: Never returns* void _wdbDbgCtxLoad*     (*     REG_SET * pRegs		/@ Context to load @/*     )*/	.balign 16,0x90FUNC_LABEL(_wdbDbgCtxLoad)	movl	SP_ARG1(%esp),%eax	movl	0x00(%eax),%edi		/* load 5 registers */	movl	0x04(%eax),%esi	movl	0x08(%eax),%ebp	movl	0x10(%eax),%ebx	movl	0x18(%eax),%ecx	cli				/* LOCK INTERRUPTS */	movl	0x0c(%eax),%esp		/* load the stack pointer */	pushl	0x20(%eax)		/* push EFLAGS */	/*	 * Restoring the previous CS(code selector) is required	 * to go back to the int-level context.  This happens	 * when we switch back to the system from the external	 * agent.  To do this, the CS should be included in the	 * REG_SET.  In the mean time, the CS in the breakpoint 	 * and trace exception stack frame is saved in the 	 * handler and restored here.  To find the right REG_SET, 	 * the saved PC(program counter) and ESP(stack pointer) 	 * are compared to ones in REG_SET beforehand.	 */	movl	0x24(%eax),%edx		/* get the PC in REG_SET */	cmpl	FUNC(wdbDbgCtxPc),%edx	/* compare the PC */	jne	wdbDbgCtxLoad0		/* jump if different */	movl	0x0c(%eax),%edx		/* get the ESP in REG_SET */	cmpl	FUNC(wdbDbgCtxEsp),%edx	/* compare the ESP */	jne	wdbDbgCtxLoad0		/* jump if different */	pushl	FUNC(wdbDbgCtxCs)	/* push the previous CS */	jmp	wdbDbgCtxLoad1wdbDbgCtxLoad0:	pushl	FUNC(sysCsSuper)	/* push the task level CS */wdbDbgCtxLoad1:	pushl	0x24(%eax)		/* push PC */	movl	0x14(%eax),%edx		/* load remaining 2 registers */	movl	0x1c(%eax),%eax	iret				/* UNLOCK INTERRUPTS */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本到一区二区三区| 国产无一区二区| 久久网这里都是精品| 亚洲人成伊人成综合网小说| 丝袜亚洲精品中文字幕一区| 国产成人自拍高清视频在线免费播放| 在线看日本不卡| 国产精品久久二区二区| 麻豆国产精品官网| 欧美日韩国产一级片| 国产精品久久影院| 国产麻豆精品在线观看| 欧美乱熟臀69xxxxxx| 亚洲欧美视频在线观看视频| 国产传媒欧美日韩成人| 2020国产精品自拍| 免费高清不卡av| 7777精品伊人久久久大香线蕉的 | 精品三级在线观看| 亚洲国产一区视频| 色综合天天综合在线视频| 中文字幕va一区二区三区| 精东粉嫩av免费一区二区三区| 欧美美女视频在线观看| 亚洲国产精品一区二区久久| 99re亚洲国产精品| 国产精品嫩草影院av蜜臀| 国产成人aaa| 久久综合网色—综合色88| 另类小说色综合网站| 欧美一区2区视频在线观看| 亚洲va韩国va欧美va| 欧美三级日本三级少妇99| 一二三区精品视频| 欧美在线观看你懂的| 亚洲成人7777| 日韩一本二本av| 久久精品国产久精国产爱| 欧美日韩国产乱码电影| 日韩—二三区免费观看av| 欧美一区二区福利在线| 青青草97国产精品免费观看无弹窗版 | 国内精品免费**视频| 精品国产91九色蝌蚪| 国产一区二区不卡| 中文字幕一区在线| 91欧美激情一区二区三区成人| 亚洲国产电影在线观看| 日本精品免费观看高清观看| 亚洲精品成人在线| 欧美三级视频在线观看| 琪琪一区二区三区| 国产欧美日韩另类一区| 99热这里都是精品| 污片在线观看一区二区| 日韩欧美高清在线| 国产91在线看| 亚洲午夜免费电影| 日韩欧美成人午夜| 国产黄色91视频| 亚洲国产美国国产综合一区二区| 宅男在线国产精品| 国产+成+人+亚洲欧洲自线| 亚洲精品精品亚洲| 欧美成人精品1314www| 成人av网站免费观看| 天天综合网 天天综合色| 久久亚洲精品小早川怜子| 91在线视频在线| 久久精品国产99| 一区二区三区四区蜜桃| 精品久久一二三区| 欧美亚洲愉拍一区二区| 国产一区二区视频在线| 亚洲午夜日本在线观看| 欧美国产1区2区| 91精品国产91久久久久久最新毛片| 国产乱码精品一区二区三区av | 色老汉一区二区三区| 久久不见久久见中文字幕免费| 亚洲少妇中出一区| 欧美电视剧免费全集观看| 91亚洲精品久久久蜜桃| 狠狠v欧美v日韩v亚洲ⅴ| 夜色激情一区二区| 中文字幕一区二区在线播放| 日韩一区二区在线免费观看| 99久久er热在这里只有精品15 | 日韩精品高清不卡| 亚洲欧美偷拍卡通变态| 国产午夜精品久久久久久免费视| 欧美日韩国产首页在线观看| 成人黄色小视频| 国产美女在线观看一区| 日韩成人一区二区三区在线观看| 亚洲精品免费在线| 国产欧美精品一区二区色综合 | 欧美一级欧美三级| 91国在线观看| 92精品国产成人观看免费| 国产精品中文字幕日韩精品| 蜜臀a∨国产成人精品| 亚洲国产婷婷综合在线精品| 亚洲乱码日产精品bd| 国产精品三级av| 国产欧美精品区一区二区三区| 日韩一区二区三区三四区视频在线观看| 色综合一区二区| 色婷婷精品久久二区二区蜜臂av| 懂色av噜噜一区二区三区av| 国产成人在线视频播放| 国产精品亚洲成人| 国产a久久麻豆| 成人激情电影免费在线观看| 国产精品亚洲人在线观看| 国产精品99久久久| 激情文学综合插| 国产老女人精品毛片久久| 久久精品99国产精品日本| 日产精品久久久久久久性色| 亚洲成a人片在线不卡一二三区| 亚洲一区二区三区激情| 亚洲成av人综合在线观看| 亚洲电影视频在线| 免费xxxx性欧美18vr| 久久成人免费网站| 国产久卡久卡久卡久卡视频精品| 国产成人综合在线观看| 91在线你懂得| 欧美日韩综合在线免费观看| 欧美精品色综合| 日韩精品在线一区| 国产精品人成在线观看免费 | 一区二区三区影院| 亚洲高清在线精品| 美脚の诱脚舐め脚责91| 国产精品一区二区久久不卡 | 成人久久18免费网站麻豆 | 日韩精品中文字幕一区二区三区| 久久婷婷国产综合国色天香| 国产精品私人影院| 无码av中文一区二区三区桃花岛| 激情综合网av| 91丨九色丨蝌蚪丨老版| 欧美精品免费视频| 久久久精品2019中文字幕之3| 亚洲丝袜制服诱惑| 日本网站在线观看一区二区三区| 韩国女主播成人在线| 色婷婷久久99综合精品jk白丝| 欧美一区二区三区在线观看视频 | 成人av免费在线播放| 精品视频资源站| 国产丝袜美腿一区二区三区| 一区二区三区日韩| 国产剧情在线观看一区二区| 亚洲精品免费一二三区| 日韩欧美久久久| 日本午夜一本久久久综合| 成人精品视频一区二区三区| 欧美日韩亚州综合| 综合色天天鬼久久鬼色| 日韩高清不卡一区二区三区| 成人黄色免费短视频| 午夜国产精品一区| 99精品久久久久久| 亚洲日本电影在线| 色综合久久久网| 亚洲一区二区在线播放相泽 | 黑人巨大精品欧美一区| 日韩精品影音先锋| 国内外成人在线视频| 久久久久久久久久久99999| 国产一区二区三区日韩| 国产三级精品在线| jlzzjlzz亚洲女人18| 亚洲免费观看高清完整版在线观看| 色婷婷av一区二区三区大白胸| 亚洲黄一区二区三区| 欧美影视一区二区三区| 日韩在线一区二区三区| 日韩免费在线观看| 国产不卡高清在线观看视频| 国产精品久久久久桃色tv| 一本久道中文字幕精品亚洲嫩| 亚洲第一av色| 精品国产一区二区三区忘忧草| 国产在线日韩欧美| 国产精品成人一区二区艾草| 欧美自拍偷拍午夜视频| 日韩精品国产精品| 国产情人综合久久777777| 97精品国产露脸对白| 亚洲午夜久久久久久久久电影院| 欧美一区二区三区啪啪| 国产aⅴ综合色| 亚洲aaa精品| 国产调教视频一区| 欧美色图第一页| 久久精品国产网站|