微机原理之八大通用寄存器
8086CPU拥有8个通用寄存器,分别为:
AX、BX、CX、DX、BP、SP、SI、DI
尽管它们都可以作为数据寄存器使用,但实际上可以把它们分为两大类:AX、BX、CX、DX属于数据寄存器;BP、SP、SI、DI属于地址指针和变址寄存器
一、数据寄存器
数据寄存器拥有两种使用方式:
1、作为16位使用,主要用于存储数据但也可以存储地址
2、将1个16位寄存器拆分成两个8位寄存器,分别用高字节和低字节表示,例如,将AX拆分成AH、AL等,如图
二、地址指针和变址寄存器
SP、BP、SI、DI这组地址指针和变址寄存器加上基址寄存器BX可以和段寄存器一起构成内存的物理地址。
我们使用这些寄存器存放内地址的偏移量以进行灵活寻址
三、八大通用寄存器简介
AX:累加器,是编程中最常用的寄存器,存储计算所产生的中间结果
BX:基址寄存器或基地址指针,用来存放偏移地址
CX:计数寄存器,在循环操作时做计数器用,用于控制循环程序的执行次数
DX:数据寄存器
SP:堆栈指针寄存器,在堆栈操作中使用,可通过PUSH、POP指令从SP中获得现行堆栈段的段内偏移量
故又称堆栈指针
BP:基址指针寄存器
SI:源变址寄存器
DI:目的变址寄存器