diff options
author | Andrew Waterman <waterman@cs.berkeley.edu> | 2013-09-11 03:12:11 -0700 |
---|---|---|
committer | Andrew Waterman <waterman@cs.berkeley.edu> | 2013-09-11 03:12:11 -0700 |
commit | e07148ac533c318780387b1a27d39e060753cd45 (patch) | |
tree | 065f9330d3722dc8e5c7acfc44ca56a6f5934363 /riscv/interactive.cc | |
parent | 01dab8dbd6dbad38da740d963975b71bf524c39f (diff) | |
download | spike-e07148ac533c318780387b1a27d39e060753cd45.zip spike-e07148ac533c318780387b1a27d39e060753cd45.tar.gz spike-e07148ac533c318780387b1a27d39e060753cd45.tar.bz2 |
Implement zany immediates
Diffstat (limited to 'riscv/interactive.cc')
-rw-r--r-- | riscv/interactive.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/riscv/interactive.cc b/riscv/interactive.cc index 33efcfb..a1b7dd0 100644 --- a/riscv/interactive.cc +++ b/riscv/interactive.cc @@ -258,12 +258,16 @@ void sim_t::interactive_until(const std::string& cmd, const std::vector<std::str while (1) { - reg_t current = (this->*func)(args2); + try + { + reg_t current = (this->*func)(args2); - if (cmd_until == (current == val)) - break; - if (ctrlc_pressed) - break; + if (cmd_until == (current == val)) + break; + if (ctrlc_pressed) + break; + } + catch (trap_t t) {} step(1, false); } |