Add storage hal

master
Jonas Franz 4 years ago committed by Jonas Franz
parent 8426f4c250
commit 510e8a8aef
  1. 5
      hal/module.go
  2. 9
      programs/storage.hal

@ -37,7 +37,7 @@ func (h *Module) setProgramCounter(counter int64) error {
}
func (h *Module) increaseProgramCounter() {
h.register[0]++
h.pCounter++
}
func (h *Module) debug(format string, args ...interface{}) {
@ -52,7 +52,7 @@ func (h *Module) Step() error {
instruction := h.programStorage[h.programCounter()]
h.increaseProgramCounter()
if instruction == nil {
h.debug("Skip undefined instruction %d", h.programCounter())
//h.debug("Skip undefined instruction %d", h.programCounter())
return nil
}
h.debug("Instruction: %s", instruction.Instruction.Name)
@ -93,6 +93,7 @@ func NewNamedHALModule(program Program, registerSize uint64, ioSize int64, debug
}
module := &Module{
pCounter: 1,
programStorage: program,
register: make([]float64, registerSize),
IO: ios,

@ -0,0 +1,9 @@
1000 DUMPREG
1010 DUMPPROG
1020 LOAD 1036
1030 ADDNUM 1
1040 STORE 512
1050 LOAD 1037
1060 ADD 512
1070 OUT 1
1080 STOP
Loading…
Cancel
Save