class Metasm::Z80::Memref

Attributes

base[RW]
offset[RW]
sz[RW]

Public Class Methods

new(base, offset, sz=nil) click to toggle source
# File metasm/cpu/z80/main.rb, line 39
def initialize(base, offset, sz=nil)
        @base = base
        offset = Expression[offset] if offset
        @offset = offset
        @sz = sz
end

Public Instance Methods

render() click to toggle source
# File metasm/cpu/z80/render.rb, line 18
def render
        r = ['(']
        r << @base if @base
        r << '+' if @base and @offset
        r << @offset if @offset
        r << ')'
end
symbolic(di=nil) click to toggle source
# File metasm/cpu/z80/main.rb, line 46
def symbolic(di=nil)
        p = nil
        p = Expression[p, :+, @base.symbolic] if base
        p = Expression[p, :+, @offset] if offset
        Indirection[p.reduce, @sz, (di.address if di)]
end