Full test (which fails)

This commit is contained in:
Ian Gulliver
2021-11-18 17:53:38 -10:00
parent 8e34c67f11
commit e99387beb4
5 changed files with 27 additions and 22 deletions

View File

@@ -2,17 +2,17 @@ package vm
import "fmt"
type memory struct {
type Memory struct {
entries []uint64
}
func newMemory(size uint64) *memory {
return &memory{
func NewMemory(size uint64) *Memory {
return &Memory{
entries: make([]uint64, size),
}
}
func (mem *memory) readUnsigned(index uint64) (uint64, error) {
func (mem *Memory) ReadUnsigned(index uint64) (uint64, error) {
if index >= uint64(len(mem.entries)) {
return 0, fmt.Errorf("Invalid memory index: %016x", index)
}
@@ -20,15 +20,15 @@ func (mem *memory) readUnsigned(index uint64) (uint64, error) {
return mem.entries[index], nil
}
func (mem *memory) mustReadUnsigned(index uint64) uint64 {
value, err := mem.readUnsigned(index)
func (mem *Memory) MustReadUnsigned(index uint64) uint64 {
value, err := mem.ReadUnsigned(index)
if err != nil {
panic(err)
}
return value
}
func (mem *memory) writeUnsigned(index uint64, value uint64) error {
func (mem *Memory) WriteUnsigned(index uint64, value uint64) error {
if index >= uint64(len(mem.entries)) {
return fmt.Errorf("Invalid memory index: %016x", index)
}