|move instruction pointer| @instruction pointer |fetch next instruction| @decode instruction |@current instruction is halt| |@current instruction is inc| , @increment source register , @check if port was triggered , move instruction pointer:2 , fetch next instruction |@current instruction is dec| , @decrement source register , move instruction pointer:2 , fetch next instruction |@current instruction is cpy| , @copy source register to destination register , @check if port was triggered , move instruction pointer:3 , fetch next instruction |@current instruction is mov| , @copy source register to destination register , @check if port was triggered , move instruction pointer:3 , fetch next instruction |@current instruction is jze| , @check source register is zero , move to next instruction for jze |move to next instruction for jze, @soure register is zero| , @copy next bytecode to instruction pointer |move to next instruction for jze| , move instruction pointer:3 , fetch next instruction |@current instruction is jmp| , @copy next bytecode to instruction pointer |@current instruction is set| , @set destination register to next bytecode , move instruction pointer:3 , fetch next instruction |@current instruction is unknown| , move instruction pointer , fetch next instruction