关于汇编为什么NEG指令是求补呢?

我是初学NEG指令的新手,有个关于NEG指令的问题希望大家解答,谢谢。NEG指令的效果为把操作数按二进制全部按位取返并+1,我们老师说这就是求补码(负数),本身这个指令也... 我是初学NEG指令的新手,有个关于NEG指令的问题希望大家解答,谢谢。
NEG指令的效果为 把操作数按二进制全部按位取返并+1,我们老师说这就是求补码(负数),本身这个指令也叫求补指令。但是,我想知道,按照计算机组成原理来说,二进制的补码(负数),求补之后不是符号位不变吗?为什么在DEBUG下,操作数就被认为是补码表示之后,代表符号位的首位就要变了呢?希望高手能详细解答,谢谢……
那我还想问问,DEBUG下到底如何求补码呢?
展开
 我来答
ThisisSmeagol
推荐于2017-12-15 · TA获得超过193个赞
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:121万
展开全部
怎么会不变呢。负数求补那是正数,正数求补那是负数。

比如:

0001假设第一位是符号位,这是正数1,把他求补
(1)先取反:1110(2)再+1:1111 这就是-1

为啥要加1呢?
因为如果你不加1,0000这是正0 ;ffff这是-0 ,但是一般我们只认为有一个0
所以要+1
汤旺河边
2009-05-12 · TA获得超过2.9万个赞
知道大有可为答主
回答量:2675
采纳率:0%
帮助的人:2972万
展开全部
求补与求补码是两个不同的概念。

1、求补码。正数的补码就是其原码;负数的补码是其原码按位取反后加1。

2、求补。是一种减法运算,是要改变正负号的,实际就是用0去减这个操作数。

补充回答:DEBUG下求补
a
mov al,2
neg al
neg al

t
t
t
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式