Commit Graph

16 Commits

Author SHA1 Message Date
Daniel Beer 89e6174b9f Show triggered breakpoints (and watchpoints in sim).
The "regs" command indicates when the PC is sitting on an enabled
breakpoint. The simulator emits debug output when a watchpoint is
triggered by a simulated instruction.
2015-12-11 08:38:42 +13:00
Jason K. Smith 7abeef34c3 sim: correct cycle count when using constant generators
When the source register is R2 (SR) or R3 the cycle counts match
register mode for any value of the source-register addressing mode (As).
2014-12-16 10:04:20 +13:00
Daniel Beer ad4e27c1a2 sim: bug fix: @SP+ always increments by 2.
The same rules for PC apply to the stack pointer. Even when byte-mode
instructions are executed, the stack pointer is incremented by a whole
word when using the indirect increment addressing mode.
2013-12-26 16:34:09 +13:00
Daniel Beer 5c1805ff2b JTAG fuse blow: add "blow_jtag_fuse" command.
Support exists for this command on FET-like devices (including Olimex)
and the tilib driver.
2013-12-03 07:27:32 +13:00
Mario Werner 47c0349de2 Fixed DADD implementation.
Implemented DADD as addition of BCD numbers like it is supposed to be.
2013-05-27 09:05:36 +12:00
Mario Werner ef41b1cbab Fixed cycle counts in disassembly.
Fixed the cycle count for single op indirect and autoincrement
addressing.
2013-05-27 09:05:36 +12:00
Mario Werner c141f5e5e1 Fixed symbolic addressing mode
Due to a too early increment of the program counter all symbolic
addressed x(PC) memory accesses have offseted by 2.
2013-05-27 09:05:36 +12:00
Daniel Beer eacf4b8be4 sim: fix PC-relative operand fetch.
Index should be relative to the value of PC after fetching the index
word.
2013-03-26 09:25:33 +13:00
Daniel Beer e9b6a77414 dis/sim: fix handling of opcodes with two indexed operands.
If the source operand is indexed, and the destination is symbolic (PC +
index), then the base for the destination index is the program counter
*after* having fetched the source index.

Also, the addition of the index is done modulo 2^16 if the base points
within the lower 64 kB of memory.
2013-02-11 11:08:43 +13:00
Bruce G. Burns db94eab4b2 Simulator bug fixes.
Fix handling of V flag, and ensure that high byte is discarded for byte
operations.
2013-01-14 16:47:59 +13:00
Daniel Beer 18cf2a561f Separate and clean up break handling.
Ctrl+C handling is done in ctrlc.c, and a break condition now persists
until the interactive reader begins to process the next command. The
condition is cleared by calling ctrlc_clear().
2012-10-09 09:55:48 +13:00
Daniel Beer 09ca20c91c Add support for read and write watchpoints. 2012-04-25 14:10:26 +12:00
Daniel Beer f1e99c38d3 sim: implement watchpoint support. 2012-04-25 13:31:00 +12:00
Daniel Beer a354116441 Watchpoint support (only implemented for tilib driver). 2012-04-25 12:43:14 +12:00
Tamas TEVESZ d98d990752 Kill unused variables
Mark those that are unused but can't be killed accordingly.
2011-11-15 09:26:35 +13:00
Daniel Beer 6ac5c5a618 Restructuring: move drivers into drivers/ 2011-09-14 16:15:37 +12:00
Renamed from sim.c (Browse further)