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