mov x0, #1000 mov w6, #-1 add x7,x0,x6, sxtw
x6和x7的值是什么?[在十六进制]这里ans x6=0xffffffff //为什么所有的下半部分的值都用1填充?以及sxtw如何工作,当ans将是十进制的999时。我想知道这是如何发生的细节。
yqhsw0fo1#
// 1= 000000000000000000000001 (On 32bit) // -1= 111111111111111111111111 // So -1 in hex = 0xffffffff
x6的下半部分将填充上述值。在第三个语句中,它将值符号扩展为64位,因此-1是正确的,然后它添加1000+(-1),并变为值999
1条答案
按热度按时间yqhsw0fo1#
x6的下半部分将填充上述值。
在第三个语句中,它将值符号扩展为64位,因此-1是正确的,然后它添加1000+(-1),并变为值999