q/src/arm/Xor.go
Eduard Urbach 3ae47f93eb
All checks were successful
/ test (push) Successful in 19s
Added arm package
2025-06-23 11:49:39 +02:00

14 lines
No EOL
614 B
Go

package arm
import "git.urbach.dev/cli/q/src/cpu"
// XorRegisterNumber performs a bitwise XOR using a register and a number.
func XorRegisterNumber(destination cpu.Register, source cpu.Register, number int) (uint32, bool) {
n, immr, imms, encodable := encodeLogicalImmediate(uint(number))
return 0b110100100<<23 | reg2BitmaskImm(destination, source, n, immr, imms), encodable
}
// XorRegisterRegister performs a bitwise XOR using two registers.
func XorRegisterRegister(destination cpu.Register, source cpu.Register, operand cpu.Register) uint32 {
return 0b11001010<<24 | reg3(destination, source, operand)
}