gpt4 book ai didi

汇编 x86 寄存器有符号或无符号

转载 作者:行者123 更新时间:2023-12-03 09:32:38 25 4
gpt4 key购买 nike

我知道这是一个非常简单的问题,但我找不到答案。
x86 程序集中的寄存器(eax、ebx edx 等)是有符号的还是无符号的?如果默认情况下它们是有符号的,例如,如果我们将变量声明为 unsigned int,计算机如何知道将寄存器视为无符号?谢谢!

最佳答案

CPU 不知道也不关心。相反, 中的位旗帜 register 是针对某些操作设置的,您的程序如何处理这些标志取决于源代码告诉它的内容。

例如。,

mov eax, 0FFFFFFFFh
test eax, eax
js isNegative

对比
mov eax, 0FFFFFFFFh
test eax, eax
jb isNegative

第一个跳转到 'IsNegative' 因为 test在这里设置标志标志。第二个没有,因为 test将进位标志重置为 0jb只有在 1 时才会跳转.

关于汇编 x86 寄存器有符号或无符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27677906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com