metasm/cpu/msp430/decode.rb in metasm-1.0.3 vs metasm/cpu/msp430/decode.rb in metasm-1.0.4
- old
+ new
@@ -122,14 +122,10 @@
end
di
end
- def backtrace_binding
- @backtrace_binding ||= init_backtrace_binding
- end
-
def init_backtrace_binding
@backtrace_binding ||= {}
opcode_list.map { |ol| ol.name }.uniq.each { |op|
@backtrace_binding[op] ||= case op
@@ -157,11 +153,11 @@
def get_backtrace_binding(di)
a = di.instruction.args.map { |arg|
case arg
when Reg; arg.symbolic
- when Memref; arg.symbolic(di.address)
+ when Memref; arg.symbolic(di)
else arg
end
}
if binding = backtrace_binding[di.opcode.basename]
@@ -190,10 +186,10 @@
# XXX add pc, 42 ?
val = di.instruction.args[0]
case val
when Reg; val = val.symbolic
- when Memref; val = val.symbolic(di.address)
+ when Memref; val = val.symbolic(di)
end
[Expression[val]]
end