上泽究鱼大学 微型计算机原理与接口技术 6of52 Shanghai Jiao Tong University 二、 编程结构(功能结构) 执行单元(EU)!总线接口单元(BIU)地址总线 (20位) 通用寄存器组 AH AL AX 地址加法器 BH BL BX CH CL CX 数据总线 (16位) DH DL DX SP BP CS DI DS 段寄 SI SS 存器组 ALU数据总线 ES (16位) P 内部寄存器 总线 控制 逻辑 总线 暂存寄存器 电路 EU控制电 队列! 指令流队列 总线 6位 标志寄存器
微型计算机原理与接口技术 6 of 52 二、 编程结构(功能结构) SS ES 内部寄存器 CS DS 段寄 存器组 ALU 地址加法器 总线 控制 逻辑 电路 CPU 总线 IP 1 2 3 4 5 6 E U 控 制 电 路 AH AL BH BL CH CL DH DL SP BP DI SI 通用寄存器组 AX BX CX DX 暂存寄存器 标志寄存器 指令流队列 数据总线 (16位) 地址总线 (20位) ALU数据总线 (16位) 队列 总线 (16位) EU BIU
上泽究道大漫 微型计算机原理与接口技术 7of52 Shanghai Jiao Tong University 三、寄存器结构 15 87 0 15 0 AX AH AL 累加器 CS 代码段寄存器 BX BH BL 基址寄存器 DS 数据段寄存器 CX CH CL 计数寄存器 SS 堆栈段寄存器 DX DH DL 数据寄存器 ES 附加段寄存器 通用寄存器组 段寄存器 15 0 SP 堆栈指针寄存器 15 0 BP 基址指针寄存器 IP 指令指针寄存器 DI 目的针寄存器 PSW 标志寄存器 SI 源指针寄存器 指令指针和 指针和变址寄存器 标志寄存器
微型计算机原理与接口技术 7 of 52 三、 寄存器结构
上泽充鱼大崇 微型计算机原理与接口技术 8of52 Shanghai Jiao Tong University 通用寄存器: 15 87 0 AX AH AL 累加器 每一个数据寄存器都是16位 BX BH BL 基址寄存器 寄存器,但又可将高8位和 CX CH CL 计数寄存器 低8位分别作为两个独立的8 DX DH DL 数据寄存器 通用寄存器组 位寄存器使用。 ①AX:常用于存放算术逻辑运算中的操作数。所有的/O指 令都使用累加器与外设接口传送信息。 ②BX:常用来存放访问内存时的基地址。 ③CX:在循环和串操作指令中用做计数器。 ④DX:在寄存器间接寻址的/O指令中存放I/O端口的地址。 ⑤在做双字长乘、除法运算时,DX与AX合起来存放一个双 字长数(32位),其中DX存放高16位,AX存放低16位
微型计算机原理与接口技术 8 of 52 通用寄存器 : 每一个数据寄存器都是16位 寄存器,但又可将高8位和 低8位分别作为两个独立的8 位寄存器使用。 ①AX:常用于存放算术逻辑运算中的操作数。所有的I/O指 令都使用累加器与外设接口传送信息。 ②BX:常用来存放访问内存时的基地址。 ③CX:在循环和串操作指令中用做计数器。 ④DX:在寄存器间接寻址的I/O指令中存放I/O端口的地址。 ⑤在做双字长乘、除法运算时,DX与AX合起来存放一个双 字长数(32位),其中DX存放高16位,AX存放低16位
上泽究鱼大岸 微型计算机原理与接口技术 9of52 Shanghai Jiao Tong University 指针和变址寄存器: 0 SP:在堆栈操作中用来存放 SP 堆栈指针寄存器 BP 基址指针寄存器 栈顶的偏移地址,永远指向 DI 源指针寄存器 堆栈的栈顶。 SI 目的指针寄存器 指针和变址寄存器 BP:基地址指针寄存器。一般也常用来存放访问内 存时的基地址。但它通常是与SS寄存器配对使用(BX 通常是与DS寄存器配对使用)。 SI、DI:它们常常在变址寻址方式中作为索引指针。 在字符串操作指令中,要求用SI作为源变址寄存器, 存放源操作数的偏移地址;DI作为目标变址寄存 器,存放目标操作数的偏移地址
微型计算机原理与接口技术 9 of 52 指针和变址寄存器: SP:在堆栈操作中用来存放 栈顶的偏移地址,永远指向 堆栈的栈顶。 堆栈指针寄存器 基址指针寄存器 源指针寄存器 目的指针寄存器 BP:基地址指针寄存器。一般也常用来存放访问内 存时的基地址。但它通常是与SS寄存器配对使用(BX 通常是与DS寄存器配对使用)。 SI、DI:它们常常在变址寻址方式中作为索引指针。 在字符串操作指令中,要求用SI作为源变址寄存器, 存放源操作数的偏移地址;DI作为目标变址寄存 器,存放目标操作数的偏移地址
上泽充鱼大崇 微型计算机原理与接口技术 10of52 Shanghai Jiao Tong University 段寄存器: 15 0 CS:代码段存放的是当前执行 CS 代码段寄存器 程序的指令代码。CS的内容是代 DS 数据段寄存器 码段的段基地址,它和指令指针 SS 堆栈段寄存器 P一起决定下一条所要执行指令 ES 附加段寄存器 的物理存储地址。 段寄存器 DS:数据段通常用来存放数据和字符。DS存放当前数据段的 段基地址。 ES:附加段是一个附加数据段,主要用在字符串操作时作为 目标地址使用。ES的内容就是附加段的段基地址。 SS:堆栈是在存储器中开辟的一个特殊存储区,用于存放当 前暂时不用但又需要保存的数据和地址。如在子程序调用或 响应中断时需要保存返回主程序的地址和进入子程序后将要 改变其值的寄存器的内容
微型计算机原理与接口技术 10 of 52 段寄存器: CS:代码段存放的是当前执行 程序的指令代码。CS的内容是代 码段的段基地址,它和指令指针 IP一起决定下一条所要执行指令 的物理存储地址。 DS:数据段通常用来存放数据和字符。DS存放当前数据段的 段基地址。 ES:附加段是一个附加数据段,主要用在字符串操作时作为 目标地址使用。ES的内容就是附加段的段基地址。 SS:堆栈是在存储器中开辟的一个特殊存储区,用于存放当 前暂时不用但又需要保存的数据和地址。如在子程序调用或 响应中断时需要保存返回主程序的地址和进入子程序后将要 改变其值的寄存器的内容