GG

GG的博客,记录学习工作的一点一滴,见证自己的成长。

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

预计阅读时间:30秒。

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

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

知识点:

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

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

        例:

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


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


总结:在16位汇编语言中,NEG命令无论你是否为正负数,都会按照取反+1或用0减去这个数的二进制的办法去计算

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013542549/article/details/54861355
文章标签: 汇编 技术
个人分类: 汇编
上一篇委托的问题 - 用委托实现回调
下一篇对于C#,WinForm,比较舒服的分页
想对作者说点什么? 我来说一句

免费的vpn小白兔软件

2011年06月08日 978KB 下载

没有更多推荐了,返回首页

关闭
关闭