预计阅读时间: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减去这个数的二进制的办法去计算
新闻热点
疑难解答
图片精选