02111-1307, USA. */
/*@1@*/
+// prj
+#include "utils.h"
+
// sim
#include "itsrccl.h"
int
cl_interrupt::init(void)
{
- class cl_mem *sfr;
-
- sfr= uc->mem(MEM_SFR);
+ sfr= uc->address_space(MEM_SFR_ID);
if (sfr)
{
//sfr->register_hw(IE, this, 0);
}
void
-cl_interrupt::write(class cl_cell *cell, t_mem *val)
+cl_interrupt::write(class cl_memory_cell *cell, t_mem *val)
{
if (cell == cell_tcon)
{
}
/*void
-cl_interrupt::mem_cell_changed(class cl_mem *mem, t_addr addr)
+cl_interrupt::mem_cell_changed(class cl_m *mem, t_addr addr)
{
}*/
void
cl_interrupt::print_info(class cl_console *con)
{
- int ie= uc->get_mem(MEM_SFR, IE);
+ int ie= sfr->get(IE);
int i;
con->dd_printf("Interrupts are %s. Interrupt sources:\n",
con->dd_printf(" %-3s", (ie&(is->ie_mask))?"en":"dis");
con->dd_printf(" %2d", uc->it_priority(is->ie_mask));
con->dd_printf(" %-3s",
- (uc->get_mem(MEM_SFR, is->src_reg)&(is->src_mask))?
+ (sfr->get(is->src_reg)&(is->src_mask))?
"YES":"no");
con->dd_printf(" %-3s", (is->active)?"act":"no");
- con->dd_printf(" %s", is->name);
+ con->dd_printf(" %s", object_name(is));
con->dd_printf("\n");
}
con->dd_printf("Active interrupt service(s):\n");
con->dd_printf(" %2d", il->level);
con->dd_printf(" 0x%06x", il->addr);
con->dd_printf(" 0x%06x", il->PC);
- con->dd_printf(" %s", (il->source)?(il->source->name):"nothing");
+ con->dd_printf(" %s", (il->source)?(object_name(il->source)):
+ "nothing");
con->dd_printf("\n");
}
}