我在"英特尔编译器"中使用内联x64汇编,并尝试向RBP寄存器添加一个巨大的值。
编译器给了我一个错误,说操作数对于那个巨大的数字是不正确的。有没有办法解决这个问题?
我的代码:
__asm add rbp, 0x7ffffffffffffff0
__asm and rbp, 0x7fffffff
编译器输出如下内容:
ld-link: : error : ld-temp.o <inline asm>:2:2: invalid operand for instruction
add rbp, 3264300659
^
1条答案
按热度按时间fkaflof61#
不,没有操作码可以用这种方式完成!
但是,有一个操作码可以执行以下操作:
您也可以使用额外的寄存器来解决此问题,例如: