diff --git a/src/arm/Move.go b/src/arm/Move.go index d5851ec..e1bfcb3 100644 --- a/src/arm/Move.go +++ b/src/arm/Move.go @@ -22,16 +22,17 @@ func MoveRegisterNumber(code []byte, destination cpu.Register, number int) []byt func MoveRegisterNumberMI(code []byte, destination cpu.Register, number int) []byte { movz := MoveZero(destination, 0, uint16(number)) code = binary.LittleEndian.AppendUint32(code, movz) + num := uint64(number) halfword := 1 for { - number >>= 16 + num >>= 16 - if number == 0 { + if num == 0 { return code } - movk := MoveKeep(destination, halfword, uint16(number)) + movk := MoveKeep(destination, halfword, uint16(num)) code = binary.LittleEndian.AppendUint32(code, movk) halfword++ }