微机原理与接口第10章PC机的高级编程技术.ppt

微机原理与接口第10章PC机的高级编程技术.ppt

ID:51588258

大小:538.50 KB

页数:75页

时间:2020-03-24

微机原理与接口第10章PC机的高级编程技术.ppt_第1页
微机原理与接口第10章PC机的高级编程技术.ppt_第2页
微机原理与接口第10章PC机的高级编程技术.ppt_第3页
微机原理与接口第10章PC机的高级编程技术.ppt_第4页
微机原理与接口第10章PC机的高级编程技术.ppt_第5页
资源描述:

《微机原理与接口第10章PC机的高级编程技术.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第10章PC机的高级编程技术(自学)110.1PC机环境下软件对接口的访问层次裸机BIOS直接访问操作系统驱动程序间接访问应用程序21.直接访问层次特点:可以直接进行内存和端口的访问,也可以自行决定是否在实模式和保护模式间切换。通常所有的端口和内存都是对程序员开放的。工具:汇编语言或C语言。应用:BIOS都是基于这种低级层次用汇编来编写的。驱动程序也有使用这种方法的。优点:能够编写速度最快,占用空间最小的有效代码。缺点:需要对硬件和接口有很熟悉的了解。要会汇编,或熟练使用C语言的指针。不利于增加对新设备的控制。32.BIOS访问层次特点:通过BIOS提供的功能调用间

2、接地对内存或端口访问,从而控制硬件。工具:汇编语言或C语言。应用:驱动程序有些会使用这些功能调用。需要获得高效率的应用程序也采用这种方法。优点:能够编写速度较快的有效代码。可以不需要编写直接对硬件进行控制的代码。缺点:需要对底层信号有所了解。增加对新设备的控制不是很方便,但好于低级层次。43.驱动程序层次特点:使用BIOS功能调用和直接内存访问的方法编写符合特定操作系统管理规范的设备驱动程序。工具:VC++与DDK开发包,或第三方开发工具如DriverStudio。应用:在操作系统层面上的设备控制,并为应用程序提供API支持。优点:既控制硬件,又保证操作系统的完整与

3、安全。缺点:需要对底层信号有所了解。需要对操作系统的各个管理模块有深入的了解。54.应用层次特点:使用操作系统各种驱动程序所提供的功能调用或API函数间接对硬件或内存进行访问。工具:VC++、Delphi、Java等。应用:编写面向终端用户的各类应用程序。优点:无需对硬件控制有太多了解,只需完成应用层面的工作就可以,而且还保证操作系统的完整与安全。缺点:需要了解大量的API和功能调用函数的功能。由于是间接调用,所以代码的效率和编译系统有很大的关系。616位段地址16位段内偏移:16位段地址16位段内偏移(左移四位)+20位物理地址=6417H∶0100H6417H×

4、10H+0100H=64170H+0100H=64270H采用了内存分段的办法,内存分为若干段,段的大小根据需要决定,最大为64KB10.2.1实地址模式的存储管理(同PC/XT)10.2Pentium4的内存管理——接口直接访问70000000A0000100000110000≈≈FFFFFF640KB常规内存384KB高端内存64KB高内存区1~4095MB扩展内存存放用户程序和DOS驻留部分存放显存、网卡和部分用户的DOS驱动程序和BIOS存放部分DOS驻留程序大于1M以上的扩展内存,DOS下不能直接访问,需要用XMS规范使用。可利用DOS调用或BIOS调用来

5、使用。810.2.2保护模式下使用的系统地址寄存器GDTR—48位的全局描述符表寄存器全局描述符表32位线性地址16位界限值IDTR—48位的中断描述符表寄存器中断描述符表32位线性地址16位界限值TR—16位的任务状态段寄存器TSS的16位选择字LDTR—16位的局部描述符选择字寄存器LDT的16位选择字910.2.3保护模式下Pentium4的段式存储管理1.段式管理的地址变换段寄存器的15~2位偏移量4532310段描述符段表32位线性地址物理地址逻辑地址段基址Pentium系列的虚拟地址空间是246=64TB。102.段描述符D7D0段界限7~0段界限15~

6、8基址7~0基址15~8基址23~16基址31~24TYPESAVLDPLPGD/B0段界限19~160123456711D7D0AVLGD/B0段界限19~16用户的操作系统可用位D/B位代码段(D位)D=1使用32位操作系统和32位寻址方式D=0使用16位操作系统和16位寻址方式数据段(B位)B=1使用ESP寄存器,上限为FFFFFFFFHB=0使用SP寄存器,上限为FFFFHG=0段长以1字节为单位G=1段长以4K字节为单位D/B位粒度位12AWREDCE=0E=1S=1DPLPD7D0存在位特权位S=1是非系统段S=0是系统描述符代码段标志数据段标志兼容位可

7、读位访问位扩展方向位可写位非系统段中的第5字节可执行位13系统描述符中的TYPE14RPLTi选择符(段寄存器)15210索引Ti=1Ti=0……01……01LDTLDTLDTGDT基址界限选择符基址界限LDTRGDTR2215#include"stdafx.h"#include#include//wtypes.h定义了WORDLONG,//DWORD,WORD等数据类型DWORDLONGgdtr,savegdt;//下面是GDT中将创建的数据段描述符表,基地址0X00000F00,//段界限为0XFFFF,优先级为3的在内

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。