class Noofakku::Processor

Attributes

data_pointer[RW]
instruction_pointer[RW]

Public Class Methods

new(instruction_to_handler) click to toggle source
# File lib/noofakku/processor.rb, line 7
  def initialize(instruction_to_handler)
raise "instruction_to_handler cannot be nil" unless instruction_to_handler != nil
@instruction_to_handler = instruction_to_handler
@instruction_pointer = @data_pointer = 0
  end

Public Instance Methods

run(program, memory, input, output) click to toggle source
# File lib/noofakku/processor.rb, line 13
  def run(program, memory, input, output)
raise "program cannot be nil" unless program != nil
raise "memory cannot be nil" unless memory != nil
raise "input cannot be nil" unless input != nil
raise "output cannot be nil" unless output != nil
while (0...program.length).include? @instruction_pointer
  instruction = @instruction_to_handler[program[@instruction_pointer]]
  instruction.perform(self, memory, program, input, output)
  @instruction_pointer += 1
end 
  end