class Metasm::CY16::Memref
Attributes
autoincr[RW]
base[RW]
offset[RW]
sz[RW]
Public Class Methods
new(base, offset, sz=nil, autoincr=nil)
click to toggle source
# File metasm/cpu/cy16/main.rb, line 34 def initialize(base, offset, sz=nil, autoincr=nil) @base = base offset = Expression[offset] if offset @offset = offset @sz = sz @autoincr = autoincr end
Public Instance Methods
render()
click to toggle source
# File metasm/cpu/cy16/render.rb, line 18 def render r = [] r << (@sz == 1 ? 'byte ptr ' : 'word ptr ') r << '[' r << @base if @base r << '++' if @autoincr r << ' + ' if @base and @offset r << @offset if @offset r << ']' end
symbolic(orig)
click to toggle source
# File metasm/cpu/cy16/main.rb, line 42 def symbolic(orig) p = nil p = Expression[p, :+, @base.symbolic] if base p = Expression[p, :+, @offset] if offset Indirection[p.reduce, @sz, orig] end