class Metasm::BPF::MemRef

Attributes

base[RW]
msz[RW]
offset[RW]

Public Class Methods

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

Public Instance Methods

memtype() click to toggle source
# File metasm/cpu/bpf/main.rb, line 23
def memtype
        :mem
end
render() click to toggle source
# File metasm/cpu/bpf/render.rb, line 18
def render
        r = []
        r << memtype
        r << [nil, ' byte ', ' word ', nil, ' dword '][@msz]
        r << '['
        r << @base if @base
        r << '+' if @base and @offset
        r << @offset if @offset
        r << ']'
end
symbolic(orig) click to toggle source
# File metasm/cpu/bpf/main.rb, line 33
def symbolic(orig)
        p = Expression[memtype]
        p = Expression[p, :+, @base.symbolic] if base
        p = Expression[p, :+, @offset] if offset
        Indirection[p, @msz, orig]
end