怎么把寄存器拆分为位
发布网友
发布时间:2023-02-13 22:08
我来回答
共1个回答
热心网友
时间:2023-09-11 18:56
寄存器是CPU中的一部分。它是一个高速存贮部件,可以用来暂存指令、数据和地址。每个CPU中有多个寄存器,例如8086CPU中含有14个寄存器。
它的存储量有限 :2个字节(Byte)、4个字节,也就是 16 bit、32
bit。所以所有的寄存器都是16位的。
特点:存在CPU中,运行速度快
讲到CPU ,这里简单提一下
CPU是由三个部分组成:
运算器
控制器
寄存器
寄存器简介
16位CPU所包含的寄存器(共14个):
4个数据寄存器(AX、BX、CX和DX):
主要用来保存操作数和运算结果等信息。
由于在8086之前的CPU为8位CPU,为了兼容以前的8位程序,在8086CPU中,每一个数据寄存器都
可以当作两个单独的寄存器来使用。
注意:除了这4个数据寄存器外,其他寄存器均不能分为两个独立的8位寄存器。
并且不能存放存储单元的地址。
下图中将16位的寄存器拆分成 两个8位寄存器,这里 AL 中的L表示低8位的寄存器,AH中的H 表示
为高8位的寄存器在这里插入图片描述
在这里插入图片描述
2个变址寄存器(SI和DI)2个指针寄存器(SP和BP)4个段寄存器(ES、CS、SS、DS)1个指令指针寄存器(IP)1个标志寄存器(Flags)
32位CPU所包含的寄存器(共16个):
4个数据寄存器(EAX、EBX、ECX和EDX):
注意:除了这4个数据寄存器外,其他寄存器均不能分为两个独立的8位寄存器。
EAX、EBX、ECX和EDX不仅可以传送数据、暂存数据保存算数逻辑运算结果,而且也可作为
指针寄存器,所以32位寄存器更具有通用性。
2个变址寄存器(ESI和EDI)
2个指针寄存器(ESP和EBP)
6个段寄存器(ES、CS、SS、DS、FS和GS)
1个指令指针寄存器(EIP)
1个标志寄存器(EFlags)