8086cpu中寄存器如何分组?每组寄存器的主要用途?那些寄存器用来指示有存储单元的偏移地址?

8086cpu中寄存器如何分组?每组寄存器的主要用途?那些寄存器用来指示有存储单元的偏移地址?

8086 CPU中有8个通用寄存器AX、BX、CX、DX、SP、BP、SI、DI;两个控制寄存器IP、FL;四个段寄存器CS、DS、SS、ES。8个通用寄存器都可以用来暂存参加运算的数据或中间结果,但又有各自的专门用途。例如,AX专用做累加器,某些指令指定用它存放操作数和运算结果;CX为计数寄存器,在某些指令中做计数器使用;DX为数据寄存器;BX为基址寄存器,BP为基址指针,SI为源变址寄存器,DI为目的变址寄存器,这4个寄存器在数据寻址中用来存放段内偏移地址(有效地址)或段内偏移地址的一部分;SP为堆栈指示器,用来存放栈顶有效地址。两个控制寄存器用来存放有关的状态信息和控制信息。例如,标志寄存器FL用来存放状态标志和控制标志;而指令指针用来存放下一条要取指令的有效地址。四个段寄存器用来存放段地址。例如,CS寄存器用来存放代码段的段地址;DS寄存器用来存放数据段的段地址;SS寄存器用来存放堆栈段的段地址;ES寄存器用来存放扩展段的段地址。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-13
答:8086 CPU 中有 8 个通用寄存器 AX、BX、CX、DX、SP、BP、SI、DI;两个控制寄存器 IP、FR;
4 个段寄存器 CS、DS、SS、ES。8 个通用寄存器都可以用来暂存参加运算的数据或中间结果,但又有
各自的专门用途。例如,AX 专用做累加器,某些指令指定用它存放操作数和运算结果;CX 为计数寄存
器,在某些指令中做计数器使用;DX 为数据寄存器;BX 为基址寄存器,BP 为基址指针,SI 为源变址
寄存器,DI 为目的变址寄存器,这 4 个寄存器在数据寻址中用来存放有效地址或段内偏移地址的一部分;
SP 为堆栈指示器,用来存放栈顶有效地址。两个控制寄存器用来存放有关的状态信息和控制信息。例如,
标志寄存器 FR 用来存放状态标志和控制标志;而指令指针用来存放下一条要取指令的有效地址。4 个
段寄存器用来存放内存的段地址。
相似回答