首页 > 代码库 > 汇编笔记二【32位通用寄存器 以及 常用汇编指令】

汇编笔记二【32位通用寄存器 以及 常用汇编指令】

一、32位通用寄存器(EAX,ECX,EDX,EBP,ESP,EBP,ESI,EDI)

技术分享

 

二、十六位通用寄存器(AX,CX,DX,BX,SP,BP,SI,DI)

 

三、八位通用寄存器(AH,AL,CH,CL,DH,DL,BH,BL)

技术分享

 

四、32位,16位,8位寄存器之间的关系

  1.寄存器都是高位在前,低位在后。

  2.都是包含关系,32位寄存器之中包含了16位寄存器,16位寄存器之中包含了8位寄存器。

  关系如下:

  技术分享

五、32位的含义

  一位只能放0或1,32位就意味着能放32个0或1。

  所以32位最小取值为00000000000000000000000000000000=0x00000000

            最大取值为11111111111111111111111111111111=0xFFFFFFFF

 

六、OD中EIP的含义:EIP指向了当前CPU运行到的指令地址。双击EIP的值,可以在CPU窗口中回到EIP指向的地址。

  技术分享

 

七、汇编常见指令及其用法

  A、Mov指令

    定义:拷贝源操作数到目标操作数

    语法定义:Mov 目标操作数,源操作数

    语法规定:

      a、源操作数可以使立即数,通用寄存器,段寄存器,或者内存单元

      b、目标操作数可以是通用寄存器,段寄存器,或者内存单元

      c、操作数的宽度必须一样

      d、源操作数和目标操作数不能同时为内存单元

           技术分享

  B、ADD指令

    定义:加法指令,两数相加

        技术分享

  C、SUB指令

    定义:减法指令,两数相减

  D、AND指令

    定义:与指令,两个数都是1,结果才是1

  E、OR指令

    定义:或指令,两个数只要有一个为1,结果就是1.

  F、XOR指令

    定义:异或指令,两个数不相同,结果才是1

  G、NOT指令

    定义:非指令,当被此运算符修饰时,每位取反

       技术分享

汇编笔记二【32位通用寄存器 以及 常用汇编指令】