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

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

?? dbgarchlib.c

?? vxworks的源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
* _dbgTraceDisable - disable trace mode** NOMANUAL*/void _dbgTraceDisable (void)    {    /* already disabled in dbgTraceStub */    }/********************************************************************************* getOneReg - return the contents of one register** Given a task's ID, this routine returns the contents of the register* specified by the register code.  This routine is used by `a0', `d0', `sr',* etc.  The register codes are defined in dbgMc68kLib.h.** RETURNS: register contents, or ERROR.*/LOCAL int getOneReg (taskId, regCode)    int		taskId;		/* task's id, 0 means default task */    int		regCode;	/* code for specifying register */    {    REG_SET	regSet;		/* get task's regs into here */    taskId = taskIdFigure (taskId);	/* translate super name to id */    if (taskId == ERROR)		/* couldn't figure out super name */	return (ERROR);    taskId = taskIdDefault (taskId);	/* set the default id */    if (taskRegsGet (taskId, &regSet) != OK)	return (ERROR);    switch (regCode)	{	case D0: return (regSet.dataReg [0]);	/* data registers */	case D1: return (regSet.dataReg [1]);	case D2: return (regSet.dataReg [2]);	case D3: return (regSet.dataReg [3]);	case D4: return (regSet.dataReg [4]);	case D5: return (regSet.dataReg [5]);	case D6: return (regSet.dataReg [6]);	case D7: return (regSet.dataReg [7]);	case A0: return (regSet.addrReg [0]);	/* address registers */	case A1: return (regSet.addrReg [1]);	case A2: return (regSet.addrReg [2]);	case A3: return (regSet.addrReg [3]);	case A4: return (regSet.addrReg [4]);	case A5: return (regSet.addrReg [5]);	case A6: return (regSet.addrReg [6]);	case A7: return (regSet.addrReg [7]);	/* a7 is the stack pointer */	case SR: return (regSet.sr);	}    return (ERROR);		/* unknown regCode */    }/********************************************************************************* a0 - return the contents of register `a0' (also `a1' - `a7') (MC680x0)** This command extracts the contents of register `a0' from the TCB of a specified* task.  If <taskId> is omitted or zero, the last task referenced is assumed.** Similar routines are provided for all address registers (`a0' - `a7'):* a0() - a7().** The stack pointer is accessed via a7().** RETURNS: The contents of register `a0' (or the requested register).** SEE ALSO:* .pG "Target Shell"*/int a0    (    int taskId		/* task ID, 0 means default task */    )    {    return (getOneReg (taskId, A0));    }int a1 (taskId) int taskId; { return (getOneReg (taskId, A1)); }int a2 (taskId) int taskId; { return (getOneReg (taskId, A2)); }int a3 (taskId) int taskId; { return (getOneReg (taskId, A3)); }int a4 (taskId) int taskId; { return (getOneReg (taskId, A4)); }int a5 (taskId) int taskId; { return (getOneReg (taskId, A5)); }int a6 (taskId) int taskId; { return (getOneReg (taskId, A6)); }int a7 (taskId) int taskId; { return (getOneReg (taskId, A7)); }/********************************************************************************* d0 - return the contents of register `d0' (also `d1' - `d7') (MC680x0)** This command extracts the contents of register `d0' from the TCB of a specified* task.  If <taskId> is omitted or zero, the last task referenced is assumed.** Similar routines are provided for all data registers (`d0' - `d7'):* d0() - d7().** RETURNS: The contents of register `d0' (or the requested register).** SEE ALSO:* .pG "Target Shell"*/int d0    (    int taskId		/* task ID, 0 means default task */    )    {    return (getOneReg (taskId, D0));    }int d1 (taskId) int taskId; { return (getOneReg (taskId, D1)); }int d2 (taskId) int taskId; { return (getOneReg (taskId, D2)); }int d3 (taskId) int taskId; { return (getOneReg (taskId, D3)); }int d4 (taskId) int taskId; { return (getOneReg (taskId, D4)); }int d5 (taskId) int taskId; { return (getOneReg (taskId, D5)); }int d6 (taskId) int taskId; { return (getOneReg (taskId, D6)); }int d7 (taskId) int taskId; { return (getOneReg (taskId, D7)); }/********************************************************************************* sr - return the contents of the status register (MC680x0, SH)** This command extracts the contents of the status register from the TCB of a* specified task.  If <taskId> is omitted or zero, the last task referenced is* assumed.** RETURNS: The contents of the status register.** SEE ALSO:* .pG "Target Shell"*/int sr    (    int taskId		/* task ID, 0 means default task */    )    {    return (getOneReg (taskId, SR));    }/* dbgArchLib.c - SPARC-dependent debugger library */  /* Copyright 1984-1995 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01i,10feb95,jdi  doc cleanup for 5.2.01i,13feb93,jdi  documentation cleanup for 5.1; created discrete entries for<                register routines.01h,09feb92,yao  pulled in register show routines from 5.0.01g,15oct92,jwt  cleaned up ANSI compiler warnings.01f,01oct92,yao  removed redundant delcaration for _dbgStepAdd().		 changed to pass pointer to information and registers		 saved on stack to _dbgStepAdd().01e,23aug92,jcf  changed filename.01d,15jul92,jwt  moved fsrShow() to dbgSparcLib.c - scalable kernel.01c,06jul92,yao  removed dbgArchCacheClear(). made user uncallable globals		 started with '_'.01b,03jul92,jwt  converted to 5.1 cache library support; cleanup;                 added more Fujitsu chips to psrShow().01a,18jun92,yao  written based on sparc/dbgLib.c ver2f.*//*DESCRIPTIONThis module provides the SPARC specific support functions for dbgLib.NOMANUAL*/#include "vxWorks.h"#include "private/dbgLibP.h"#include "taskLib.h"#include "fppLib.h"#include "taskArchLib.h"#include "intLib.h"#include "regs.h"#include "arch/sparc/psl.h"#include "iv.h"#include "cacheLib.h"#include "ioLib.h"#include "dsmLib.h"#include "vxLib.h"#include "stdio.h"#include "usrLib.h"LOCAL void fsrExcShow ();void fsrShow ();/* interrupt driver routines from dbgALib.s */IMPORT dbgBpStub ();		/* breakpoint interrupt driver */IMPORT int dsmNbytes ();IMPORT int dsmInst ();/* globals */char * _archHelp_msg =    "i0-i7,l0-l7,o0-o7,g1-g7,\n"    "pc,npc,psr,wim,y  [task]        Display a register of a task\n"    "psrShow   value                 Display meaning of psr value\n";LOCAL oldIntLevel;		/* old interrupt level *//********************************************************************************* _dbgArchInit - architecture dependent initialization routine** This routine initialize global function pointers that are architecture * specific.** RETURNS: N/A** NOMANUAL*/void _dbgArchInit (void)    {    _dbgDsmInstRtn = (FUNCPTR) dsmInst;    }/********************************************************************************* _dbgVecInit - insert new breakpoint and trace vectors** RETURNS: N/A** NOMANUAL*/void _dbgVecInit (void)        {    /* insert the new breakpoint and trace vectors */    intVecSet ((FUNCPTR *) TRAPNUM_TO_IVEC (DBG_TRAP_NUM), (FUNCPTR) dbgBpStub);    }/********************************************************************************* _dbgInstSizeGet - set up breakpoint instruction** RETURNS: size of the instruction at specified location.** NOMANUAL*/int _dbgInstSizeGet    (    INSTR * pBrkInst		/* pointer to hold breakpoint instruction */    )    {    return ((2 * sizeof (INSTR)) / sizeof (INSTR));    }/********************************************************************************* _dbgRetAdrsGet - get return address for current routine** RETURNS: return address for current routine.** NOMANUAL*/INSTR * _dbgRetAdrsGet    (    REG_SET * pRegSet		/* pointer to register set */    )    {    int* sp = (int *) pRegSet->spReg;    if (INST_CMP (I7_CONTENTS (sp), INST_CALL, INST_CALL_MASK) || 	INST_CMP (I7_CONTENTS (sp), JMPL_o7, JMPL_o7_MASK))	{        return ((INSTR *) (I7_CONTENTS(sp) + 2));	}    else	return (NULL);    }/********************************************************************************* _dbgTraceDisable - disable trace mode** Since trace mode is not supported on SPARC, this routine does nothing.** NOMANUAL*/void _dbgTraceDisable (void)    {    }/********************************************************************************* _dbgTaskBPModeClear - clear breakpoint enable mode** NOMANUAL*/void _dbgTaskBPModeClear     (    int tid	/* task id */    )    {    /* THIS ROUTINE MUST BE USED IN PAIR WITH dbgTaskBPModeSet. */    oldIntLevel = intLock ();    }/********************************************************************************* _dbgSStepClear - clear single step mode** RETURNS: N/A** NOMANUAL*/void _dbgSStepClear (void)    {    }/********************************************************************************* _dbgSStepSet - set single step mode** RETURNS: N/A** NOMANUAL*/void _dbgSStepSet     (    BREAK_ESF * pInfo		/* pointer to info saved on stack */    )    {    int tid = taskIdSelf ();    _dbgStepAdd  (tid, BRK_TEMP, NULL, NULL);    }/******************************************************************************** _dbgTaskSStepSet - set single step mode of task** RETURNS: N/A** NOMANUAL*/void _dbgTaskSStepSet    (    int tid		/* task's id */    )    {    }/******************************************************************************** _dbgTaskBPModeSet - set breakpoint mode of task** RETURNS: N/A** NOMANUAL*/void _dbgTaskBPModeSet     (    int tid		/* task's id */    )    {    /* THIS ROUTINE MUST BE USED IN PAIR WITH dbgTaskBPModeClear. */    intUnlock (oldIntLevel);    }/********************************************************************************* _dbgFuncCallCheck - check next instruction** This routine checks to see if the next instruction is a JSR or BSR.* If it is, it returns TRUE, otherwise, returns FALSE.** RETURNS: TRUE if next instruction is JSR or BSR, or FALSE otherwise.** NOMANUAL*/BOOL _dbgFuncCallCheck    (    INSTR * addr		/* pointer to instruction */    )    {    return (INST_CMP (addr, INST_CALL, INST_CALL_MASK) || 	    INST_CMP (addr, JMPL_o7, JMPL_o7_MASK));    }/********************************************************************************* _dbgRegsAdjust - set register set** RETURNS: N/A** NOMANUAL*/void _dbgRegsAdjust    (    FAST int 	tid,		/* id of task that hit breakpoint */    TRACE_ESF *	pInfo,		/* pointer to esf info saved on stack */    int * 	pRegs,		/* pointer to buf containing saved regs */    BOOL 	stepBreakFlag	/* TRUE if this was a trace exception */				/* FALSE if this was a SO or CRET breakpoint */    )    {    REG_SET regSet;    int ix;    ESF * pESF = (ESF *) pRegs;    for (ix = 0; ix < 8; ++ix)	regSet.global [ix] = pESF->esf.global[ix];    for (ix =0; ix < 8; ++ix)	regSet.out [ix] = pESF->esf.out[ix];    for (ix =0; ix < 8; ++ix)	regSet.local [ix] = pESF->esf.local[ix];    for (ix =0; ix < 8; ++ix)	regSet.in [ix] = pESF->esf.in[ix];    regSet.pc  = pESF->esf.pc;    regSet.npc = pESF->esf.npc;    regSet.psr = pESF->esf.psr;    regSet.wim = pESF->esf.wim;    regSet.tbr = pESF->esf.tbr;    regSet.y   = pESF->esf.y;    taskRegsSet (tid, &regSet);    }/********************************************************************************* _dbgIntrInfoSave - restore register set** RETURNS: N/A** NOMANUAL*/void _dbgIntrInfoSave    (    BREAK_ESF *	pInfo		/* pointer to info saved on stack */    )    {    /* does nothing */    }/******************************************************************************** _dbgIntrInfoRestore - restore the info saved by dbgIntrInfoSave** NOMANUAL*/void _dbgIntrInfoRestore    (    TRACE_ESF *  pInfo		/* pointer to execption frame */    )    {    /* does nothing */    }/********************************************************************************* _dbgInfoPCGet - get pc from stack** RETURNS: value of pc saved on stack** NOMANUAL*/INSTR * _dbgInfoPCGet    (    BREAK_ESF * pInfo		/* pointer to info saved on stack */    )    {    return (pInfo->pc);    }/********************************************************************************* _dbgTaskPCSet - set task's pc** RETURNS: N/A** NOMANUAL*/void _dbgTaskPCSet    (    int     tid,		/* task id */    INSTR * pc,			/* task's pc */    INSTR * npc			/* task's npc */    )    {    REG_SET regSet;		/* task's register set */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人性生交大片免费看在线播放 | 免费视频最近日韩| 激情六月婷婷综合| 欧美综合一区二区| 欧美国产禁国产网站cc| 日韩va亚洲va欧美va久久| 色综合久久88色综合天天免费| 日韩精品一区二区三区中文精品| 亚洲另类色综合网站| 国产 欧美在线| 欧美精品一区二区三区四区 | 国产精品污www在线观看| 蜜臀久久99精品久久久久久9| 色婷婷综合久久久中文字幕| 国产精品国产三级国产aⅴ无密码| 精品一区中文字幕| 日韩亚洲欧美在线| 免费观看一级特黄欧美大片| 欧美精品久久天天躁| 亚洲国产中文字幕| 欧美性猛交xxxxxx富婆| 亚洲老妇xxxxxx| 在线看不卡av| 亚洲亚洲人成综合网络| 欧美日韩一区二区三区高清| 一区二区三区精品久久久| 色综合久久久久综合体桃花网| 亚洲欧洲三级电影| 色综合久久久久综合体| 亚洲综合另类小说| 欧美日韩一区二区在线观看视频| 一区二区久久久久| 欧美三级日韩在线| 日本美女一区二区三区| 日韩亚洲欧美中文三级| 久久99国产精品久久| 久久综合九色欧美综合狠狠| 国产美女娇喘av呻吟久久| 国产欧美一区二区精品久导航 | 国产精品毛片a∨一区二区三区| 国产99久久久精品| 成人免费在线观看入口| 色综合久久中文字幕综合网| 亚洲国产精品视频| 日韩欧美久久久| 粉嫩欧美一区二区三区高清影视 | 国产日韩欧美一区二区三区综合| 国产成人av福利| 亚洲欧美一区二区三区孕妇| 在线精品视频免费观看| 老司机午夜精品| 国产精品嫩草久久久久| 欧美系列一区二区| 久久av中文字幕片| 亚洲欧洲日韩女同| 日韩一区二区视频| 成人黄色av电影| 五月婷婷久久丁香| 久久综合色鬼综合色| 99vv1com这只有精品| 日韩高清在线不卡| 国产欧美一区二区在线| 欧美色视频在线| 国产乱理伦片在线观看夜一区| 国产精品传媒视频| 日韩丝袜情趣美女图片| 99国内精品久久| 精品在线观看视频| 一级精品视频在线观看宜春院| 欧美大黄免费观看| 在线观看三级视频欧美| 国产一区不卡在线| 亚洲777理论| 国产精品国产三级国产aⅴ入口| 欧美视频中文一区二区三区在线观看| 老汉av免费一区二区三区| 亚洲免费伊人电影| 国产亚洲va综合人人澡精品| 欧美亚洲一区二区在线观看| 国产激情一区二区三区桃花岛亚洲| 亚洲精选视频免费看| 久久精品一区二区三区av| 7777精品伊人久久久大香线蕉超级流畅 | 激情文学综合插| 亚洲高清久久久| 国产精品视频看| 精品成a人在线观看| 欧美日韩国产高清一区二区三区| 成人免费毛片嘿嘿连载视频| 美女在线视频一区| 日韩电影在线免费观看| 一区二区三区成人| 国产精品不卡一区二区三区| 精品蜜桃在线看| 欧美一区二区三区四区高清| 精品视频在线免费观看| 一本一道久久a久久精品| 国产99精品在线观看| 国模娜娜一区二区三区| 美女国产一区二区| 免费一级欧美片在线观看| 午夜精彩视频在线观看不卡| 一区二区三区欧美日| 亚洲人亚洲人成电影网站色| 欧美国产激情二区三区 | 91精品国产色综合久久不卡蜜臀 | 水野朝阳av一区二区三区| 亚洲精品免费视频| 亚洲黄色小说网站| 亚洲综合色成人| 亚洲午夜精品一区二区三区他趣| 亚洲欧美一区二区三区国产精品| 中文字幕一区二区5566日韩| 中文字幕在线不卡| 成人免费小视频| 亚洲欧美一区二区三区久本道91| 亚洲人成人一区二区在线观看| 国产精品久久久久久久午夜片| 亚洲国产成人午夜在线一区| 日本一区二区久久| 1000部国产精品成人观看| 亚洲精选一二三| 午夜久久久久久久久久一区二区| 三级成人在线视频| 加勒比av一区二区| 岛国一区二区在线观看| www.av精品| 欧美日韩免费电影| 日韩午夜激情av| 欧美国产激情一区二区三区蜜月| 国产精品毛片久久久久久| 亚洲女同一区二区| 五月天丁香久久| 久久99精品久久久| 成人精品视频一区二区三区尤物| 91一区二区在线| 欧美性大战久久| 精品久久人人做人人爽| 中文字幕欧美日韩一区| 亚洲一区二区中文在线| 捆绑变态av一区二区三区| 成人免费毛片片v| 欧美日韩不卡一区二区| 久久综合色鬼综合色| 一个色妞综合视频在线观看| 毛片av一区二区| 色中色一区二区| 日韩欧美国产午夜精品| 国产精品高潮久久久久无| 日韩av一二三| 成人国产在线观看| 91精品在线免费观看| 国产精品嫩草影院com| 成人av午夜影院| 欧美日韩成人综合在线一区二区| 国产视频一区二区三区在线观看| 亚洲国产日韩a在线播放| 国产精品12区| 日韩一卡二卡三卡四卡| 亚洲精品国产精品乱码不99| 国产一区二区福利视频| 欧美久久一二区| 亚洲日本va在线观看| 国产一区二区三区久久久| 欧美伊人久久久久久久久影院 | 亚洲高清不卡在线| 波多野结衣中文字幕一区二区三区| 欧美精品aⅴ在线视频| 亚洲欧美综合在线精品| 国产精品综合一区二区三区| 欧美日韩中文国产| 亚洲乱码国产乱码精品精98午夜| 国产乱码精品一区二区三区av| 91麻豆精品国产| 亚洲午夜影视影院在线观看| 99精品一区二区三区| 国产欧美日韩久久| 国产一区二区免费看| 91精品国产综合久久香蕉的特点| 一区二区三区中文在线| 成人av资源在线| 中文字幕精品综合| 国内精品国产成人| 欧美电影免费观看高清完整版| 亚洲国产综合在线| 欧洲国内综合视频| 一个色妞综合视频在线观看| 99久久夜色精品国产网站| 国产精品私房写真福利视频| 国产激情视频一区二区在线观看| 日韩女优av电影在线观看| 日本欧美一区二区三区乱码| 777午夜精品免费视频| 日产国产欧美视频一区精品| 欧美三级在线看| 日本女优在线视频一区二区| 精品少妇一区二区三区 | 国产亚洲欧美日韩日本| 国产精品一级在线| 久久午夜色播影院免费高清|