C机的高级编程技术

C机的高级编程技术

ID:36491848

大小:526.10 KB

页数:74页

时间:2019-05-09

C机的高级编程技术_第1页
C机的高级编程技术_第2页
C机的高级编程技术_第3页
C机的高级编程技术_第4页
C机的高级编程技术_第5页
资源描述:

《C机的高级编程技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、PC机的高级编程技术1第一节软件对接口的访问方式裸机BIOS直接访问驱动程序操作系统实模式应用程序返回3页返回4页返回5页返回6页2一、直接访问层次特点:可以直接进行内存和端口的访问,也可以自行决定是否在实模式和保护模式间切换。通常所有端口和内存都是对程序员开放的。工具:汇编语言或C语言。应用:BIOS都是基于这种低级层次编写的;驱动程序也有使用这种方法的;实模式下应用程序也可以使用这种方法。优点:编写的代码执行速度最快,占用空间最小。缺点:需要对硬件和接口有很熟悉的了解;熟悉汇编,或熟练使用C语言的指针;不利于增加对新设备的控制

2、。转2页3二、BIOS访问层次特点:通过BIOS提供的功能调用间接地对内存或端口访问,从而控制硬件。工具:汇编语言或C语言。应用:驱动程序有些会使用这些功能调用;需要获得高效率的应用程序也采用此方法。优点:编写的代码执行速度较快;编写的代码不需要直接对硬件进行控制。缺点:需要对底层信号有所了解;增加对新设备的控制不很方便,但好于低级层次。转2页4三、驱动程序层次特点:使用BIOS功能调用、操作系统功能调用和直接访问的方法编写符合特定操作系统管理规范的设备驱动程序。工具:VC++与DDK开发包,或第三方开发工具如DriverStud

3、io。应用:在操作系统层面上的设备控制,并为应用程序提供API支持。优点:既能够控制硬件,又保证操作系统的完整与安全。缺点:需要对底层信号有所了解;需要对操作系统各管理模块有深入的了解。转2页5四、应用程序层次特点:使用操作系统和各种驱动程序所提供的功能调用或API函数间接对硬件或内存进行访问。工具:VC++、Delphi、Java等。应用:编写面向终端用户的各类应用程序。优点:无需对硬件控制有太多了解,只需完成应用层面的工作就可以,而且还保证操作系统的完整与安全。缺点:需要了解大量的API和功能调用函数的功能;由于是间接调用,所

4、以代码的效率和编译系统有很大的关系。转2页6第二节Pentium4的内存管理一、实模式的存储管理(同PC/XT)采用内存分段的办法,内存分为若干段,段的大小根据需要决定,最大为64KB。16位段地址16位段内偏移:16位段地址16位段内偏移(左移四位)+20位物理地址=软件地址:物理地址:思考:软件地址到物理地址变换的二义性及应用?段地址大小设置与地址变换的关联?7内存区分配:0000000A0000100000110000≈≈FFFFFF640KB常规内存384KB高端内存块UMB64KB高端内存区HMA1~4095MB扩展内存

5、块EMB存放用户程序和DOS驻留部分存放显存、网卡和部分用户的DOS驱动程序和BIOS存放部分DOS驻留程序大于1M以上的扩展内存,DOS下不能直接访问,需要用XMS规范使用。可利用DOS调用或BIOS调用来使用。8二、保护模式下的系统地址寄存器说明:①GDTR、IDTR在进入保护模式前设置,TR、LDTR在任务切换时设置。②GDT、IDT整个系统各一个,TSS、LDT每个任务一个。③选择符与描述符含义不同。名称缩写长度内容全局描述符表寄存器GDTR48位GDT的32位线性地址+16位界限值中断描述符表寄存器IDTR48位IDT的

6、32位线性地址+16位界限值任务状态段寄存器TR16位TSS的16位选择符全局描述符表寄存器LDTR16位LDT的16位选择符1、系统地址寄存器汇总表9基址界限选择符TSS描述符……线性地址TSS结构2、系统地址寄存器与系统表关系基址界限选择符LDT描述符……01LDT2段描述符段寄存器选择符选择符基址界限IDTR(48bit)……01门描述符IDT2门描述符基址界限GDTR(48bit)TR(16bit)选择符……01TSS描述符GDT2LDT描述符段描述符LDTR(16bit)选择符描述符长均为8Byte返回下页返回12页返回

7、13页10说明1:GDT表项类型—LDT描述符、TSS描述符、段描述符;IDT表项类型—中断门描述符、陷阱门描述符、任务门描述符、调用门描述符;LDT表项类型—段描述符。说明3:表或结构长度=(界限)+1。例:GDTR的内容为00F0000000FFH,求GDT的首地址和末地址及该表含有多少个描述符?转上页解:GDT首址=00F00000H;GDT末址=00F00000H+0FFH=00F000FFH;GDT描述符个数=GDT长度/8=(0FFH+1)/8=32。说明2:不同类型描述符通过第5字节的D3~D0区分。转19页113、

8、TSS与LDT关系I/O允许位映象(最大8K)中断重定向位映象(32字节)操作系统可利用(长度可变)I/O允许位映象域基址0T0任务LDT选择符0GS、FS选择符0DS、SS选择符0CS、ES选择符EDI、ESI、EBP、EBX、EDX、ECX、E

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

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

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