rpicsim 0.4.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +3 -1
- data/Introduction.md +1 -3
- data/README.md +1 -3
- data/docs/ChangeLog.md +13 -0
- data/docs/KnownIssues.md +2 -2
- data/docs/Manual.md +0 -1
- data/docs/RSpecIntegration.md +24 -1
- data/docs/SupportedMPLABXVersions.md +2 -0
- data/lib/rpicsim.rb +6 -1
- data/lib/rpicsim/composite_memory.rb +3 -0
- data/lib/rpicsim/flaws.rb +28 -4
- data/lib/rpicsim/label.rb +7 -0
- data/lib/rpicsim/memory.rb +4 -0
- data/lib/rpicsim/memory_watcher.rb +11 -4
- data/lib/rpicsim/mplab.rb +1 -0
- data/lib/rpicsim/mplab/mplab_assembly.rb +0 -1
- data/lib/rpicsim/pin.rb +7 -0
- data/lib/rpicsim/program_counter.rb +4 -0
- data/lib/rpicsim/program_file.rb +20 -17
- data/lib/rpicsim/rspec.rb +6 -3
- data/lib/rpicsim/rspec/helpers.rb +13 -5
- data/lib/rpicsim/rspec/persistent_expectations.rb +5 -3
- data/lib/rpicsim/rspec/sim_diagnostics.rb +1 -0
- data/lib/rpicsim/sim.rb +8 -3
- data/lib/rpicsim/stack_pointer.rb +6 -0
- data/lib/rpicsim/stack_trace.rb +32 -1
- data/lib/rpicsim/storage/memory_integer.rb +1 -0
- data/lib/rpicsim/symbol_set.rb +3 -1
- data/lib/rpicsim/variable.rb +14 -0
- data/lib/rpicsim/variable_set.rb +2 -0
- data/lib/rpicsim/version.rb +4 -1
- data/lib/rpicsim/xc8_sym_file.rb +63 -11
- metadata +2 -7
- data/docs/PreventingCallStackOverflow.md +0 -92
- data/lib/rpicsim/call_stack_info.rb +0 -303
- data/lib/rpicsim/instruction.rb +0 -337
- data/lib/rpicsim/mplab/mplab_disassembler.rb +0 -20
- data/lib/rpicsim/search.rb +0 -20
@@ -1,20 +0,0 @@
|
|
1
|
-
require_relative 'mplab_instruction'
|
2
|
-
|
3
|
-
module RPicSim::Mplab
|
4
|
-
class MplabDisassembler
|
5
|
-
# @param disasm [com.microchip.mplab.mdbcore.disasm.DisAsm]
|
6
|
-
def initialize(disasm)
|
7
|
-
@disasm = disasm
|
8
|
-
end
|
9
|
-
|
10
|
-
def disassemble(address)
|
11
|
-
begin
|
12
|
-
instr = @disasm.Disassemble(address, nil, nil)
|
13
|
-
rescue Java::ComMicrochipMplabMdbcoreDisasm::InvalidInstructionException
|
14
|
-
# The instruction is invalid.
|
15
|
-
return :invalid
|
16
|
-
end
|
17
|
-
MplabInstruction.new instr
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
data/lib/rpicsim/search.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
module RPicSim
|
2
|
-
module Search
|
3
|
-
# Performs a depth first search.
|
4
|
-
# No measures are taken to avoid processing the same node multiple
|
5
|
-
# times, so this is only suitable for acyclic graphs.
|
6
|
-
# Every time a node is processed, it will be yielded as the first
|
7
|
-
# and only argument to the block.
|
8
|
-
#
|
9
|
-
# This is used by {CallStackInfo#code_paths} to search the instruction
|
10
|
-
# graph backwards in order to find code_paths for a given instruction.
|
11
|
-
def self.depth_first_search_simple(root_nodes)
|
12
|
-
unprocessed_nodes = root_nodes.reverse
|
13
|
-
until unprocessed_nodes.empty?
|
14
|
-
node = unprocessed_nodes.pop
|
15
|
-
nodes = yield node
|
16
|
-
unprocessed_nodes.concat(nodes.reverse)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|