通用寄存器是

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通用寄存器是相关的知识,希望对你有一定的参考价值。

参考技术A 8086有14个16位寄存器:8个通用寄存器、1个指令指针寄存器、1个标志寄存器和4个段寄存器。它们都有名称,编程时使用其名称代表其保存的内容。

* AX――累加器(Accumulator),使用频度最高
* BX――基址寄存器(Base Register),常存放存储器地址
* CX――计数器(Count Register),常作为计数器
* DX――数据寄存器(Data Register),存放数据

8086的4个16位数据寄存器:AX、BX、CX、DX,都还可以分为高(H:High)、低(L:low)两个独立的8位寄存器,分别取名为AH / AL、BH / BL、CH / CL、DH / DL;对其中某8位的操作,并不影响另外对应8位的数据。
所以,我们说8086有8个通用的16位寄存器,还有8个通用的8位寄存器。

*
SI――源变址寄存器(Source Index),常保存存储单元地址
*
DI――目的变址寄存器(Destination Index),常保存存储单元地址
*
BP――基址指针寄存器(Base Pointer),表示堆栈区域中的基地址
*
SP――堆栈指针寄存器(Stack Pointer),指示堆栈区域的栈顶地址
*
IP――指令指针寄存器(Instruction Pointer),指示要执行指令所在存储单元的地址。IP寄存器是一个专用寄存器。

汇编笔记二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位通用寄存器 以及 常用汇编指令

通用寄存器

梦回----32位CPU和64位CPU的通用寄存器

四个通用寄存器:AX,BX,CX,DX