《汇编语言程序设计》-电子教案.ppt

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

目录 第1章 汇编语言与二进制 第2章 8086计算机组织 第3章 简短的程序设计 第4章 汇编语言源程序的 结构及设计过程 第5章 程序的基本控制 结构及设计方法 第6章 子程序设计 第7章 中断及输入/输出 程序设计 第8章 高级汇编语言 程序设计 第9章 32位指令及其编程 第10章 保护模式下的 存储器管理 第11章 保护模式及其编程 帮助 再见 2.I/O许可位图 3.I/O访问许可位图检查过程 ⑴ 若CPL≤IOPL,则直接转步骤⑻ ⑵ 取得I/O位图开始偏移 ⑶ 计算I/O地址对应位所在字节在I/O许可位图内的偏移 ⑷ 计算位偏移以形成屏蔽码值,即计算I/O地址对应位在字节中的第几位 ⑸ 把字节偏移加上位图开始偏移,再加1,所得值与TSS界限比较,若越界,则产生出错码为0的通用保护故障 ⑹ 若不越界,则从位图中读对应字节及下一个字节 ⑺ 把读出的两个字节与屏蔽码进行与运算,若结果不为0表示检查未通过,则产生出错码为0的通用保护故障 ⑻ 进行I/O访问 第11章 11.6.2 重要标志保护   80386对EFLAGS中的这三个字段的处理比较特殊,只有在较高特权级执行的程序才能执行IRET、POPF、CLI和STI等指令改变它们   POPF指令总不能改变VM位,而PUSHF指令所压入的标志中的VM位总为0 不变 不变 不变 CPLIOPL 不变 可变 不变 CPL≤IOPL 可变(除POPF指令外) 可变 可变 CPL=0 VM标志字段 IF标志字段 IOPL标志字段 特权级 对EFLAGS中特殊字段的保护    第11章 11.7 虚拟8086模式 11.7.1 V86模式 1.V86模式   虚拟8086模式是保护模式下的一种工作模式,也称V8086模式,简称V86模式   在V86模式下,处理器类似于8086,可寻址1MB地址空间,段寄存器的内容作为段值解释,20位存储单元地址由段值乘以16加偏移构成,代码段可以执行也可写入,数据段可存储也可执行,只不过可能会发生异常   在V86模式下可以运行DOS及以其为平台的软件   当EFLAGS中的VM=1时,处理器就处于V86模式,此时,其当前特权级由处理器自动设置为3 第11章 2.V86任务   8086程序可以直接在V86模式下运行,而V86模式受到V86监控程序的控制   V86监控程序和在V86模式下的8086程序构成的任务称为虚拟8086任务,简称V86任务   V86监控程序控制V86外部界面、中断和I/O   V86程序在V86模式下运行,而V86监控程序在保护模式下运行,操作系统为每一个V86任务都创建了一个TSS状态段   80386把V86任务作为与其他任务具有同等地位的一个任务,它可以支持多个V86任务,每个V86任务是相对独立的 第11章 3.内存映射   在V86模式下,程序只能使用1MB的内存,由段值乘以16加上偏移构成20位地址,这个地址是线性地址,在经过线性地址到物理地址的转换后,得到物理地址   CPU可以同时运行多个V86任务,每个任务的页表不同,所以这些任务的1MB内存被映射到不同的物理内存上,相互之间互不影响 第11章 3.内存映射 V86模式的线性地址到物理地址的映射 第11章 11.7.2 进入及退出V86模式 保护模式与V86模式之间的切换 第11章 11.7.2 进入及退出V86模式 1.离开V86模式 ⑴ 在V86任务内离开V86模式 ⑵ 任务切换离开V86模式 2.进入V86模式 ⑴ 通过IRET指令进入V86模式 ⑵ 通过任务切换进入V86模式 第11章 11.7.3 V86模式下的敏感指令   在V86模式下,CPL=3,执行特权指令时,会引起出错码为0的通用保护故障,或非法操作码故障   因为V86模式下的CPL=3,如果IOPL3,那么执行CLI或STI指令将引起通用保护故障   对于I/O指令IN、INS、OUT、OUTS,其敏感条件是当前V86任务TSS内的I/O许可位图,而忽略EFLAGS中的IOPL,是否可以执行与CPL是否小于IOPL无关,而直接由I/O许可位图对应位决定,如果指令所使用I/O地址对应的I/O许可位图内的各位都为0,则指令可正常执行,否则引起通用保护故障   在V86模式下,当IOPL3时,执行指令PUSHF、POPF、INT n及IRET会引起出错码为0的通用保护故障 第11章 上页 退 出 目录 退 出 目 录 返回 帮 助   本多媒体辅助教学系统专为《汇编语言程序设计》(ISBN 978-7-5084-6563-0)课程教学而编制。 使用方法: 若想选择学习内容,移动鼠标至相关学习热点,单击即可。 当

文档评论(0)

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

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

1亿VIP精品文档

相关文档