diff --git a/src/tinyriscv.h b/src/tinyriscv.h index b2df11f..8d1c1e9 100644 --- a/src/tinyriscv.h +++ b/src/tinyriscv.h @@ -144,8 +144,9 @@ void tinyriscv_init(tinyriscv_core* core){ //////////////////////////////////////////////////////////////////////////////// u8 tinyriscv_valid_step(const tinyriscv_core* core){ + if(core->pc < tinyriscv_MEM_OFFSET) return 0; + if(core->pc + 3 >= core->mem_size + tinyriscv_MEM_OFFSET) return 0; if(!MEM(32, core->mem, core->pc)) return 0; - if(core->pc >= core->mem_size + tinyriscv_MEM_OFFSET) return 0; return 1; }