interrupt.cc

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

CC
51
字号
#include "koala.hh"// Deliver external events. The (events) bitset is consulted synchronously at// appropriate places in the fetch-execute loop.voidKoala::deliver_cold_reset(){    if (trace_level >= report_interrupts)	log("[%lx] Cold reset received", pc);    events |= cold_reset_event;}voidKoala::deliver_soft_reset(){    if (trace_level >= report_interrupts)	log("[%lx] Soft reset received", pc);    events |= soft_reset_event;}voidKoala::deliver_nmi(){    if (trace_level >= report_interrupts)	log("[%lx] NMI reset received", pc);    events |= nmi_event;}voidKoala::deliver_interrupt(unsigned int n){    if (n < 0 || n > 5)	log("[%lx] Invalid interrupt #%d received.", pc, n);    else {	if (trace_level >= report_interrupts)	    log("[%lx] Interrupt #%d received", pc, n);	events |= 1 << (n + Cause_IP2);    }}voidKoala::clear_interrupt(unsigned int n){    if (n < 0 || n > 5)	log("[%lx] Invalid interrupt #%d cleared.", pc, n);    else     	events &= ~(1 << (n + Cause_IP2));}

⌨️ 快捷键说明

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