class Metasm::ARC::Memref

Attributes

base[RW]
disp[RW]

Public Class Methods

new(base, disp, sz) click to toggle source
# File metasm/cpu/arc/main.rb, line 161
def initialize(base, disp, sz)
        @base, @disp, @size = base, disp, sz
end

Public Instance Methods

render() click to toggle source
# File metasm/cpu/arc/main.rb, line 182
def render
        if @disp and @disp != 0
                ['[', @base, ', ', @disp, ']']
        else
                ['[', @base, ']']
        end
end
symbolic(di=nil) click to toggle source
# File metasm/cpu/arc/main.rb, line 165
def symbolic(di=nil)
        b = @base
        b = b.symbolic if b.kind_of? Reg

        if disp
                o = @disp
                o = o.symbolic if o.kind_of? Reg
                e = Expression[b, :+, o].reduce
        else
                e = Expression[b].reduce
        end

        Indirection[e, @size, (di.address if di)]
end