寄存器结构、存储器管理.ppt

上传人:tia****nde 文档编号:8846112 上传时间:2020-04-01 格式:PPT 页数:29 大小:974.36KB
返回 下载 相关 举报
寄存器结构、存储器管理.ppt_第1页
第1页 / 共29页
寄存器结构、存储器管理.ppt_第2页
第2页 / 共29页
寄存器结构、存储器管理.ppt_第3页
第3页 / 共29页
点击查看更多>>
资源描述
两个独立的功能部件 执行部件EU 总线接口部件BIU 2 280X86系列微处理器的功能结构 2 2 18086 8088及80286微处理器的功能结构1 8086 8088CPU的功能结构 基本结构寄存器通用数据寄存器 1 8086 8088CPU的功能结构 1 8086 8088CPU的功能结构 标志寄存器EFLAGS Flags 80486 D0 D18的15个标志PENTIUM D0 D21的18个标志 1 8086 8088CPU的功能结构 标志寄存器EFLAGS Flags 8086的状态标志和控制标志 TF DF IF OF SF ZF AF PF CF 控制标志 状态标志 跟踪 状态标志 标示CPU运行结果的状态 结果为零 为负 产生进位或借位等 控制标志 控制CPU的运行状态 基本结构寄存器 1 8086 8088CPU的功能结构 标志寄存器 分类 状态标志 用来记录程序运行结果的状态信息 许多指令的执行都将相应地设置它CFZFSFPFOFAF控制标志 可由程序根据需要用指令设置 用于控制处理器执行指令的方式DFIFTF 标志寄存器FLAGS 进位标志CF CarryFlag 当运算结果的最高有效位有进位 加法 或借位 减法 时 进位标志置1 即CF 1 否则CF 0 3AH 7CH B6H 没有进位 CF 0AAH 7CH 1 26H 有进位 CF 1 零标志ZF ZeroFlag 若运算结果为0 则ZF 1 否则ZF 0 3AH 7CH B6H 结果不是零 ZF 084H 7CH 1 00H 结果是零 ZF 1 注意 ZF为1表示的结果是0 符号标志SF SignFlag 运算结果最高位为1 则SF 1 否则SF 0 3AH 7CH B6H 最高位D7 1 SF 184H 7CH 1 00H 最高位D7 0 SF 0 有符号数据用最高有效位表示数据的符号所以 最高有效位就是符号标志的状态 奇偶标志PF ParityFlag 当运算结果最低字节中 1 的个数为零或偶数时 PF 1 否则PF 0 3AH 7CH B6H 10110110B结果中有5个 1 是奇数 PF 0 PF标志仅反映最低8位中 1 的个数是偶或奇 即使是进行16位字操作 溢出标志OF OverflowFlag 若算术运算的结果有溢出 则OF 1 否则OF 0 3AH 7CH B6H 产生溢出 OF 1AAH 7CH 1 26H 没有溢出 OF 0 什么是溢出 处理器内部以补码表示有符号数8位表达的整数范围是 127 12816位表达的范围是 32767 32768如果运算结果超出这个范围 就产生了溢出有溢出 说明有符号数的运算结果不正确 3AH 7CH B6H 就是58 124 182 已经超出 128 127范围 产生溢出 故OF 1 补码B6H表达真值是 74 显然运算结果也不正确 B6H 10110110B 最高位为1 作为有符号数是负数对B6H求反加1等于 01001001B 1 01001010B 4AH 74所以 B6H表达有符号数的真值为 74 溢出和进位的区别 溢出标志OF和进位标志CF是两个意义不同的标志进位标志表示无符号数运算结果是否超出范围 运算结果仍然正确溢出标志表示有符号数运算结果是否超出范围 运算结果已经不正确 溢出和进位的对比 例1 3AH 7CH B6H无符号数运算 58 124 182范围内 无进位有符号数运算 58 124 182范围外 有溢出 例2 AAH 7CH 1 26H无符号数运算 170 124 294范围外 有进位有符号数运算 86 124 28范围内 无溢出 溢出和进位的应用场合 处理器对两个操作数进行运算时 按照无符号数求得结果 并相应设置进位标志CF 同时 根据是否超出有符号数的范围设置溢出标志OF应该利用哪个标志 则由程序员来决定 也就是说 如果将参加运算的操作数认为是无符号数 就应该关心进位 认为是有符号数 则要注意是否溢出 溢出的判断 判断运算结果是否溢出有一个简单的规则 只有当两个相同符号数相加 包括不同符号数相减 而运算结果的符号与原数据符号相反时 产生溢出 因为 此时的运算结果显然不正确其他情况下 则不会产生溢出 例1 3AH 7CH B6H溢出例2 AAH 7CH无溢出例3 3AH 7CH无溢出例4 AAH 7CH 2DH溢出 辅助进位标志AF AuxiliaryCarryFlag 3AH 7CH B6H D3有进位 AF 1 运算时D3位 低半字节 有进位或借位时 AF 1 否则AF 0 这个标志主要由处理器内部使用 用于十进制算术运算调整指令中 用户一般不必关心 方向标志DF DirectionFlag 用于串操作指令中 控制地址的变化方向 设置DF 0 存储器地址自动增加 设置DF 1 存储器地址自动减少 CLD指令复位方向标志 DF 0STD指令置位方向标志 DF 1 中断允许标志IF Interrupt enableFlag 控制可屏蔽中断是否可以被处理器响应 设置IF 1 则允许中断 设置IF 0 则禁止中断 CLI指令复位中断标志 IF 0STI指令置位中断标志 IF 1 陷阱标志TF TrapFlag 用于控制处理器进入单步操作方式 设置TF 0 处理器正常工作 设置TF 1 处理器单步执行指令 单步执行指令 处理器在每条指令执行结束时 便产生一个编号为1的内部中断这种内部中断称为单步中断所以TF也称为单步标志利用单步中断可对程序进行逐条指令的调试这种逐条指令调试程序的方法就是单步调试 段寄存器对所有X86级CPU均为16位寄存器 8086CPU 段寄存器直接给出段基址 代码段 CS代码段存贮区的起始地址堆栈段 SS堆栈段存贮区的起始地址数据段 DS ES FS GS 8086只有二个数据段寄存器DS ES 数据段存贮区的起始地址 基本结构寄存器 80286以上CPU 由段寄存器 选择器 经全局描述符或局部描述符寄存器得到相应的描述符表 从而得到段基址 与偏移地址相加得到线性物理地址 1 8086 8088CPU的功能结构 低地址 LSB MSB 2 2 28086 8088存储器组织及其寻址 8086 8088的存诸格式 存贮器的物理地址以字节为最小基本存储单元的顺序编址 220 1024K 1MB空间 从00000H到0FFFFFH个单元的20位绝对地址 存贮器数据存储1 字节数据8位 对应每一地址存储一个数据 2 2 28086 8088存储器组织及其寻址 2 字数据16位 连续2个字节数据构成一个字高8位字节对应高位地址 低8位字节对应低位地址字的地址 为低8位字节的地址规则字 偶地址字 非规则字 奇地址字 3 双字数据32位 类同字的存储 存贮器的逻辑地址将1MB空间 小于等于216 64K连续的存储器为一段 分为多个段 每个段可以独立寻址 段地址 段的起始地址 段的编号 是该段的最低地址 偏移地址 段内地址的顺序编号 段地址 段内偏移地址的表示方法称逻辑地址 如 2000H 100H 2 2 28086 8088存储器组织及其寻址 分段之间必须 1 保持16个字节或其整数倍为段地址间距 2 16位段寄存器表示段基址 段寄存器加1实际上存储器地址加16 3 段可连续 分散 重迭 物理地址与逻辑地址的关系 物理地址PA 段地址 16 偏移地址 EA 2 2 28086 8088存储器组织及其寻址 也可表为0102H 0003HPA 0102H 10H 0003H 1023H 两段间距为20H单元 两种逻辑地址表示同一个物理地址单元01023H 00000H 00001H FFFFFH FFFFEH XX 01023H 01000H 01001H 01002H 01022H 01021H 01020H PA 0100H 10H 0023H 1023H 2 2 28086 8088存储器组织及其寻址 端口 接口中的寄存器端口号 端口中寄存器的地址编号用低16位地址为其编号 共有64K个端口号 CPU与外部设备之间的通过接口进行连接 2 2 38086 8088的I O地址空间 课后作业 P723 4 5 7 指令译码 执行指令ADDAL 100H CS IP F0300HIP指下条指令 ADD指令 指令队列
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!