metasm/cpu/arc/main.rb in metasm-1.0.3 vs metasm/cpu/arc/main.rb in metasm-1.0.4
- old
+ new
@@ -38,11 +38,11 @@
# Interrupt Link Register 1 R29 (ILINK1)
# Interrupt Link Register 2 R30 (ILINK2)
# Branch Link Register R31 (BLINK)
class GPR < Reg
Sym = (0..64).map { |i| "r#{i}".to_sym }
- def symbolic; Sym[@i] end
+ def symbolic(di=nil); Sym[@i] end
Render = {
26 => 'gp', # global pointer, used to point to small sets of shared data throughout execution of a program
27 => 'fp', # frame pointer
28 => 'sp', # stak pointer
@@ -67,11 +67,11 @@
end
end
class AUX < Reg
- def symbolic; "aux#{i}".to_sym end
+ def symbolic(di=nil); "aux#{i}".to_sym end
Render = {
0x00 => 'status', # Status register (Original ARCtangent-A4 processor format)
0x01 => 'semaphore', # Inter-process/Host semaphore register
0x02 => 'lp_start', # Loop start address (32-bit)
@@ -160,11 +160,11 @@
def initialize(base, disp, sz)
@base, @disp, @size = base, disp, sz
end
- def symbolic(orig)
+ def symbolic(di=nil)
b = @base
b = b.symbolic if b.kind_of? Reg
if disp
o = @disp
@@ -172,10 +172,10 @@
e = Expression[b, :+, o].reduce
else
e = Expression[b].reduce
end
- Indirection[e, @size, orig]
+ Indirection[e, @size, (di.address if di)]
end
include Renderable
def render