From b608d2bbf3352332ee7656e3d8b655f6ccdb6dc1 Mon Sep 17 00:00:00 2001 From: Jonas Franz Date: Mon, 22 Jun 2020 17:20:03 +0200 Subject: [PATCH] Fix index check --- hal/instructions.go | 2 +- hal/page_error_logger.go | 2 +- programs/storage.hal | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/hal/instructions.go b/hal/instructions.go index 1736eef..2546f03 100644 --- a/hal/instructions.go +++ b/hal/instructions.go @@ -196,7 +196,7 @@ func newMathInstruction(name string, operation func(accumulator, register float6 return &Instruction{ Name: name, ExecuteWithOperand: func(module *Module, operand float64) error { - param := module.mmu.Read(Address(index)) + param := module.mmu.Read(Address(operand)) module.accumulator = operation(module.accumulator, param) return nil }, diff --git a/hal/page_error_logger.go b/hal/page_error_logger.go index b92c7df..068e8e5 100644 --- a/hal/page_error_logger.go +++ b/hal/page_error_logger.go @@ -18,7 +18,7 @@ func NewPageErrorLogger(path string) (logger *PageErrorLogger, err error) { } func (logger *PageErrorLogger) handlePageError(address Address, write bool) { - fmt.Fprintf(logger.file, "[timestamp = %s addr = 0x%X write=%t]", time.Now().String(), address, write) + fmt.Fprintf(logger.file, "[timestamp = %s addr = 0x%X write=%t]\n", time.Now().String(), address, write) } func (logger *PageErrorLogger) Close() error { diff --git a/programs/storage.hal b/programs/storage.hal index 3b046b0..1dc0ca8 100644 --- a/programs/storage.hal +++ b/programs/storage.hal @@ -1,7 +1,7 @@ 0001 START # Counter -0002 LOADNUM 0 +0002 LOADNUM 4 0003 STORE 1 # Max @@ -15,8 +15,9 @@ 0009 MULNUM 2 0010 ADDNUM 1 0011 STORE 1 -0012 SUB 2 -0013 JUMPNEG 0006 +0012 OUT 1 +0013 SUB 2 +0014 JUMPNEG 0006 1000 DUMPREG 1010 DUMPPROG