Execute code between assembly and disassembly
This commit is contained in:
@@ -3,6 +3,7 @@ package test
|
|||||||
import "testing"
|
import "testing"
|
||||||
|
|
||||||
import "github.com/firestuff/subcoding/asm"
|
import "github.com/firestuff/subcoding/asm"
|
||||||
|
import "github.com/firestuff/subcoding/vm"
|
||||||
|
|
||||||
func TestRoundTrip(t *testing.T) {
|
func TestRoundTrip(t *testing.T) {
|
||||||
src := `functions:
|
src := `functions:
|
||||||
@@ -20,6 +21,19 @@ func TestRoundTrip(t *testing.T) {
|
|||||||
t.Fatal(err)
|
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)
|
dis, err := asm.Disassemble(prog)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
|
|||||||
Reference in New Issue
Block a user