setup getters and setters for combined registers

This commit is contained in:
radumaco
2025-04-19 20:27:44 +02:00
parent 43ea4b70e0
commit d26e6b7436
5 changed files with 120 additions and 24 deletions

View File

@@ -6,30 +6,30 @@ import (
var memory = new([64000]byte)
func Read(addr int) []byte {
func Read(addr uint) []byte {
checkInside(addr)
checkInside(addr + 8)
return memory[addr : addr+9]
}
func Write(addr int, val [8]byte) {
func Write(addr uint, val [8]byte) {
checkInside(addr)
for i := 0; i < 8; i++ {
memory[addr+i] = val[i]
memory[int(addr)+i] = val[i]
}
}
func WriteAll(addr int, val []byte) {
func WriteAll(addr uint, val []byte) {
checkInside(addr)
checkInside(addr + len(val))
checkInside(addr + uint(len(val)))
for b := 0; b < len(val); b++ {
memory[addr+b] = val[b]
memory[int(addr)+b] = val[b]
}
}
func checkInside(addr int) {
if addr < 0 || addr >= len(memory) {
func checkInside(addr uint) {
if addr < 0 || addr >= uint(len(memory)) {
panic(errorHandling.OutOfMemoryBoundsError)
}
}