class Metasm::PowerPC::Memref

indirection : reg+reg or reg+16b_off r0 may mean 0 in some cases (stwx)

Attributes

base[RW]
offset[RW]

Public Class Methods

new(base, offset) click to toggle source
# File metasm/cpu/ppc/main.rb, line 89
def initialize(base, offset)
        @base, @offset = base, offset
end

Public Instance Methods

render() click to toggle source
# File metasm/cpu/ppc/main.rb, line 102
def render
        if @offset.kind_of?(Reg)
                ['(', @base, ' + ', @offset, ')']
        else
                [@offset, '(', @base, ')']
        end
end
symbolic(orig) click to toggle source
# File metasm/cpu/ppc/main.rb, line 93
def symbolic(orig)
        b = @base.symbolic
        b = nil if b == :r0  # XXX is it true ?
        o = @offset
        o = o.symbolic if o.kind_of?(Reg)
        Indirection[Expression[b, :+, o].reduce, 4, orig]
end