Class: Escalator::Asm
- Inherits:
-
Object
- Object
- Escalator::Asm
- Defined in:
- lib/escalator/asm.rb
Constant Summary collapse
- LITTLE_ENDIAN =
0
- BIG_ENDIAN =
1
Instance Attribute Summary collapse
-
#codes ⇒ Object
readonly
Returns the value of attribute codes.
-
#endian ⇒ Object
readonly
Returns the value of attribute endian.
Instance Method Summary collapse
- #dump ⇒ Object
- #dump_line ⇒ Object
-
#initialize(source, endian = nil) ⇒ Asm
constructor
A new instance of Asm.
Constructor Details
#initialize(source, endian = nil) ⇒ Asm
Returns a new instance of Asm.
34 35 36 37 38 39 40 41 42 |
# 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 |
Instance Attribute Details
#codes ⇒ Object (readonly)
Returns the value of attribute codes.
28 29 30 |
# File 'lib/escalator/asm.rb', line 28 def codes @codes end |
#endian ⇒ Object (readonly)
Returns the value of attribute endian.
29 30 31 |
# File 'lib/escalator/asm.rb', line 29 def endian @endian end |
Instance Method Details
#dump ⇒ Object
44 45 46 47 48 |
# File 'lib/escalator/asm.rb', line 44 def dump @codes.map do |c| c.to_s(16).rjust(2, "0") end end |
#dump_line ⇒ Object
50 51 52 53 54 55 |
# 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 |