class Hex::IntSpec

Attributes

endianes[RW]
signed[RW]
size[RW]

Public Class Methods

new(size, signed = :signed, endianess = :little) click to toggle source
# File lib/hex_parser.rb, line 9
def initialize(size, signed = :signed,  endianess = :little)
  @size,@endianess,@signed= size,endianess, signed
end

Public Instance Methods

get_unpack() click to toggle source

@size = 1,2,4,8 in bytes @signed = :singed, :unsigned

# File lib/hex_parser.rb, line 15
def get_unpack()
  pack_str = { 1 => 'C', 2 => 'S<', 4 => 'L<', 8 => 'Q<' }[size]
  pack_str.downcase! if signed == :signed
  pack_str
end
read(mem,address) click to toggle source

bitsize = 8,16,32,64 signed = :singed, :unsigned

# File lib/hex_parser.rb, line 23
def read(mem,address)
  content = mem.read(address, @size)
  content.reverse! if @endianess == :big
  return content.unpack(get_unpack)[0]
end