(以16位的8086计算机为教学对象)
- 累加器:用于算术、逻辑运算以及与外设传送信息等。
- 基址寄存器:常于存放存储器地址。
- 计数器:作为循环或串操作等指令中的隐含计数器。
- 数据寄存器:用来存放双字数据的高16位,或存放外设端口地址。
指针寄存器和变址寄存器用于存放某个存储单元的偏移地址
- 堆栈指针:用于存放当前堆栈段中栈顶的偏移地址。
- 基址指针:用于存放堆栈段中某一存储单元的偏移地址。
- 源地址:在字符串操作中,具有自动增量或减量的功能。
- 目的地址:在字符串操作中,具有自动增量或减量的功能。
- 指令指针:保存下一次将要取出指令的偏移地址,内容由微处理器硬件自动设置,有一些指令可改变IP的值。
标志寄存器:包含9个标志位,保存一条指令执行后CPU所处状态信息及运算结果的特征。
- 段寄存器:器用来确定该段在内存中的起始地址,便于操作系统执行。
【特别说明:堆栈的两种访问方式——随机访问(使用BP)、栈顶访问(使用SP)】
字节单元(8位)*2 = 字单元(16位)
字单元的低位字节存入低位地址,高位字节存入高位地址,其地址以低位地址表示。
存储器采用分段方式:
20位物理地址,存储器寻址空间为1MB,
16位段地址,最多分64K段,每段最小寻址空间为16B,
16位偏移地址,每段最大寻址空间为64KB,最少分1MB/64KB=16段。
CS、DS、SS、ES寄存器所指向的各段在存储器中的分配是由操作系统负责的,一般情况下,根据需求量分配。
注意:只有CS段寄存器是操作系统分配的,应用程序可读但不可写,其它的段寄存器都可以被修改。