size_t hw_table_entries_; /* hardware list maintenance */
size_t hw_table_allocated_; /* hardware list maintenance */
+ unsigned long long cycle_; /* number of cycles this core has executed */
unsigned int skip_ : 1; /* skip execution of next instruction */
unsigned int interrupts_deferred_ : 1; /* queue software interrupts */
unsigned int on_fire_ : 1; /* cpu is on fire */
size_t interrupts_head_; /* interrupt queue maintenance */
size_t interrupts_tail_; /* interrupt queue maintenance */
- unsigned long long cycle; /* number of cycles this core has executed */
DCPU16_WORD reg[DCPU16_REG__NUM]; /* system registers, a b c x y z i j */
DCPU16_WORD ram[DCPU16_RAM]; /* memory */
};
void dcpu16_delete(struct dcpu16 **);
int dcpu16_interrupt(struct dcpu16 *, DCPU16_WORD);
+void dcpu16_cycle_inc(struct dcpu16 *, unsigned int);
/* register callbacks to handle warning and debug messages, default is writing to stderr, may be set to null */
void dcpu16_warn_cb_set(void (*)(char *, ...));