class Escalator::Asm
Constants
- BIG_ENDIAN
- LITTLE_ENDIAN
Attributes
codes[R]
endian[R]
Public Class Methods
new(source, endian = nil)
click to toggle source
# File lib/escalator/asm.rb, line 34 def initialize source, endian = nil @endian = endian || BIG_ENDIAN @lines = [] address = 0 source.each_line do |line| @lines << AsmLine.new(line, address, @endian) address = @lines.last.next_address end end
Public Instance Methods
dump()
click to toggle source
# File lib/escalator/asm.rb, line 44 def dump @codes.map do |c| c.to_s(16).rjust(2, "0") end end
dump_line()
click to toggle source
# File lib/escalator/asm.rb, line 50 def dump_line @lines.map do |line| "#{line.address.to_s(16).rjust(4, "0")} #{line.dump_line}" end .join("\n") << "\n" end
Private Instance Methods
parse(line)
click to toggle source
# File lib/escalator/asm.rb, line 65 def parse line @lines << AsmLine.new(line) end