From 1d0dd6faa30577cdf7198e499f0d2847617f5af9 Mon Sep 17 00:00:00 2001
From: kolaente <k@knt.li>
Date: Mon, 18 May 2020 22:18:53 +0200
Subject: [PATCH] Fix all comparisons

---
 hal/instructions.go | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/hal/instructions.go b/hal/instructions.go
index 271c202..e87ca3a 100644
--- a/hal/instructions.go
+++ b/hal/instructions.go
@@ -79,7 +79,7 @@ var InstructionOut = &Instruction{
 	Name: "OUT",
 	ExecuteWithOperand: func(module *Module, operand float64) error {
 		index := int(operand)
-		if len(module.IO) >= index {
+		if len(module.IO) <= index {
 			return fmt.Errorf("index %d exceeds IO size of %d", index, len(module.IO))
 		}
 		module.IO[int64(operand)] = module.accumulator
@@ -91,7 +91,7 @@ var InstructionIn = &Instruction{
 	Name: "IN",
 	ExecuteWithOperand: func(module *Module, operand float64) error {
 		index := int(operand)
-		if len(module.IO) >= index {
+		if len(module.IO) <= index {
 			return fmt.Errorf("index %d exceeds IO size of %d", index, len(module.IO))
 		}
 		module.accumulator = module.IO[index]
@@ -103,7 +103,7 @@ var InstructionLoad = &Instruction{
 	Name: "LOAD",
 	ExecuteWithOperand: func(module *Module, operand float64) error {
 		index := int(operand)
-		if len(module.register) >= index {
+		if len(module.register) <= index {
 			return fmt.Errorf("index %d exceeds register size of %d", index, len(module.IO))
 		}
 		module.accumulator = module.register[index]
@@ -123,7 +123,7 @@ var InstructionStore = &Instruction{
 	Name: "STORE",
 	ExecuteWithOperand: func(module *Module, operand float64) error {
 		index := int(operand)
-		if len(module.register) >= index {
+		if len(module.register) <= index {
 			return fmt.Errorf("index %d exceeds register size of %d", index, len(module.IO))
 		}
 		module.register[index] = module.accumulator
@@ -148,11 +148,11 @@ func newJumpInstruction(name string, doJump func(accumulator float64) bool) *Ins
 }
 
 var InstructionJumpNeg = newJumpInstruction("JUMPNEG", func(accumulator float64) bool {
-	return accumulator > 0
+	return accumulator < 0
 })
 
 var InstructionJumpPos = newJumpInstruction("JUMPPOS", func(accumulator float64) bool {
-	return accumulator < 0
+	return accumulator > 0
 })
 
 var InstructionJumpNull = newJumpInstruction("JUMPNULL", func(accumulator float64) bool {