Commit Graph

19 Commits

Author SHA1 Message Date
Daniel Beer 6740d7d98b simx: MSP430X simulator by Bruce Burns <bgb@alum.mit.edu> 2020-09-05 14:56:37 +12:00
Tadashi G. Takaoka 00fde4a2f2 Fix sim driver and simio_timer
- Fix sim driver so that it can handle two bytes read/write.
- Add error message regarding odd size write to sim driver.
- Fix simio_timer constructor so that can accept size.
- Fix simio_timer so that we read/write channels' registers.
2018-06-29 14:11:41 +09:00
Alex Orange 8a1afe6c91 Add a function to the device struct to handle config fuses.
Also provide a getconfigfuses implementation for the pif based drivers (pif
and gpio).
2017-06-14 13:28:07 -06:00
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)