class Whitespace::ISA::Zjmp

Attributes

name[R]

Public Class Methods

new(vm, name) click to toggle source
Calls superclass method
# File lib/whitespace/instructions/flow_control/zjmp.rb, line 5
def initialize(vm, name)
  unless Whitespace::Util.is_label?(name)
    raise ArgumentError, "must be a label: #{name}"
  end
  super(vm)
  @name = name
end

Public Instance Methods

execute() click to toggle source
# File lib/whitespace/instructions/flow_control/zjmp.rb, line 13
def execute
  if vm.vstack.pop == 0
    index = Whitespace::Util.find_label(vm.instructions, name)
    vm.pc.change_to index + 1
  end
end