Implemented bit shifting on arm64

This commit is contained in:
2025-03-15 19:45:14 +01:00
parent 93042f81e7
commit b8f05c8994
10 changed files with 120 additions and 16 deletions

View File

@ -7,9 +7,24 @@ import (
"git.urbach.dev/go/assert"
)
func TestARM(t *testing.T) {
func TestGeneral(t *testing.T) {
assert.DeepEqual(t, arm.Call(0), 0x94000000)
assert.DeepEqual(t, arm.Nop(), 0xD503201F)
assert.DeepEqual(t, arm.Return(), 0xD65F03C0)
assert.DeepEqual(t, arm.Syscall(), 0xD4000001)
}
func TestNotEncodable(t *testing.T) {
_, encodable := arm.AndRegisterNumber(arm.X0, arm.X0, 0)
assert.False(t, encodable)
_, encodable = arm.OrRegisterNumber(arm.X0, arm.X0, 0)
assert.False(t, encodable)
_, encodable = arm.XorRegisterNumber(arm.X0, arm.X0, 0)
assert.False(t, encodable)
_, encodable = arm.AndRegisterNumber(arm.X0, arm.X0, -1)
assert.False(t, encodable)
_, encodable = arm.OrRegisterNumber(arm.X0, arm.X0, -1)
assert.False(t, encodable)
_, encodable = arm.XorRegisterNumber(arm.X0, arm.X0, -1)
assert.False(t, encodable)
}