您的位置:首页 > 其它

8086 CPU 寄存器简介

2013-09-03 10:56 141 查看
8086 CPU 中寄存器总共为 14 个,且均为 16 位 。即 AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAG,CS,DS,SS,ES 共 14 个。而这 14 个寄存器按照一定方式又分为了通用寄存器,控制寄存器和段寄存器。通用寄存器:AX,BX,CX,DX 称作为数据寄存器:AX (Accumulator):累加寄存器,也称之为累加器;BX (Base):基地址寄存器;CX (Count):计数器寄存器;DX (Data):数据寄存器;SP 和 BP 又称作为指针寄存器:SP (Stack Pointer):堆栈指针寄存器;BP (Base Pointer):基指针寄存器;SI 和 DI 又称作为变址寄存器:SI (Source Index):源变址寄存器;DI (Destination Index):目的变址寄存器;控制寄存器:IP (Instruction Pointer):指令指针寄存器;FLAG:标志寄存器;段寄存器:CS (Code Segment):代码段寄存器;DS (Data Segment):数据段寄存器;SS (Stack Segment):堆栈段寄存器;ES (Extra Segment):附加段寄存器;通用寄存器从上面可以知道,在 8086 CPU 中,通用寄存器有 8 个,分别是 AX,BX,CX,DX,SP,BP,SI,DI ,至于为什么给它们取名做通用寄存器,那是因为,这些个寄存器每一个都有自己专门的用途,比如 CX 作为计数寄存器,则是在使用 LOOP 指令循环时用来指定循环次数的寄存器,如果它们每一个都只有一个专用的作用,那就它们只能称之为专用寄存器了,正是因为这些个寄存器还可以用来传送数据和暂存数据,所以才称它们为通用寄存器 。下面就按顺序来一一介绍这几个通用寄存器了:数据寄存器(AX,BX,CX,DX):数据寄存器有 AX,BX,CX,DX 四个组成,由于在 8086 之前的 CPU 为 8 位 CPU,所以为了兼容以前的 8 位程序,在 8086 CPU 中,每一个数据寄存器都可以当做两个单独的寄存器来使用,由此,每一个 16 位寄存器就可以当做 2 个独立的 8 位寄存器来使用了 。AX 寄存器可以分为两个独立的 8 位的 AH 和 AL 寄存器;BX 寄存器可以分为两个独立的 8 位的 BH 和 BL 寄存器;CX 寄存器可以分为两个独立的 8 位的 CH 和 CL 寄存器;DX 寄存器可以分为两个独立的 8 位的 DH 和 DL 寄存器;除了上面 4 个数据寄存器以外,其他寄存器均不可以分为两个独立的 8 位寄存器 ;注意在上面标志中的“独立”二字,这两个字表明 AH 和 AL 作为 8 位寄存器使用时,可以看做它们是互不相关的,也就是看做两个完全没有联系的寄存器 X 和 Y 即可,比如指令 MOV AH , 12H ,CPU 在执行时根本就不会知道 AL 中是什么鬼东西,因为它只认识 AH 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: