Class: Unarm::Parser

Inherits:
Object
  • Object
show all
Includes:
UnarmBind
Defined in:
lib/unarm/unarm.rb

Defined Under Namespace

Modules: Endian, Mode

Constant Summary

Constants included from UnarmBind

UnarmBind::ARGUMENT_KIND, UnarmBind::ARGUMENT_KIND_MAP, UnarmBind::Arg, UnarmBind::Args, UnarmBind::CONDITION, UnarmBind::CONDITION_MAP, UnarmBind::CO_REG, UnarmBind::CO_REG_MAP, UnarmBind::ENDIAN, UnarmBind::ENDIAN_MAP, UnarmBind::OPCODE, UnarmBind::OPCODE_MNEMONIC, UnarmBind::REGISTER, UnarmBind::REGISTER_MAP, UnarmBind::SHIFT, UnarmBind::SHIFT_MAP, UnarmBind::STATUS_REG, UnarmBind::STATUS_REG_MAP

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data_ptr, data_size, addr, mode = Mode::ARM, endian = Endian::LITTLE) ⇒ Parser

Returns a new instance of Parser.



779
780
781
782
# File 'lib/unarm/unarm.rb', line 779

def initialize(data_ptr, data_size, addr, mode = Mode::ARM, endian = Endian::LITTLE)
  set_parse_mode(mode)
  # TODO!!!!!

end

Instance Attribute Details

#modeObject (readonly)

Returns the value of attribute mode.



761
762
763
# File 'lib/unarm/unarm.rb', line 761

def mode
  @mode
end

Instance Method Details

#set_parse_mode(mode) ⇒ Object

Raises:

  • (ArgumentError)


774
775
776
777
# File 'lib/unarm/unarm.rb', line 774

def set_parse_mode(mode)
  raise ArgumentError, 'mode must be ARM, THUMB, or DATA' unless (Mode::ARM..Mode::DATA).include? mode
  @mode = mode
end