- 0
- 0
- 约3.35千字
- 约 21页
- 2019-05-19 发布于江苏
- 举报
第二章 IBM-PC计算机系统概述 CPU内部结构、寄存器、存储器 2.1 CPU功能结构 从存储器中取出一条指令 分析指令的操作码 从存储器中取出所需要的操作数 执行指令 将结果写入存储器 重复下一个指令周期 8086/8088寄存器结构 8086/8088寄存器结构 8086/8088寄存器结构 8086/8088寄存器结构 2.2 8086/8088存储器组织 8086/8088存储器组织 存储器的分段结构 存储器的分段结构 逻辑地址的来源 Intel80x86微处理器简介 Intel80x86微处理器简介 习题 * * 取指令和执行指令可同时执行,从而可以加速程序的运行速度 AH AL BH BL CH CL DH DL SP BP SI DI 标志 DS SS ES 内部寄存器 CS 1 2 3 4 5 6 暂存器 ALU EU 控制器 ALU 总线 控制 电路 通用寄存器 ALU数据总线 (16位) 执行单元EU 总线接口单元BIU 8086总线 (8位) 队 列 总 线 数据总线 地址总线(20位) (16位) 指令队列 8086/8088CPU结构框图 寄存器:CPU内部暂存数据的部件,与ALU可保持同步,速度快,但数量有限 (1)通用寄存器 数据寄存器 AH AL BH BL CH CL DH DL 15 87 0 AX BX CX DX 1、用来保存算术运算和逻辑运算的操作数和中间结果 2、4个16位的寄存器,又可以分开作8位的寄存器使用,例AX可分为AH和AL使用 3、AX又称累加器,BX称基址寄存器,CX称计数寄存器,DX称数据寄存器 地址指针和变址寄存器 SP BP SI DI 1、四个16位的寄存器,不能分开使用 2、SP称为堆栈指针,用来表示栈顶的偏移地址 3、BP称为基址指针寄存器 4、SI称为源变址寄存器,DI称为目的变址寄存器 堆栈:在计算机中用来存放数据的特殊存储区域,按“先进后出,后进先出”的原则进行数据操作 8086/8088寄存器结构 (2)段寄存器 8086/8088中,将存储空间划分为四种逻辑段,它们是: CS(代码段):用于存放指令的空间 DS(数据段):用于存放程序中所需操作数的空间 SS(堆栈段):用于存放程序运行中需要保护的数据空间 ES(附加段):用于存放操作数的存储空间 每个段的段地址则存放在相应的段寄存器中(参考2.2节) 2006.2.17 补码加减运算规则和计算机中的实现过程 以补码形式存在 符号位参加运算 最高位产生的进位可自然丢失 硬件电路简单,容易实现 8086/8088CPU的通用寄存器结构 通用寄存器AX、BX、CX、DX 地址和指针寄存器SP、BP、SI、DI 段寄存器CS、DS、SS、ES 寄存器的名字! 寄存器的长度!! (3)指令指示器IP 1、16位的寄存器 2、指向下一条要执行的指令或下一个指令字节的地址 3、每取出一个指令字节,IP则自动加1 注意: 程序员不能直接访问IP,但可以通过指令改变IP值,从而改变程序的执行顺序 b8 64 00 05 00 01 代码段 IP 自动加1 (4)程序状态字PSW 1、16位的寄存器 2、反映算术运算和逻辑运算的结果特征,及控制后续指令的运行 3、可以通过程序设置或清除PSW中的特征 × × × × O D I T S Z × A × P × C × × × × O D I T S Z × A × P × C (进)借位标志 奇偶标志位 半(进)借位标志 零标志位 负号标志位 单步标志位 允许中断标志位 增量方向标志位 溢出标志位 CF:判断算术运算的最高位是否有(进)借位,0——无,1——有 PF:判断运算结果中是否有偶数个1, 0——奇,1——偶 AF:判断算术运算的第3位是否有(进)借位, 0——无,1——有 ZF:判断运算结果是否为零, 0——不为零,1——是零 SF:判断运算结果是否为负数, 0——为正,1——为负 OF:判断运算结果是否有溢出错误,0——没有,1——溢出 DF:用于串操作指令 IF:用于中断请求是否能被响应的判断 TF:陷阱标志,用于程序调试 × × × × O D I T S Z × A × P × C 低字节单元 高字节单元 字单元 00000 00002 00004 00006 00008 FFFFE 0000A 00001 00003 00005 00009 00007 FFFFF 0000B 15 8 7
原创力文档

文档评论(0)