返回列表 发帖

[原创] 汇编基础一日一学习13



          今天来学习下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
   
   因为异或指令的这种特性,所以使有时候我们可以用它来加密一些信息。


   今天因为事情比较多,也没什么准备,那么接下来留两个小作业。
      
小作业:
   1. 假如此时eax = 00201011h
      执行 NOT eax指令后,求eax = ?

   2.假如此时bl = 00101011B
     执行xor bl, 00000000b
     求bl = ?
希望做站长本人的学生请点击
http://www.3ast.com/viewthread.php?tid=13841
QQ790653916只负责SEO以及收费教学等方面联系,他人勿扰

于智者同行,你会不同凡响;与高人为伍,你会登上巅峰

沙发.........

TOP

1.FFDFEFEEh
2.00101011B

TOP

学习.................

TOP

返回列表