text: 寄存器(详细讲解)
  寄存器 寄存器是内存阶层中的最顶端，也是系统获得操作资料的最快速途径。
  寄存器 32 位 CPU 的寄存器结构 寄存器是中央处理器内的组成部分。
  在某些简单/旧的 CPU，特别的数据寄存 寄存器 器是累加器，作为数学计算之用。
  指令寄存器(instruction 储存现在正在被运行的指令 索引寄存器(index 是在程序运行实用来更改运算对象地址之用。
  由于他 PORT1 的控制寄存器 们的意图目的是附加到特定处理器的设计，因此他们并不被预期会成微处理器世代之间保留的标准。
  数据寄存器分为: AH&AL=AX(accumulator):累加寄存器，常用于运算;在乘除等指令中指定用来存放操作数，另外,所有的 I/O 指令都使用这一寄存器与外界设备传送数据。
  BH&BL=BX(base):基址寄存器，常用于地址索引 CH&CL=CX(count):计数寄存器，常用于计数;常用于保存计算值，如在移位指令,循环(loop)和串处理指令中用作隐含的计数器. DH&DL=DX(data):数据寄存器，常用于数据传递。
  另一组是指针寄存器和变址寄存器，包括: SP(Stack Pointer):堆栈指针，与 SS 配合使用，可指向目前的堆栈位置 BP(Base Pointer):基址指针寄存器，可用作 SS 的一个相对基址位置 SI(Source Index):源变址寄存器可用来存放相对于 DS 段之源变址指针 DI(Destination Index):目的变址寄存器，可用来存放相对于 ES 段之目的变址指针。
  指令指针 IP(Instruction Pointer) 指令指针 IP 是一个 16 位专用寄存器，它指向当前需要取出的指令字节，当 BIU 从内存中取出一个指令字 寄存器 节后，IP 就自动加 1，指向下一个指令字节。
  标志寄存器 FR(Flag Register) 8086 有一个 16 位的标志性寄存器 FR，在 FR 中有意义的有 9 位，其中6 位是状态位，3 位是控制位。
  TF 标志没有专门的指令来设置或清除。
  在判断运算结果 寄存器 是否为 0 时，可使用此标志位。
  CF:进位标志 CF 主要用来反映无符号数运算是否产生进位或借位。
  段寄存器(Segment Register) 为了运用所有的内存空间，8086 设定了四个段寄存器，专门用来保存段地址: CS(Code Segment):代码段寄存器 DS(Data Segment):数据段寄存器 SS(Stack Segment):堆栈段寄存器 ES(Extra Segment):附加段寄存器。
  8086 以内存作为战场，用寄存器做为军事基地，以加速工作。
  备注:由于所讲的是 16 位 cpu(地址线为 16 个)2 的 16 次幂就是 64K，所以 16 位段地址不能超过 64K，超过 64K 会造成 64K 以上的地址找不到。
  编辑本段 工作原理 寄存器的功能十分重要，CPU 对存储器中的数据进行处理时，往往先把数据取到内部寄存器中，而后再作处理。
  编辑本段 特点 寄存器又分为内部寄存器与外部寄存器，所谓内部寄存器，其实也是一些小的存储单元，也能存储数据。
  但同存储器相比，寄存器又有自己独有的特点: ①寄存器位于 CPU 内部，数量很少，仅十四个
  ②寄存器所能存储的数据不一定是 8bit，有一些寄存器可以存储 16bit数据，对于 386/486 处理器中的一些寄存器则能存储 32bit 数据 ③每个内部寄存器都有一个名字，而没有类似存储器的地址编号。
  UASRT 模块的基本操作由该寄存器的控制位确定的，它包含了通信协议、通信模式和校验位等的选择。
  图 图给出了寄存器的各个位。
  图 UxCTL 寄存器 由图可以看出，UxCTL 寄存器主要包括 8 个有效的控制位。
  通过以上对 UxCTL 寄存器的各个位的介绍，可以完成对通信模式和通信数据格式等的选择。
  通用寄存器 顾名思义，通用寄存器是那些你可以根据自己的意愿使用的寄存 通用寄存器 器，修改他们的值通常不会对计算机的运行造成很大的影响。
  在保护模式中，也可以作为内存偏移指针(此时，DS 作为段 寄存器或选择器) EBX:通用寄存器。
  同 AX 分为 AH&AL 一样，上述寄存器包括对应的 16-bit 分组和 8-bit分组。
  用作内存指针的特殊寄存器 ESI:通常在内存操作指令中作为“源地址指针”使用。
  当然，ESI 可以被装入任意的数值，但通常没有人
  EBP 和 ESP:作为指针的寄存器，也可作为 16 位寄存器 BP, SP 使用，常用于椎栈操作。