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

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

?? dbgarchlib.c

?? vxwork源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
** 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一区二区三区免费野_久草精品视频
一区二区视频在线| 国产女同互慰高潮91漫画| 国产精品一区二区三区99| 秋霞国产午夜精品免费视频| 亚洲午夜在线电影| 亚洲午夜三级在线| 天堂久久久久va久久久久| 天天色综合成人网| 美女网站视频久久| 国产一区日韩二区欧美三区| 国产精品自在欧美一区| 国产精品伊人色| 成人高清视频在线| 色丁香久综合在线久综合在线观看| 91丨porny丨蝌蚪视频| 91伊人久久大香线蕉| 欧美亚洲国产一区二区三区va| 日本精品视频一区二区| 欧美群妇大交群中文字幕| 制服丝袜成人动漫| 国产日韩视频一区二区三区| 中文字幕亚洲综合久久菠萝蜜| 一区二区三区在线免费播放| 亚洲va欧美va人人爽| 美日韩一区二区| eeuss鲁片一区二区三区在线观看| 色综合久久综合中文综合网| 欧美群妇大交群的观看方式| 久久久五月婷婷| 亚洲六月丁香色婷婷综合久久 | 国产精品99久久久| 99精品国产视频| 91精品欧美久久久久久动漫 | 亚洲成av人在线观看| 久久99国产精品久久| 99久久精品99国产精品| 在线成人av影院| 中文字幕五月欧美| 老司机精品视频在线| 91视频xxxx| 国产午夜一区二区三区| 亚洲一区二区欧美| 成人免费视频国产在线观看| 欧美一区二区三区影视| 亚洲人成在线观看一区二区| 久久99国产精品免费| 欧美色综合久久| 国产精品国产精品国产专区不片| 日韩精品成人一区二区在线| 91视频在线看| 国产免费成人在线视频| 青青草原综合久久大伊人精品| 99久久国产综合精品女不卡| 亚洲精品一区二区在线观看| 午夜精品一区在线观看| 91影视在线播放| 国产精品的网站| 国产91富婆露脸刺激对白| 日韩一区二区在线免费观看| 亚洲国产一区视频| 99亚偷拍自图区亚洲| 国产三区在线成人av| 老司机精品视频线观看86| 欧美丰满美乳xxx高潮www| 一区二区欧美视频| 色嗨嗨av一区二区三区| 亚洲精品va在线观看| 91在线无精精品入口| 国产精品剧情在线亚洲| 风间由美一区二区三区在线观看 | 成人精品鲁一区一区二区| 欧美精品一区二区三区蜜臀| 久久av老司机精品网站导航| 欧美一区二区在线观看| 久久精品久久综合| 日韩免费一区二区| 激情五月婷婷综合网| 欧美大黄免费观看| 国产自产视频一区二区三区| 精品国产区一区| 国产ts人妖一区二区| 国产精品视频观看| 91看片淫黄大片一级在线观看| ●精品国产综合乱码久久久久| 成人h精品动漫一区二区三区| 国产亚洲成av人在线观看导航 | 91在线看国产| 一区二区三区中文字幕| 欧美男人的天堂一二区| 日韩av中文在线观看| 精品欧美乱码久久久久久1区2区| 精品一区二区三区日韩| 国产三级一区二区| 91福利国产成人精品照片| 偷拍自拍另类欧美| 精品国产一区二区精华| 成人av在线看| 天天影视色香欲综合网老头| 精品捆绑美女sm三区| 成人免费va视频| 亚洲国产精品人人做人人爽| 欧美刺激午夜性久久久久久久| 国产精品69毛片高清亚洲| 亚洲欧美日韩中文播放| 欧美一区二区二区| 成人亚洲一区二区一| 亚洲成av人影院| 国产亚洲一区二区三区四区 | 日韩午夜小视频| 成人综合日日夜夜| 亚洲第一av色| 国产亚洲午夜高清国产拍精品| 色综合天天做天天爱| 久久精品国产99| 一个色综合网站| 国产欧美一区二区在线观看| 在线观看视频欧美| 国产传媒日韩欧美成人| 午夜精品一区二区三区三上悠亚| 国产喷白浆一区二区三区| 91精品国产高清一区二区三区| 国产传媒久久文化传媒| 麻豆成人久久精品二区三区小说| 亚洲视频免费在线观看| 久久人人97超碰com| 欧美日韩亚州综合| 91亚洲精品乱码久久久久久蜜桃| 久久国产精品露脸对白| 亚洲午夜激情网站| 亚洲精品国产无套在线观| 国产三级久久久| 日韩精品一区二区三区在线| 欧美三日本三级三级在线播放| 成人午夜电影小说| 韩国v欧美v亚洲v日本v| 麻豆高清免费国产一区| 午夜a成v人精品| 亚洲sss视频在线视频| 亚洲女同一区二区| 中文字幕制服丝袜一区二区三区 | 亚洲美女淫视频| 久久亚区不卡日本| 精品久久久三级丝袜| 日韩欧美一区二区三区在线| 欧美顶级少妇做爰| 91麻豆精品国产综合久久久久久| 欧美亚洲综合色| 在线欧美日韩国产| 欧美视频在线播放| 欧美日韩国产综合草草| 精品视频1区2区| 欧美日本一区二区三区| 欧美日韩三级在线| 欧美日韩dvd在线观看| 欧美性猛交xxxx乱大交退制版| 欧美亚洲综合色| 欧美剧情片在线观看| 欧美一区二区三区四区久久 | 国产欧美日韩另类一区| 久久这里只有精品6| 国产视频在线观看一区二区三区| 久久婷婷成人综合色| 中文字幕不卡的av| 亚洲欧美偷拍三级| 亚洲欧美另类图片小说| 一区二区三区日韩欧美| 亚洲成a人在线观看| 久久精工是国产品牌吗| 激情伊人五月天久久综合| 丰满岳乱妇一区二区三区| 色8久久精品久久久久久蜜| 欧美最猛黑人xxxxx猛交| 欧美日韩国产色站一区二区三区| 制服丝袜亚洲播放| 久久久久久久久久久久久女国产乱 | 日韩欧美成人激情| 日本一区二区三区在线观看| 亚洲天堂成人在线观看| 五月婷婷另类国产| 国产一区二区成人久久免费影院| 成人性视频免费网站| 欧美日韩高清一区| 国产亚洲自拍一区| 亚洲韩国精品一区| 国产高清久久久| 欧美亚洲日本国产| 国产日韩av一区| 亚洲电影一级片| 国产精品亚洲第一| 欧美三级电影在线看| 久久久噜噜噜久久人人看| 亚洲精品亚洲人成人网在线播放| 麻豆精品精品国产自在97香蕉| 97精品国产97久久久久久久久久久久| 欧美三级在线播放| 国产精品久久久久久久久久久免费看 | 国产精品夫妻自拍| 老鸭窝一区二区久久精品| 成人高清在线视频| 精品成人a区在线观看|