现在的位置: 首页 > 综合 > 正文

汇编基础学习14

2013年11月19日 ⁄ 综合 ⁄ 共 843字 ⁄ 字号 评论关闭

文章转自 http://www.mcany.cn/article/289.htm

博主 没落的残阳

 

这节来学习下NOT求反指令和XOR异或指令。这两个指令以后用的也很广泛,而且很多人都对这

个不是很了解。

        NOT指令就是取反,那么16进制取反我在上上节课在讲解求数值的补码的时候已经说过了。。

          16进制数值取反是用15-相应16进制数值相应位。举个例子

          00403020H  取反  = FFBFCFDFh
          15-0=F
          15-0=F
          15-4=B
          15-0=F
          15-3=C
          15-0=F
          15-2=D
          15-0=F

         就是用15减去相应的16进制数值的相应位,大家是否想起来在上上节课时候我讲解的取补码的那节课程,取

补码是取反后+1。
      
         那么NOT 指令也就是相应的取反。

        假如此时eax = 00403020h
        执行NOT eax后
        eax = FFBFCFDFh

        一般的格式 NOT 寄存器/内存单元

    很简单吧。

        
       那么我们来看下XOR 异或语句,在上节免杀课程上,讲解的“巧用算法加密特征码”,就是简单

的利用了异或算法。。

      XOR 就是相同为0, 相异为 1。

     举例
        al = 00001010B
     执行
     xor al, 11111111B后
    
    al = 11110101B
    那么此时我们在将al的结果在同11111111B进行一次异或就可以取得之前的值。
    
    al = 11110101B
  
   xor al,11111111B
   执行后

   al   = 00001010B
  
   因为异或指令的这种特性,所以使有时候我们可以用它来加密一些信息。

抱歉!评论已关闭.