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



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

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

Instance Attribute Details

#displacementObject (readonly)

Returns the value of attribute displacement.



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

def displacement
  @displacement
end

#registerObject (readonly)

Returns the value of attribute register.



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

def register
  @register
end

Instance Method Details

#+(displacement) ⇒ Object



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

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

#extended_register?Boolean



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

def extended_register?
  @register.extended_register?
end

#memory?Boolean



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

def memory?; true; end

#rex_valueObject



254
255
256
# File 'lib/fisk.rb', line 254

def rex_value
  @register.rex_value
end

#valueObject



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

def value
  @register.value
end