Implemented more arm64 instructions
This commit is contained in:
parent
1832d2c73b
commit
014f161633
26 changed files with 232 additions and 73 deletions
31
src/arm/Load_test.go
Normal file
31
src/arm/Load_test.go
Normal file
|
@ -0,0 +1,31 @@
|
|||
package arm_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"git.urbach.dev/cli/q/src/arm"
|
||||
"git.urbach.dev/cli/q/src/cpu"
|
||||
"git.urbach.dev/go/assert"
|
||||
)
|
||||
|
||||
func TestLoadRegister(t *testing.T) {
|
||||
usagePatterns := []struct {
|
||||
Destination cpu.Register
|
||||
Base cpu.Register
|
||||
Offset int16
|
||||
Length byte
|
||||
Code uint32
|
||||
}{
|
||||
{arm.X2, arm.X1, -8, 8, 0xF85F8022},
|
||||
{arm.X2, arm.X1, 0, 8, 0xF8400022},
|
||||
{arm.X2, arm.X1, 8, 8, 0xF8408022},
|
||||
{arm.X2, arm.X1, -256, 8, 0xF8500022},
|
||||
{arm.X2, arm.X1, 255, 8, 0xF84FF022},
|
||||
}
|
||||
|
||||
for _, pattern := range usagePatterns {
|
||||
t.Logf("ldur %s, [%s, %d] %db", pattern.Destination, pattern.Base, pattern.Offset, pattern.Length)
|
||||
code := arm.LoadRegister(pattern.Destination, pattern.Base, pattern.Offset, pattern.Length)
|
||||
assert.DeepEqual(t, code, pattern.Code)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue