Method: Gruesome::Z::Machine#execute
- Defined in:
- lib/gruesome/z/machine.rb
#execute ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/gruesome/z/machine.rb', line 43 def execute while true do i = @decoder.fetch # var = @memory.readv(0) # if var != nil # puts "var %00 = " + sprintf("%04x", var) # @memory.writev(0, var) # end # var = @memory.readv(1) # if var != nil # puts "var %01 = " + sprintf("%04x", @memory.readv(0x01)) # end # puts "at $" + sprintf("%04x", @memory.program_counter) + ": " + i.to_s(@header.version) @memory.program_counter += i.length if i.opcode == Opcode::QUIT break end begin @processor.execute(i) rescue RuntimeError => fuh puts "error at $" + sprintf("%04x", @memory.program_counter) + ": " + i.to_s(@header.version) end end end |