Class: Escalator::AsmLine

Inherits:
Object
  • Object
show all
Defined in:
lib/escalator/asm.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(line, address = 0, endian = nil) ⇒ AsmLine

Returns a new instance of AsmLine.



78
79
80
81
82
83
84
# File 'lib/escalator/asm.rb', line 78

def initialize line, address = 0, endian = nil
  @endian = endian || Asm::LITTLE_ENDIAN
  @line = line.upcase.chomp
  @codes = []
  @address = address
  parse
end

Instance Attribute Details

#addressObject (readonly)

Returns the value of attribute address.



75
76
77
# File 'lib/escalator/asm.rb', line 75

def address
  @address
end

#codesObject (readonly)

Returns the value of attribute codes.



74
75
76
# File 'lib/escalator/asm.rb', line 74

def codes
  @codes
end

#endianObject (readonly)

Returns the value of attribute endian.



76
77
78
# File 'lib/escalator/asm.rb', line 76

def endian
  @endian
end

#lineObject (readonly)

Returns the value of attribute line.



73
74
75
# File 'lib/escalator/asm.rb', line 73

def line
  @line
end

Instance Method Details

#dumpObject



90
91
92
93
94
95
96
# File 'lib/escalator/asm.rb', line 90

def dump
  @codes.map do |c|
    c.to_s(16).rjust(2, "0")
  end
  .join(" ")
  .ljust(12)
end

#dump_lineObject



86
87
88
# File 'lib/escalator/asm.rb', line 86

def dump_line
  "#{dump}\t#{line}"
end

#next_addressObject



98
99
100
# File 'lib/escalator/asm.rb', line 98

def next_address
  address + codes.size
end