我知道 CPU 不关心符号位,因为二进制补码。但是当使用不同的操作数大小时,源值会被符号扩展到目标的大小。
xor rax, rax
add rax, byte 0xAD ; adds 0xFFFFFFFFFFFFFFAD to RAX
是否有一条 add
指令可以在没有符号扩展的情况下添加值(并避免空字节)?
(我正在使用 x86_64 架构)
我知道 CPU 不关心符号位,因为二进制补码。但是当使用不同的操作数大小时,源值会被符号扩展到目标的大小。
xor rax, rax
add rax, byte 0xAD ; adds 0xFFFFFFFFFFFFFFAD to RAX
是否有一条 add
指令可以在没有符号扩展的情况下添加值(并避免空字节)?
(我正在使用 x86_64 架构)