interrupt.cc

来自「一个mips虚拟机非常好代码,使用C++来编写的,希望大家多学学,」· CC 代码 · 共 38 行

CC
38
字号
#include <checkpoint.hh>#include <cpu.hh>#include <inttypes.hh>// An event representing external MIPS interrupts.SerialType<CPU::InterruptEvent> CPU::InterruptEvent::type(    "CPU::InterruptEvent");CPU::InterruptEvent::InterruptEvent(Checkpoint& cp)    : Serializable(cp), Event(cp){    SerialID cid = extract<SerialID>(cp);    cpu = dynamic_cast<CPU *>(find_object(cid));    if (!cpu)	throw Checkpoint::SyntaxError(cp, "%d is not a valid CPU ID",				      UInt32(cid));    num = extract<Int16>(cp);}voidCPU::InterruptEvent::invoke(){    cpu->deliver_interrupt(num);}voidCPU::InterruptEvent::checkpoint(Checkpoint& cp, bool parent) const{    if (parent)	cp << type << ' ' << id << '\n';    Event::checkpoint(cp);    cp << cpu->id << ' ' << num << '\n';}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?