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

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

?? isa_desc

?? linux下基于c++的處理器仿真平臺。具有處理器流水線
??
?? 第 1 頁 / 共 5 頁
字號:
#ifdef SS_COMPATIBLE_DISASSEMBLY	if (_numDestRegs == 0) {	    printReg(ss, 31);	    ss << ",";	}#endif	if (_numDestRegs > 0) {	    printReg(ss, _destRegIdx[0]);	    ss << ",";	}	ccprintf(ss, "(r%d)", RB);	return ss.str();    }}};def template JumpOrBranchDecode {{    return (RA == 31)	? (StaticInst<AlphaISA> *)new %(class_name)s(machInst)	: (StaticInst<AlphaISA> *)new %(class_name)sAndLink(machInst);}};def format CondBranch(code) {{    code = 'bool cond;\n' + code + '\nif (cond) NPC = NPC + disp;\n';    iop = InstObjParams(name, Name, 'Branch', CodeBlock(code),			('IsDirectControl', 'IsCondControl'))    header_output = BasicDeclare.subst(iop)    decoder_output = BasicConstructor.subst(iop)    decode_block = BasicDecode.subst(iop)    exec_output = BasicExecute.subst(iop)}};let {{def UncondCtrlBase(name, Name, base_class, npc_expr, flags):    # Declare basic control transfer w/o link (i.e. link reg is R31)    nolink_code = 'NPC = %s;\n' % npc_expr    nolink_iop = InstObjParams(name, Name, base_class,                               CodeBlock(nolink_code), flags)    header_output = BasicDeclare.subst(nolink_iop)    decoder_output = BasicConstructor.subst(nolink_iop)    exec_output = BasicExecute.subst(nolink_iop)    # Generate declaration of '*AndLink' version, append to decls    link_code = 'Ra = NPC & ~3;\n' + nolink_code    link_iop = InstObjParams(name, Name + 'AndLink', base_class,                             CodeBlock(link_code), flags)    header_output += BasicDeclare.subst(link_iop)    decoder_output += BasicConstructor.subst(link_iop)    exec_output += BasicExecute.subst(link_iop)    # need to use link_iop for the decode template since it is expecting    # the shorter version of class_name (w/o "AndLink")    return (header_output, decoder_output,            JumpOrBranchDecode.subst(nolink_iop), exec_output)}};def format UncondBranch(*flags) {{    flags += ('IsUncondControl', 'IsDirectControl')    (header_output, decoder_output, decode_block, exec_output) = \        UncondCtrlBase(name, Name, 'Branch', 'NPC + disp', flags)}};def format Jump(*flags) {{    flags += ('IsUncondControl', 'IsIndirectControl')    (header_output, decoder_output, decode_block, exec_output) = \        UncondCtrlBase(name, Name, 'Jump', '(Rb & ~3) | (NPC & 1)', flags)}};//////////////////////////////////////////////////////////////////////// PAL calls//output header {{    /**     * Base class for emulated call_pal calls (used only in     * non-full-system mode).     */    class EmulatedCallPal : public AlphaStaticInst    {      protected:	/// Constructor.	EmulatedCallPal(const char *mnem, MachInst _machInst,			OpClass __opClass)	    : AlphaStaticInst(mnem, _machInst, __opClass)	{	}	std::string	generateDisassembly(Addr pc, const SymbolTable *symtab) const;    };}};output decoder {{    std::string    EmulatedCallPal::generateDisassembly(Addr pc,					 const SymbolTable *symtab) const    {#ifdef SS_COMPATIBLE_DISASSEMBLY	return csprintf("%s %s", "call_pal", mnemonic);#else	return csprintf("%-10s %s", "call_pal", mnemonic);#endif    }}};def format EmulatedCallPal(code, *flags) {{    iop = InstObjParams(name, Name, 'EmulatedCallPal', CodeBlock(code), flags)    header_output = BasicDeclare.subst(iop)    decoder_output = BasicConstructor.subst(iop)    decode_block = BasicDecode.subst(iop)    exec_output = BasicExecute.subst(iop)}};output header {{    /**     * Base class for full-system-mode call_pal instructions.     * Probably could turn this into a leaf class and get rid of the     * parser template.     */    class CallPalBase : public AlphaStaticInst    {      protected:	int palFunc;	///< Function code part of instruction	int palOffset;	///< Target PC, offset from IPR_PAL_BASE	bool palValid;	///< is the function code valid?	bool palPriv;	///< is this call privileged?	/// Constructor.	CallPalBase(const char *mnem, MachInst _machInst,		    OpClass __opClass);	std::string	generateDisassembly(Addr pc, const SymbolTable *symtab) const;    };}};output decoder {{    inline    CallPalBase::CallPalBase(const char *mnem, MachInst _machInst,			     OpClass __opClass)	: AlphaStaticInst(mnem, _machInst, __opClass),	palFunc(PALFUNC)    {	// From the 21164 HRM (paraphrased):	// Bit 7 of the function code (mask 0x80) indicates	// whether the call is privileged (bit 7 == 0) or	// unprivileged (bit 7 == 1).  The privileged call table	// starts at 0x2000, the unprivielged call table starts at	// 0x3000.  Bits 5-0 (mask 0x3f) are used to calculate the	// offset.	const int palPrivMask = 0x80;	const int palOffsetMask = 0x3f;	// Pal call is invalid unless all other bits are 0	palValid = ((machInst & ~(palPrivMask | palOffsetMask)) == 0);	palPriv = ((machInst & palPrivMask) == 0);	int shortPalFunc = (machInst & palOffsetMask);	// Add 1 to base to set pal-mode bit	palOffset = (palPriv ? 0x2001 : 0x3001) + (shortPalFunc << 6);    }    std::string    CallPalBase::generateDisassembly(Addr pc, const SymbolTable *symtab) const    {	return csprintf("%-10s %#x", "call_pal", palFunc);    }}};def format CallPal(code, *flags) {{    iop = InstObjParams(name, Name, 'CallPalBase', CodeBlock(code), flags)    header_output = BasicDeclare.subst(iop)    decoder_output = BasicConstructor.subst(iop)    decode_block = BasicDecode.subst(iop)    exec_output = BasicExecute.subst(iop)}};//////////////////////////////////////////////////////////////////////// hw_ld, hw_st//output header {{    /**     * Base class for hw_ld and hw_st.     */    class HwLoadStore : public Memory    {      protected:	/// Displacement for EA calculation (signed).	int16_t disp;	/// Constructor	HwLoadStore(const char *mnem, MachInst _machInst, OpClass __opClass,		    StaticInstPtr<AlphaISA> _eaCompPtr = nullStaticInstPtr,		    StaticInstPtr<AlphaISA> _memAccPtr = nullStaticInstPtr);	std::string	generateDisassembly(Addr pc, const SymbolTable *symtab) const;    };}};output decoder {{    inline    HwLoadStore::HwLoadStore(const char *mnem, MachInst _machInst,			     OpClass __opClass,			     StaticInstPtr<AlphaISA> _eaCompPtr,			     StaticInstPtr<AlphaISA> _memAccPtr)	: Memory(mnem, _machInst, __opClass, _eaCompPtr, _memAccPtr),	disp(HW_LDST_DISP)    {	memAccessFlags = 0;	if (HW_LDST_PHYS) memAccessFlags |= PHYSICAL;	if (HW_LDST_ALT)  memAccessFlags |= ALTMODE;	if (HW_LDST_VPTE) memAccessFlags |= VPTE;	if (HW_LDST_LOCK) memAccessFlags |= LOCKED;    }    std::string    HwLoadStore::generateDisassembly(Addr pc, const SymbolTable *symtab) const    {#ifdef SS_COMPATIBLE_DISASSEMBLY	return csprintf("%-10s r%d,%d(r%d)", mnemonic, RA, disp, RB);#else	// HW_LDST_LOCK and HW_LDST_COND are the same bit.	const char *lock_str =	    (HW_LDST_LOCK) ? (flags[IsLoad] ? ",LOCK" : ",COND") : "";	return csprintf("%-10s r%d,%d(r%d)%s%s%s%s%s",			mnemonic, RA, disp, RB,			HW_LDST_PHYS ? ",PHYS" : "",			HW_LDST_ALT ? ",ALT" : "",			HW_LDST_QUAD ? ",QUAD" : "",			HW_LDST_VPTE ? ",VPTE" : "",			lock_str);#endif    }}};def format HwLoadStore(ea_code, memacc_code, class_ext, *flags) {{    (header_output, decoder_output, decode_block, exec_output) = \        LoadStoreBase(name, Name + class_ext, ea_code, memacc_code,		      flags = flags, base_class = 'HwLoadStore')}};def format HwStoreCond(ea_code, memacc_code, postacc_code, class_ext, *flags) {{    (header_output, decoder_output, decode_block, exec_output) = \        LoadStoreBase(name, Name + class_ext, ea_code, memacc_code,		      postacc_code, flags = flags, base_class = 'HwLoadStore')}};output header {{    /**     * Base class for hw_mfpr and hw_mtpr.     */    class HwMoveIPR : public AlphaStaticInst    {      protected:	/// Index of internal processor register.	int ipr_index;	/// Constructor	HwMoveIPR(const char *mnem, MachInst _machInst, OpClass __opClass)	    : AlphaStaticInst(mnem, _machInst, __opClass),	      ipr_index(HW_IPR_IDX)	{	}	std::string	generateDisassembly(Addr pc, const SymbolTable *symtab) const;    };}};output decoder {{    std::string    HwMoveIPR::generateDisassembly(Addr pc, const SymbolTable *symtab) const    {	if (_numSrcRegs > 0) {	    // must be mtpr	    return csprintf("%-10s r%d,IPR(%#x)",			    mnemonic, RA, ipr_index);	}	else {	    // must be mfpr	    return csprintf("%-10s IPR(%#x),r%d",			    mnemonic, ipr_index, RA);	}    }}};def format HwMoveIPR(code) {{    iop = InstObjParams(name, Name, 'HwMoveIPR', CodeBlock(code),			['IprAccessOp'])    header_output = BasicDeclare.subst(iop)    decoder_output = BasicConstructor.subst(iop)    decode_block = BasicDecode.subst(iop)    exec_output = BasicExecute.subst(iop)}};//////////////////////////////////////////////////////////////////////// Unimplemented instructions//output header {{    /**     * Static instruction class for unimplemented instructions that     * cause simulator termination.  Note that these are recognized     * (legal) instructions that the simulator does not support; the     * 'Unknown' class is used for unrecognized/illegal instructions.     * This is a leaf class.     */    class FailUnimplemented : public AlphaStaticInst    {      public:	/// Constructor	FailUnimplemented(const char *_mnemonic, MachInst _machInst)	    : AlphaStaticInst(_mnemonic, _machInst, No_OpClass)	{	    // don't call execute() (which panics) if we're on a	    // speculative path	    flags[IsNonSpeculative] = true;	}	%(BasicExecDeclare)s	std::string	generateDisassembly(Addr pc, const SymbolTable *symtab) const;    };    /**     * Base class for unimplemented instructions that cause a warning     * to be printed (but do not terminate simulation).  This     * implementation is a little screwy in that it will print a     * warning for each instance of a particular unimplemented machine     * instruction, not just for each unimplemented opcode.  Should     * probably make the 'warned' flag a static member of the derived     * class.     */    class WarnUnimplemented : public AlphaStaticInst    {      private:	/// Have we warned on this instruction yet?	mutable bool warned;      public:	/// Constructor	WarnUnimplemented(const char *_mnemonic, MachInst _machInst)	    : AlphaStaticInst(_mnemonic, _machInst, No_OpClass), warned(false)	{	    // don't call execute() (which panics) if we're on a	    // speculative path	    flags[IsNonSpeculative] = true;	}	%(BasicExecDeclare)s	std::string	generateDisassembly(Addr pc, const SymbolTable *symtab) const;    };}};output decoder {{    std::string    FailUnimplemented::generateDisassembly(Addr pc,					   const SymbolTable *symtab) const    {	return csprintf("%-10s (unimplemented)", mnemonic);    }    std::string    WarnUnimplemented::generateDisassembly(Addr pc,					   const SymbolTable *symtab) const    {#ifdef SS_COMPATIBLE_DISASSEMBLY	return csprintf("%-10s", mnemonic);#else	return csprintf("%-10s (unimplemented)", mnemonic);#endif    }}};output exec {{    Fault    FailUnimplemented::execute(%(CPU_exec_context)s *xc,			       Trace::InstRecord *traceData) const    {	panic("attempt to execute unimplemented instruction '%s' "	      "(inst 0x%08x, opcode 0x%x)", mnemonic, machInst, OPCODE);	return Unimplemented_Opcode_Fault;    }    Fault    WarnUnimplemented::execute(%(CPU_exec_context)s *xc,			       Trace::InstRecord *traceData) const    {	if (!warned) {	    warn("instruction '%s' unimplemented\n", mnemonic);	    warned = true;	}	return No_Fault;    }}};def format FailUnimpl() {{    iop = InstObjParams(name, 'FailUnimplemented')    decode_block = BasicDecodeWithMnemonic.subst(iop)}};def format WarnUnimpl() {{    iop = InstObjParams(name, 'WarnUnimplemented')    decode_block = BasicDecodeWithMnemonic.subst(iop)}};output header {{    /**     * Static instruction class for unknown (illegal) instructions.     * These cause simulator termination if they are executed in a     * non-speculative mode.  This is a leaf class.     */    class Unknown : public AlphaStaticInst    {      public:	/// Constructor	Unknown(MachInst _machInst)	    : AlphaStaticInst("unknown", _machInst, No_OpClass)	{	    // don't call execute() (which panics) if we're on a	    // speculative path	    flags[IsNonSpeculative] = true;	}	%(BasicExecDeclare)s	std::string	generateDisassembly(Addr pc, const SymbolTable *symtab) const;    };}};//////////////////////////////////////////////////////////////////////// Unknown instructions//output decoder {{    std::string    Unknown::generateDisassembly(Addr pc, const SymbolTable *symtab) const    {	return csprintf("%-10s (inst 0x%x, opcode 0x%x)",			"unknown", machInst, OPCODE);    }}};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩视频第一区| 亚洲高清久久久| 国产精品538一区二区在线| 欧美一区二区福利在线| 免费视频最近日韩| 久久久精品黄色| 成人av网址在线| 亚洲欧洲综合另类| 欧美色欧美亚洲另类二区| 日韩电影在线免费| 2019国产精品| 91日韩精品一区| 亚洲va国产天堂va久久en| 欧美一区二区视频网站| 国产在线看一区| 中文字幕一区二区在线播放| 欧美自拍偷拍一区| 日本美女一区二区三区视频| 久久亚洲一区二区三区明星换脸| 成人美女视频在线观看18| 亚洲三级电影网站| 日韩片之四级片| 岛国av在线一区| 性感美女极品91精品| 久久亚洲综合色| 欧美日韩中字一区| 国产一区二区三区观看| 亚洲激情av在线| 精品va天堂亚洲国产| 色综合一区二区三区| 日本亚洲三级在线| 日韩一区欧美小说| 欧美成人一级视频| 一本大道久久a久久综合| 麻豆免费精品视频| 亚洲精品成人少妇| 精品久久久久久久人人人人传媒 | 在线观看不卡一区| 韩国理伦片一区二区三区在线播放| 国产精品久久一卡二卡| 91精品国产品国语在线不卡| jiyouzz国产精品久久| 日本少妇一区二区| 亚洲精品福利视频网站| 久久免费国产精品| 欧美剧在线免费观看网站| 成人国产精品免费观看动漫| 免费看日韩a级影片| 亚洲视频在线观看三级| 国产精品白丝在线| 欧美一区二区三区不卡| 欧洲一区在线电影| 成人看片黄a免费看在线| 另类专区欧美蜜桃臀第一页| 一区二区高清视频在线观看| 国产精品久久看| 久久美女艺术照精彩视频福利播放| 欧美日韩国产美| 色综合久久中文字幕综合网| 国产suv精品一区二区三区| 美女脱光内衣内裤视频久久网站 | 久久久久久久国产精品影院| 在线成人高清不卡| 欧美视频一区二区三区四区| 99久久精品99国产精品| 高清国产一区二区| 国产精品自拍av| 激情综合网最新| 成人免费视频视频| 国产在线精品国自产拍免费| 免费在线视频一区| 日本亚洲最大的色成网站www| 亚洲成人精品影院| 亚洲国产精品久久久久婷婷884| 自拍偷拍亚洲欧美日韩| 国产精品免费视频观看| 欧美极品xxx| 国产精品美女一区二区在线观看| 国产亚洲女人久久久久毛片| 久久综合av免费| 日本一区二区三区免费乱视频| 久久午夜老司机| 久久综合精品国产一区二区三区 | 欧美日韩在线三区| 欧美影片第一页| 欧美色精品在线视频| 欧美精品一二三四| 日韩三级av在线播放| 精品乱人伦一区二区三区| 精品美女被调教视频大全网站| 2024国产精品视频| 日本一区免费视频| 一区在线观看免费| 一区二区三区精品| 五月天激情综合| 蜜桃av一区二区三区电影| 久久精品免费观看| 福利一区二区在线| 一本色道综合亚洲| 欧美理论片在线| 日韩欧美一区二区三区在线| 久久综合成人精品亚洲另类欧美 | 亚洲欧美一区二区三区国产精品| 一区二区久久久久| 男男成人高潮片免费网站| 国产激情视频一区二区在线观看| av一区二区三区| 欧美高清视频一二三区| 久久天堂av综合合色蜜桃网| 18成人在线观看| 日韩成人伦理电影在线观看| 国产一区二区在线观看视频| 99re这里只有精品首页| 538prom精品视频线放| 久久女同精品一区二区| 亚洲女人****多毛耸耸8| 日韩激情视频网站| 成人深夜视频在线观看| 欧美日韩国产一区二区三区地区| 精品国产在天天线2019| 一区二区三区资源| 精品亚洲成av人在线观看| 91蝌蚪国产九色| 2022国产精品视频| 一区二区三区在线影院| 久久成人久久鬼色| 色婷婷精品久久二区二区蜜臂av | 亚洲午夜影视影院在线观看| 久久国产日韩欧美精品| 一本到一区二区三区| 久久综合丝袜日本网| 亚洲一区二区五区| 粉嫩在线一区二区三区视频| 4438x亚洲最大成人网| 国产精品电影一区二区| 久久99精品久久久久久动态图 | 日本一区二区免费在线| 五月激情综合婷婷| 色综合视频在线观看| 久久久影视传媒| 美女一区二区在线观看| 91国偷自产一区二区三区成为亚洲经典 | va亚洲va日韩不卡在线观看| 欧美一区二区三区视频在线观看| 国产精品二三区| 国产精品91xxx| 日韩精品一区二区在线| 午夜精品久久久久久久99水蜜桃 | 亚洲免费观看高清| 国产馆精品极品| 精品少妇一区二区三区视频免付费 | 日韩综合一区二区| 色系网站成人免费| 中文字幕字幕中文在线中不卡视频| 极品少妇一区二区| 日韩精品一区二区在线观看| 午夜精品久久久久影视| 日本电影亚洲天堂一区| 中文字幕亚洲不卡| av亚洲精华国产精华| 国产日韩精品一区二区三区| 国产综合一区二区| 日韩精品在线一区| 欧美aⅴ一区二区三区视频| 欧美在线观看视频一区二区三区 | 在线一区二区三区四区五区 | 欧美性高清videossexo| 亚洲精品成人少妇| 在线国产电影不卡| 亚洲韩国一区二区三区| 欧美体内she精视频| 午夜精品一区在线观看| 在线观看91精品国产麻豆| 日韩电影免费一区| 91精品久久久久久蜜臀| 麻豆精品视频在线观看视频| 日韩视频国产视频| 国产一区二区精品在线观看| 久久久久久久久久看片| 成人免费毛片aaaaa**| 亚洲日本va在线观看| 91黄色免费版| 五月综合激情网| 精品国产污污免费网站入口| 国产电影精品久久禁18| 国产精品视频麻豆| 色综合久久久久网| 午夜伊人狠狠久久| 精品国产sm最大网站| 国产成a人无v码亚洲福利| 亚洲婷婷国产精品电影人久久| 91久久久免费一区二区| 日韩av一区二区三区四区| 亚洲精品一区二区在线观看| 成人福利在线看| 亚洲线精品一区二区三区八戒| 欧美一三区三区四区免费在线看| 国产一区三区三区| 有码一区二区三区| 欧美大度的电影原声|