标签: assembly x86-64 sign-extension
我知道CPU并不关心符号位,因为有两个补码。但是当使用不同的操作数大小时,源值会被符号扩展到目标的大小。
xor rax, rax add rax, byte 0xAD ; adds 0xFFFFFFFFFFFFFFAD to RAX
是否有 add 指令添加没有符号扩展名的值(并避免使用空字节)?
add
(我正在使用x86_64架构)