网站大量收购闲置独家精品文档,联系QQ:2885784924

微机原理第02章节1.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理第02章节1

医用电子教研室 陈浩 副教授 TELQQ:247131541 第三节 8088/8086引脚功能概述 8088/8086CPU引脚及封装形式 双列直插式封装: DIP40 8088/8086CPU引脚定义 8088/8086CPU最小模式下的引脚功能 AD0-15 地址数据复用引脚,三态双向IO A16-19/S3-6 地址状态复用引脚,三态单向输出 BHE/SS0 高8位数据总线允许/状态引脚,三态输出 RD及WR M/IO 读、写选择信号引脚, 三态输出 NMI不可屏蔽中断请求信号引脚,上升沿有效 INTR 可屏蔽中断请求信号引脚,高电平有效 INTA 中断响应信号引脚,低有效 ALE及DEN、DT/R 数据收发信号 HOLD及HLDA 总线保持请求、响应引脚,输出。 TEST,READY 判断及等待信号,输入 RESET,MN/MX 和电源引脚 8088/8086CPU最小模式下的引脚功能 8088/8086CPU工作模式 最大模式和最小模式由引脚MN/MX决定 最小模式下的 引脚功能 堆栈段寄存器SS(Stack Segment) 堆栈段确定堆栈所在的主存区域 堆栈段寄存器SS存放堆栈段的段地址 堆栈指针寄存器SP指示堆栈栈顶的偏移地址 处理器利用SS:SP操作堆栈顶的数据 规定由SS指示堆栈段的段基址,堆栈指针SP始终指向堆栈的顶部,SP的初值规定了所用堆栈区的大小。堆栈的最高地址叫栈底。 SP SS 堆栈段 进栈方向 退栈方向 栈底 栈顶 主程序 IP 继续执行 主程序 执行子程序 转子程序 压栈 弹出 返回主程序 主程序 IP IP(下) 继续执行 主程序 转子程序1 返回主程序 IP’ 执行子程序 2 转子程序2 返回子程序1 IP’(下) 执行子 程序1 继续执行 子程序1 (a) (b) 子程序调用示意图 (a) 主程序调子程序; (b) 子程序嵌套示意图 压栈 弹出 IP(下) 堆栈及堆栈段的使用 内存中一个按FILO方式操作的特殊区域 每次压栈和退栈均以WORD为单位 SS存放堆栈段地址,SP存放段内偏移,SS:SP构成了堆栈指针 堆栈用于存放返回地址、过程参数或需要保护的数据 常用于响应中断或子程序调用 堆栈操作 SP SS SS 压栈前 退栈后 高 低 低 高 高 12H SS F0H SP 压栈后 低 高 SP SP SP F0H 12H SP [例]: 若已知(SS)=1000H (SP)=2000H 则堆栈段的段首地址=? 栈顶地址=? 若现在把1234H送入堆 栈,则它所在的存储单元 地址=? 段首 栈底 栈顶 堆 栈 段 数据段寄存器DS(Data Segment) 数据段存放运行程序所用的数据 数据段寄存器DS存放数据段的段地址 各种主存寻址方式(有效地址EA)得到存储器中操作数的偏移地址 处理器利用DS:EA存取数据段中的数据 附加段寄存器ES(Extra Segment) 附加段是附加的数据段,也保存数据: 附加段寄存器ES存放附加段的段地址 各种主存寻址方式(有效地址EA)得到存储器中操作数的偏移地址 处理器利用ES:EA存取附加段中的数据 串操作指令将附加段作为其目的操作数的存放区域 如何分配各个逻辑段 程序的指令序列必须安排在代码段 程序使用的堆栈一定在堆栈段 程序中的数据默认是安排在数据段,也经常安排在附加段,尤其是串操作的目的区必须是附加段 数据的存放比较灵活,实际上可以存放在任何一种逻辑段中 演示 段超越前缀指令 没有指明时,一般的数据访问在DS段;使用BP访问主存,则在SS段 默认的情况允许改变,需要使用段超越前缀指令;8088指令系统中有4个: CS: ;代码段超越,使用代码段的数据 SS: ;堆栈段超越,使用堆栈段的数据 DS: ;数据段超越,使用数据段的数据 ES: ;附加段超越,使用附加段的数据 示例 段超越的示例 没有段超越的指令实例: MOV AX,[2000H] ;AX←DS:[2000H] ;从默认的DS数据段取出数据 采用段超越前缀的指令实例: MOV AX,ES:[2000H];AX←ES:[2000H] ;从指定的ES附加段取出数据 总结 段寄存器的使用规定 访问存储器的方式 默认 可超越 偏移地址 取指令 CS 无 IP 堆栈操作 SS 无 SP 一般数据访问 DS CS ES SS 有效地址EA BP基址的寻址方式 SS CS ES DS 有效地址EA 串操作的源操作数 DS CS ES SS SI 串操作的目的操作数 ES 无 DI 寄存器的总结 8088有8个8位通用寄存器、8个16位通用寄存器 8088有6个状态标志和3个控制标志 8088将1MB存储空间分段管理,有4

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档