class Metasm::ARM::Memref
Attributes
base[RW]
incr[RW]
offset[RW]
sign[RW]
Public Class Methods
new(base, offset, sign=:+, incr=nil)
click to toggle source
# File metasm/cpu/arm/main.rb, line 40 def initialize(base, offset, sign=:+, incr=nil) @base, @offset, @sign, @incr = base, offset, sign, incr end
Public Instance Methods
render()
click to toggle source
# File metasm/cpu/arm/render.rb, line 32 def render o = @offset o = Expression[o] if o.kind_of? Integer case @incr when nil; ['[', @base, ', ', o, ']'] when :pre; ['[', @base, ', ', o, ']!'] when :post; ['[', @base, '], ', o] end end
symbolic(di=nil)
click to toggle source
# File metasm/cpu/arm/main.rb, line 44 def symbolic(di=nil) o = @offset o = o.symbolic if o.kind_of? Reg p = Expression[@base.symbolic, @sign, o].reduce Indirection[p, 4, (di.address if di)] end