Execute code between assembly and disassembly

This commit is contained in:
Ian Gulliver
2021-11-20 10:23:54 -10:00
parent 3ced099a47
commit 51f318c924
2 changed files with 14 additions and 0 deletions

View File

@@ -3,6 +3,7 @@ package test
import "testing"
import "github.com/firestuff/subcoding/asm"
import "github.com/firestuff/subcoding/vm"
func TestRoundTrip(t *testing.T) {
src := `functions:
@@ -20,6 +21,19 @@ func TestRoundTrip(t *testing.T) {
t.Fatal(err)
}
state, err := vm.NewState(prog)
if err != nil {
t.Fatal(err)
}
err = state.Execute()
if err != nil {
t.Fatal(err)
}
expectGlobalMemory(t, state, 0, 1)
expectGlobalMemorySigned(t, state, 1, -5)
dis, err := asm.Disassemble(prog)
if err != nil {
t.Fatal(err)