class N65::Org

This is an .org directive

Attributes

address[R]

Public Class Methods

new(address) click to toggle source

Initialized with address to switch to

# File lib/n65/directives/org.rb, line 22
def initialize(address)
  @address = address
end
parse(line) click to toggle source

Try to parse an .org statement

# File lib/n65/directives/org.rb, line 12
def self.parse(line)
  match_data = line.match(/^\.org\s+\$([0-9A-Fa-f]{4})$/)
  return nil if match_data.nil?
  address = match_data[1].to_i(16)
  Org.new(address)
end

Public Instance Methods

exec(assembler) click to toggle source

Exec this directive on the assembler

# File lib/n65/directives/org.rb, line 29
def exec(assembler)
  assembler.program_counter = address
end
to_s() click to toggle source

Display

# File lib/n65/directives/org.rb, line 36
def to_s
  if @address <= 0xff
    ".org $%2.X" % @address
  else
    ".org $%4.X" % @address
  end
end