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.



231
232
233
234
# File 'lib/fisk.rb', line 231

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

Instance Attribute Details

#displacementObject (readonly)

Returns the value of attribute displacement.



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

def displacement
  @displacement
end

#registerObject (readonly)

Returns the value of attribute register.



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

def register
  @register
end

Instance Method Details

#+(displacement) ⇒ Object



244
245
246
# File 'lib/fisk.rb', line 244

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

#extended_register?Boolean

Returns:

  • (Boolean)


236
237
238
# File 'lib/fisk.rb', line 236

def extended_register?
  @register.extended_register?
end

#memory?Boolean

Returns:

  • (Boolean)


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

def memory?; true; end

#rex_valueObject



250
251
252
# File 'lib/fisk.rb', line 250

def rex_value
  @register.rex_value
end

#valueObject



240
241
242
# File 'lib/fisk.rb', line 240

def value
  @register.value
end