第一章|nte8086/8088的基本结构 8086是16位字长的微处理器,8088的内部结构为16 位,外部数据总线8位,是准16位字长的微处理器,二者 指令系统相同,均具有20位地址线,寻址能力达到1MB空 180868088的功能结构 8086/8088微处理器由总线接口单元和执行单元组成。 总线接口单元BIU( Bus Interface Unit) 执行单元EU( Execution Unit) 协同完成执行内存中存放的指令序列。Gρ BIU和EU相互独立,可并行操作,构成指令流水线结构。 TI T2 BU取指令取指令取指令 EU等待执行执行执行 next
第一章 Intel 8086/8088的基本结构 8086是16位字长的微处理器,8088的内部结构为16 位,外部数据总线8位,是准16位字长的微处理器,二者 指令系统相同,均具有20位地址线,寻址能力达到1MB空 间。1.1 8086/8088的功能结构 BIU 和 EU 相互独立,可并行操作,构成指令流水线结构。 T1 取指令 取指令 取指令 …… 等待 执行 执 行 执行 …… BIU EU T2 T3 next 总线接口单元 BIU( Bus Interface Unit ) 执行单元 EU( Execution Unit ) 协同完成执行内存中存放的指令序列。Go 8086/8088微处理器由总线接口单元 和执行单元组成
存储器接口 BIU 地址加法器 C-BUS B- BUS 又带令波列 B、、s、D 和IP寄存器组 上U腔辋系统 A-BUS AX、BX、CX、DX、SP、 ALU BP、S和D寄存器组 程序状态字 寄存器 eanenaeddass090031 图11 图1.18086/8088的功能结构
图 1.1
128086/8088的寄存器结构 AH AL 14个16位寄存器,分为4类。 BH BL BX 数据寄存器 1)数据寄存器 CH CL CX 4个AX、BX、CX、DX DH DL DX 计算过程中的常用寄存器G 代码段寄存器 (2)段寄存器: D 数据段寄存器 4个_CS、DS、SS、ES 堆栈段寄存器 存放段起始地址G 附加段寄存器 3)指针与变址寄存 SP 堆栈指针寄存器 4个_SP、BP、SI、DI BP 基址指针寄存器 提供操作数的偏移地址G 源变址寄存器 目的变址寄存器 (4)控制寄存器: P、FR P 指令指针寄存器 提供指令的偏移地址 FRH FRL标志寄存器 保存条件码标志和控制标志G
1.2 8086/8088的寄存器结构 14个16位寄存器,分为4类。 (1)数据寄存器: 4个—AX、 BX、 CX、 DX 计算过程中的常用寄存器 G (2) 段寄存器: 4个—CS、 DS、 SS、 ES 存放段起始地址 G (3) 指针与变址寄存器: 4个—SP、 BP、 SI、 DI 提供操作数的偏移地址 G (4) 控制寄存器: 2个—IP、 FR 提供指令的偏移地址; 保存条件码标志和控制标志 G AX BX CX DX 数据寄存器 FRH AH BH CH DH AL BL CL DL SP BP SI DI IP FRL CS DS SS ES 代码段寄存器 数据段寄存器 堆栈段寄存器 附加段寄存器 堆栈指针寄存器 基址指针寄存器 源变址寄存器 目的变址寄存器 指令指针寄存器 标志寄存器 next
AX(累加器 Accumulator): 主要的算术运算寄存器,专用于:乘、除法运算、十进 制调整及I/O操作等操作。 BX(基址寄存器Base): 常用于存放存储区的起始地址。 CX(计数寄存器 Count) 常用作循环操作和字串处理的计数控制。 DX(数据寄存器Data): 常与AX联用,做双字乘、除法时,DX存放高位字,AX 存放低位字。此外在IO操作时提供外部设备接口的端口地址。 1615 DXⅩ AX 返回
AX(累加器 Accumulator): 主要的算术运算寄存器,专用于:乘、除法运算、十进 制调整及I/O操作等操作。 BX(基址寄存器 Base): 常用于存放存储区的起始地址。 CX(计数寄存器 Count): 常用作循环操作和字串处理的计数控制。 DX(数据寄存器 Data): 常与AX联用,做双字乘、除法时,DX存放高位字,AX 存放低位字。此外在I/O操作时提供外部设备接口的端口地址。 返回 DX AX 31 16 15 0
CS(代码段地址寄存器 Code Segment) 存放代码段的起始地址。代码段存放当前正在运行的程序 DS(数据段地址寄存器 Data Segment) 存放数据段的起始地址。数据段存放当前正运行的程序所用 的数据。 S(堆栈段地址寄存器 Stack Segment) 存放堆栈段的起始地址。堆栈段是定义堆栈的存储区。 ES(附加段地址寄存器 Extra Segment) 存放附加段的起始地址。附加段是附加的数据段,作为辅 助数据区存放当前正运行程序所用的数据。 返回
CS(代码段地址寄存器 Code Segment): 存放代码段的起始地址。代码段存放当前正在运行的程序 DS(数据段地址寄存器 Data Segment): 存放数据段的起始地址。数据段存放当前正运行的程序所用 的数据。 SS(堆栈段地址寄存器 Stack Segment): 存放堆栈段的起始地址。堆栈段是定义堆栈的存储区。 ES(附加段地址寄存器 Extra Segment): 存放附加段的起始地址。附加段是附加的数据段,作为辅 助数据区存放当前正运行程序所用的数据。 返回