您的位置:首页 > 其它

关于汇编中的NEG指令正解!(补码,反码,原码)现实意义

2017-02-04 10:50 2161 查看
预计阅读时间:30秒。

本文核心:NEG命令就是取反+1 ,另一种方法,用0减去这个数的二进制。

在学习汇编指令的过程中,碰到好多的问题,例如刚刚碰到一道小小的问题(入门级)

知识点:

在汇编语言中,正数的补码=他本身,正数的反码=他本身,负数的补码=取反后+1,负数的反码=按位取反(0 变 1)。
在汇编语言中,NEG命令代表取补运算,只有一个操作数,可以理解为,对操作数去补并把结果放在操作数中。

疑    点: 书本上明明写着正数的补码=他本身,可为什么执行以下命令后结果为 F0 呢 

        例:

MOV DH,10  //把10放到DX的高八位
NEG DH     //对DH进行取补运算把结果放进DH中
结果为:DH = F0


如果按书上的方法来算的话,最后结果应该依然是10H,因为10H是一个正数。

总结:在16位汇编语言中,NEG命令无论你是否为正负数,都会按照取反+1或用0减去这个数的二进制的办法去计算
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  汇编 技术