class Metasm::Ia32::Farptr
a far pointer an immediate (numeric) pointer and an immediate segment selector
Attributes
addr[RW]
seg[RW]
Public Class Methods
decode(edata, endianness, adsz)
click to toggle source
# File metasm/cpu/ia32/decode.rb, line 74 def self.decode(edata, endianness, adsz) addr = Expression[edata.decode_imm("u#{adsz}".to_sym, endianness)] seg = Expression[edata.decode_imm(:u16, endianness)] new seg, addr end
new(seg, addr)
click to toggle source
# File metasm/cpu/ia32/main.rb, line 146 def initialize(seg, addr) @seg, @addr = seg, addr end
Public Instance Methods
==(o)
click to toggle source
# File metasm/cpu/ia32/main.rb, line 150 def ==(o) self.class == o.class and seg == o.seg and addr == o.addr end
encode(endianness, atype)
click to toggle source
# File metasm/cpu/ia32/encode.rb, line 173 def encode(endianness, atype) @addr.encode(atype, endianness) << @seg.encode(:u16, endianness) end
render()
click to toggle source
# File metasm/cpu/ia32/render.rb, line 26 def render [@seg, ':', @addr] end
symbolic(di=nil)
click to toggle source
# File metasm/cpu/ia32/main.rb, line 154 def symbolic(di=nil) # XXX realmode only Expression[[@seg, :<<, 4], :|, @addr] end