微机原理课件1-2.ppt

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

1.4 8086/8088微处理器 1.4.1 8086/8088的结构 8086内部结构 1.4.1 8088/8086的结构 1.4.1 8088/8086的结构 8088/8086微处理器特点 1.4.2 8086的寄存器组 1.通用寄存器 数据寄存器 变址寄存器——SI和DI 堆栈指针寄存器 堆栈(Stack) 2.指令指示器IP 3.状态标志寄存器 标志的分类 标志寄存器(Flags) 什么是溢出 溢出和进位 溢出和进位的对比 例1:3AH + 7CH=B6H 无符号数运算: 58+124=182 范围内,无进位 有符号数运算: 58+124=182 范围外,有溢出 如何运用溢出和进位 溢出的判断 标志寄存器举例 4. 段寄存器 1.5 8086/8088的存储器结构与堆栈 数据信息的表达单位 1.5.1 存储器编址 1.8086/8088系统中的存储器以字节为单位组织 ◆存储器由大量存储单元组成,为了区分每个单元,每个存储单元都有一个编号,称为存储器地址。 ◆通常采用十六进制数来表达地址 ★Intel 8086具有1兆字节(1MB)存储器容量 ★其存储器地址可以表示为:00000H ~ FFFFFH ★其中大写H(或小写h)表示是16进制数 ◆每个存储单元存放一个字节的内容 ◆对于超过8位的数,可以用多字节表示 1.5.1 存储器编址 数据的存储格式 数据的地址对齐 1.5.2 存储器分段和物理地址的生成 1.5.2 存储器分段和物理地址的生成 1.5.2 存储器分段和物理地址的生成 逻辑地址 物理地址和逻辑地址的转换 4.段寄存器 代码段(Code Segment) 堆栈段(Stack Segment) 数据段(Data Segment) 附加段(Extra Segment) 如何分配各个逻辑段 存储器的分段 各个逻辑段独立 各个逻辑段重叠 1MB空间的分段 总 结 1.5.3 堆栈和栈操作指令 定义一个堆栈时 4.8086/8088堆栈的工作过程 堆栈和队列 堆栈操作 1.5.3.2 栈操作指令 堆栈的特点 例.现场保护恢复 3. 状态标志寄存器进栈指令和出栈指令 微处理器飞速发展 逻辑段分配 1.存储器分段原因 ◆8086CPU有20条地址线,最大可寻址空间为220=1MB,物理地址范围从00000H~FFFFFH。 ◆8086CPU内部提供的地址寄存器和算术逻辑单元ALU都是16位,可寻址216=64KB。 ◆解决方法:8086CPU将1MB存储器空间分成许多逻辑段 每个段最大限制为64KB 段地址的低4位为0000B ◆这样,一个存储单元除具有一个唯一的物理地址外,还具有多个逻辑地址。 2.存储器分段——将存储器分为不同的工作区段 规则(隐含)如下: ◆段首地址的低4位为0000B ◆20位地址中的低16位地址是可变的 一个段大小:≤64KB 3.存储器地址的表示方法 ①物理地址 ◆对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,从00000H~FFFFFH。 ②逻辑地址 ◆分段后在用户编程时,采用逻辑地址,形式为 段地址:偏移地址 其中: 段地址——段首地址的高16位,它们存于段寄存器(CS,DS,SS,ES)中; 偏移地址——段内的存储单元相对于段起始地址的偏移量,它们存于BX,BP,SI,DI,IP,SP中。(又称为有效地址EA) ◆段地址说明逻辑段在主存中的起始位置 ◆8086规定段地址必须是模16地址:xxxx0H ◆省略低4位0000B,段地址就可以用16位数据表示,就能用16位段寄存器表达段地址。 ◆偏移地址说明主存单元距离段起始位置的偏移量 ◆每段不超过64KB,偏移地址也可用16位数据表示 逻辑地址 1460:100、1380:F00 物理地址 14700H 14700H 14600H + 100H 14700H 13800H + F00H 14700H 段地址左移4位 加上偏移地址 得到物理地址 ◆将逻辑地址中的段地址左移4位,加上偏移地址就得到20位物理地址。 物理地址 = 段地址*10H + 偏移地址 ◆一个物理地址可以有多个逻辑地址。 注:每一个存储单元只有唯一的物理地址,但它可由不同的段地址和不同的偏移地址组成。 物理地址 = 段地址 * 10H + 偏移地址 逻辑地址 段地址:偏移地址 段地址:CS、DS、ES、SS。 偏移地址:IP、 SP、 SI 、 DI 、BX、BP等。 段寄存器值16位 + 16位 4位 物理地址 20位 偏移地址16位 0000 存储器物理地址的计算方法 ◆8086有4个16位段寄存器 CS(代码段)指明代码段的起始地址 SS(堆栈段)指明堆栈段的起始地址 DS(数据段)指明数据段的起始地址 ES(附加段

文档评论(0)

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

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

1亿VIP精品文档

相关文档