假设我在.data
中定义了一个名为val
的字节。还假设我在寄存器r10
中有一个数字,假设它是12
。
我正在尝试在r10
中获取该数字的2秒恭维,并将其存储在val
中以备将来使用。
所以我这样做:
neg r10
mov [val], r10b
但是当我稍后尝试在val
中使用该值(或者使用调试器进行检查)时,它将被存储并被视为无符号值,因此如果r10
为-12,则val
现在为244,这是与之等效的无符号值。
如何在保留符号的同时将寄存器移至内存?或者,在将该内存移回不同的寄存器后,如何设置符号?
发布于 2020-10-22 12:44:30
一个带符号的8位整数,即-12
存储为244
。当您尝试使用调试器读取该值时,调试器会将该数字视为无符号字节,并显示244
。如果告诉调试器将内存视为有符号字节,它将正常工作。
https://stackoverflow.com/questions/64482357
复制相似问题