• 常用指令


    1.MOV指令(移动)

     比如MOV r/m16,r16

      r:代表寄存器   m16:代表内存  r16:代表16位的通用寄存器

      于是这条指令的意思就是,可以把r16的寄存器中的数据 存到 通用寄存器中也可以存到16位的内存中。

    2.ADD指令(相加) 

     

     例子:假如EAX 00000001,ECX 00000002

      执行:ADD EAX,ECX (EAX和ECX相加再放入EAX里)

      执行完之后会存在EAX里面所以EAX 00000003

    3.SUB指令(相减)

     例子: SUB r8,r/m8(r8减去r/m8中去再存入r8

            SUB AL,byte ptr ds:[18FFA0]

    4.AND指令(与)

     例子 AND r/m32,r32(r/m32的值与r32再存入r/m32)

      AND dword ptr ds:[18FFA0] ,EAX

       5.or指令(或)

     6.XOR指令(异或)

    7.NOT指令(取反)

     8.MOVS指令(移动数据)内存-内存

    1.MOVS允许内存到内存

    2.用MOVS就默认用EDI和ESI

      EDI:要把数据复制到哪里去  ESI:要复制的数据在哪里

    例子:

    指令:一个字节一个字节进行复制

     执行前:

       执行后:

     说明只要指令执行一次,地址的编号就会加1(因为是byte 一个字节一个字节复制,同理如果是word那么内存的地址编号就会每执行一次加2)

    3.标志寄存器EFI (暂时介绍)

     DF 是指第十位

     DF位为0 则EDI和ESI的值就+1/+2/+4

     DF位为1  则EDI和ESI的值就-1/-2/-4

     

     

    9.STOS指令(AI/AX/EAX的值存储到[EDI]指定的内存单元)

     

    10.rep指令(按计数寄存器(ECX)中指定的次数重复执行字符串指令)

    比如ECX存储的值为10

    则MOV  ECX,10(把10存到ECX)

    REP MOVSD(rep执行多少次呢??执行16次。 10 :1111 0000,每执行一次ECX的值会-1,计数嘛)

    REP STOSD(同上)

  • 相关阅读:
    CentOS7下搭建hadoop2.7.3完全分布式
    在linux命令行利用SecureCRT上传下载文件
    SPDY和HTTP
    哈希表的工作原理
    LVS(Linux Virtual Server)
    Discuz x3 UCenter实现同步登陆原理
    Goroutine(协程)为何能处理大并发?
    缓存与DB数据一致性问题解决的几个思路
    固态硬盘SSD与闪存(Flash Memory)
    堆和栈的区别(转过无数次的文章)
  • 原文地址:https://www.cnblogs.com/cat47/p/12254077.html
Copyright © 2020-2023  润新知