首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >x64 asm:将负值从寄存器移动到内存

x64 asm:将负值从寄存器移动到内存
EN

Stack Overflow用户
提问于 2020-10-22 12:35:44
回答 1查看 81关注 0票数 2

假设我在.data中定义了一个名为val的字节。还假设我在寄存器r10中有一个数字,假设它是12

我正在尝试在r10中获取该数字的2秒恭维,并将其存储在val中以备将来使用。

所以我这样做:

代码语言:javascript
运行
AI代码解释
复制
neg r10
mov [val], r10b

但是当我稍后尝试在val中使用该值(或者使用调试器进行检查)时,它将被存储并被视为无符号值,因此如果r10为-12,则val现在为244,这是与之等效的无符号值。

如何在保留符号的同时将寄存器移至内存?或者,在将该内存移回不同的寄存器后,如何设置符号?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-22 12:44:30

一个带符号的8位整数,即-12存储为244。当您尝试使用调试器读取该值时,调试器会将该数字视为无符号字节,并显示244。如果告诉调试器将内存视为有符号字节,它将正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64482357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档