Class: Fisk::Memory

Inherits:
Operand show all
Defined in:
lib/fisk.rb

Direct Known Subclasses

M

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Operand

#op_value, #works?

Methods included from OperandPredicates

#absolute_location?, #immediate?, #register?, #rip?, #temp_register?, #unresolved?

Constructor Details

#initialize(register, displacement) ⇒ Memory

Returns a new instance of Memory.



209
210
211
212
# File 'lib/fisk.rb', line 209

def initialize register, displacement
  @register     = register
  @displacement = displacement
end

Instance Attribute Details

#displacementObject (readonly)

Returns the value of attribute displacement.



207
208
209
# File 'lib/fisk.rb', line 207

def displacement
  @displacement
end

#registerObject (readonly)

Returns the value of attribute register.



207
208
209
# File 'lib/fisk.rb', line 207

def register
  @register
end

Instance Method Details

#+(displacement) ⇒ Object



222
223
224
# File 'lib/fisk.rb', line 222

def + displacement
  self.class.new(register, self.displacement + displacement)
end

#extended_register?Boolean

Returns:

  • (Boolean)


214
215
216
# File 'lib/fisk.rb', line 214

def extended_register?
  @register.extended_register?
end

#memory?Boolean

Returns:

  • (Boolean)


226
# File 'lib/fisk.rb', line 226

def memory?; true; end

#rex_valueObject



228
229
230
# File 'lib/fisk.rb', line 228

def rex_value
  @register.rex_value
end

#valueObject



218
219
220
# File 'lib/fisk.rb', line 218

def value
  @register.value
end