【发布时间】:2011-04-30 08:47:50
【问题描述】:
我是 x86 汇编语言的新手,我有一个有符号整数保存在寄存器 eax 中,我想检查该数字是负数还是正数。为此,我使用bt 指令检查第一位。
这是我所做的:
bt eax,0
jnc isNegative
bt 携带第一个位来携带标志,我使用jnc 来检查携带标志是 0 还是 1。
如果是 1,它应该是一个负数,并且做负指令......
但是,输出是不可预测的,有时我有一个正数,它会将其识别为负数。我做错了吗?
编辑:我刚刚意识到它可能与字节序有关。它实际上是检查最后一位而不是第一位。让我试试bt, 7
【问题讨论】: