书签 分享 收藏 举报 版权申诉 / 32
上传文档赚钱

类型高级编程技术课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3025083
  • 上传时间:2022-06-23
  • 格式:PPT
  • 页数:32
  • 大小:440KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《高级编程技术课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    高级 编程 技术 课件
    资源描述:

    1、主要内容主要内容计算机硬件组成80 x86微机系统 Turbo C编译方式BIOS和DOS调用 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 计算机系统:计算机系统:由硬件和软件两部分组成 硬件体系结构:硬件体系结构:经典的冯诺依曼体系结构 由三个子系统组成处理器子系统存储器子系统输入/输出子系统计算机硬件组成计算机硬件组成 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 冯冯 诺依曼体系诺依曼体系输入/输出子系统处理器子系统存储器子系统地址总线数据总线控制总线计算机硬件体系结构计算机硬件体系结构 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 处理器处理器CPU子系统子系

    2、统控制单元寄存器组数据总线 控制 总线CPUCPU示意图示意图ALU 地址 总线CPU组成:组成:算术逻辑单元、控制单元和寄存器组 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 存储器子系统存储器子系统 存储器子系统:存储器子系统:由主存储器和辅助存储器组成 主存储器:主存储器:随机存取存储器(RAM)和只读存储器(ROM)两种类型。 辅助存储器:辅助存储器:简称外存,具有外设的特性,以I/O总线的方式和主机连接。比较:比较:辅助存储器与主存储器相比,具有存储容量大,存储的信息不会因断电而消失,价格便宜的特点,但存取速度慢。 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 输入输

    3、入/输出子系统输出子系统输入输入/输出子系统:输出子系统:简称I/O系统,包括多种类型的输入输出设备(外设),以及这些设备和处理器、存储器进行数据通信的接口电路。注意:注意:输入输出设备的工作速度比CPU和存储器慢许多,因此需要接口在中间起缓冲的作用,实现主机和外设交换数据速度的匹配 。 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 80X86微机系统微机系统按字长分类:按字长分类:4位微处理器8位微处理器16位微处理器32位微处理器64位微处理器 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 Intel系列微处理器:系列微处理器:80 x86系列8086、808880186、

    4、8028680386、80486Pentium、Pentium2Pentium3、Pentium4等 80 x86微机系统微机系统 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 8080处理器:处理器:16位微处理器,地址总线为20位,直接寻址能力为220=1048576=1024K=lM80286、80386和80486处理器:寻址范围增大,例如80286可达16M,80386(80486)可达4G。对低1M存储空间的寻址是为了和8088处理器兼容而设置的实地址方式,即DOS下的寻址方式。80 x86系列主存储器分为:系列主存储器分为:低1M部分称为系统存储器,高于1M的部分称为扩展

    5、存储器和扩充存储器。 主存储器结构主存储器结构 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 系统存储器:系统存储器:分为低地址部分(0640K)和高地址部分(640K1024K)两个部分。640K范围内的低地址部分又称为基本内存或常规内存 ,640K1024K 部分称为高端内存。系统存储器系统存储器 基本存储器高端存储器00000A0000FFFFF0640K1024K中断向量表000000040000600A000001K1.5K640KBIOS数据区IO.SYS(IBMBIO.COM)MSDOS.SYS(IBMDOS.COM)TSR应用程序COMMAND.COM暂驻部分 第第2

    6、2章章 高级编程的硬件基础高级编程的硬件基础 高端内存:高端内存:384K的高地址部分,供视频显示和BIOS等使用,分布情况如下图。高端内存高端内存单色/CGA/EGA/VGA显示RAM-VRAMA0000B0000C0000D0000E0000F0000FFFFF视频/磁盘BIOS,EMSROM扩充区保留区系统ROM640K704K768K832K896K960K1024K 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 地址范围及功能:地址范围及功能:A0000到BFFFF:显示缓冲区,CGA显示缓冲区开始于B8000,VGA、EGA显示缓冲区开始于A0000。这些空间也称作视频存储

    7、器,简称VRAM。C0000到DFFFF:ROM扩充区,主要存放视频显示器适配器和磁盘的BIOS,一些网络控制板、I/O接口板和扩充内存分页帧也要用到此部分地址。E0000到EFFFF:保留区。F0000到FFFFF:系统ROM,该部分装有系统引导程序,还有系统基本输入输出系统(BIOS)。 高端内存高端内存 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 80 x86微处理器:微处理器:14个基本寄存器,用于进行运算,控制指令的执行,处理内存寻址等。8088/80286微处理器的寄存器是16位长,在386、486中扩展为32位长(段寄存器除外)。80386/80486增加了特殊的内部寄

    8、存器,Turbo C仅支持这14个基本寄存器,且长度认为是16位,即按照8088的14个内部寄存器来进行操作。寄存器寄存器 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 寄存器按其功能分类:寄存器按其功能分类:通用寄存器地址指针寄存器变址寄存器段寄存器指令指针寄存器标志寄存器寄存器分类寄存器分类 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 AX、BX、CX、DX:16位数据寄存器,可分成高字节部分和低字节部分来使用。高字节部分对应于AH、BH、CH、DH,低字节部分对应于AL、BL、CL、DL,即四个16位寄存器可看作八个8位寄存器。AX:累加器,用于所有的输入/输出操作BX

    9、:基址寄存器,用于扩展寻址,起变址作用CX:计数寄存器,在循环操作中用作计数器DX:数据寄存器,用于字乘法和除法,还用来提供输入输出操作中的口地址。通用寄存器通用寄存器 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 CS、DS、SS、ES:段寄存器,在实模式下的内存寻址是段左移4位+偏移,每个段最大寻址范围为64K字节,段的首地址保存在段寄存器中。CS:代码段寄存器DS:数据段寄存器SS:堆栈段寄存器ES:附加段寄存器段寄存器段寄存器 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 (1) 指针寄存器指针寄存器SP寄存器:寄存器:栈指针寄存器。在访问堆栈时,段地址在SS中,SP表

    10、示偏移地址。BP寄存器:寄存器:基址指针寄存器。通过堆栈传递数据地址时,段地址在SS中,BP存放要传递的数据地址的偏移地址。BP也可作为通用寄存器用。(2) 变址寄存器变址寄存器SI源变址寄存器:源变址寄存器:表示字串的源地址,段地址在DSDI目的变址寄存器:目的变址寄存器:表示目的地址,它常和附加段寄存器ES相关联,表示目的地址偏移。其他寄存器其他寄存器 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 (3) IP指令指针寄存器指令指针寄存器IP寄存器存放要执行的下条指令的偏移地址。 (4) 标志寄存器标志寄存器l6位寄存器,其中6位作为指令执行结果的状态标志,3位用作控制标志。其他寄

    11、存器其他寄存器 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 存取存储器时,选择一个段寄存器的值作为该段的开始地址,将其左移4位,再加上偏移地址,得到20位物理地址,即存储器的真实地址。 实地址寻址实地址寻址 16位偏移地址15 016位段地址15 0000020位物理地址19 001250000H59A2FH5FFFFHFFFFFH段内偏移9A2F段开始地址一个段包含64k个地址 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 I/O接口的寻址:接口的寻址:有两种方法: 一种是将接口地址和存储器地址统一编址; 一种是I/O接口地址和存储器地址分别独立编址。80 x86CPU采用

    12、I/O独立编址方式,采用专门的I/O指令来对接口地址进行操作。 I/O接口的寻址接口的寻址 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 Turbo C的内存模式的内存模式 微小模式微小模式(Tiny)微小模式编译C程序时,代码段、数据段、堆栈段的段地址均相同,即CS=DS=SS=ES。一般小程序可采用此编译模式进行编译。小模式小模式(Small)Turbo C的缺省模式。在该模式下,程序中的代码放在64K的代码段内,数据放在64K的数据段内。栈段、附加数据段和数据段均指向同一地址,即DS=SS=ES。 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 Turbo C的内存模式的内

    13、存模式 中模式中模式(Medium)数据须在64K的数据段内,代码段不再限制在一个段内,即程序长度可以超过64K(允许达到1M),程序代码寻址必须用20位地址码。这种编译模式适用于大代码量,小数据量的大程序。紧凑模式紧凑模式(Compact) 紧凑模式与中模式是互补的。在该模式下,数据量可超过64K,放在多个数据段里。数据寻址必须用20位地址码。代码量不超过64K,在一个段内。这种编译模式适用于程序短而数据量大的场合。 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 Turbo C的内存模式的内存模式 大模式大模式(Large)在该模式下代码长度和数据长度均可达1MB,即各占多个段的内存

    14、。静态数据不能超过64K字节。该模式适合于需要处理大量数据的大程序。程序的运行速度大大慢于上述的几种模式。巨模式巨模式(Huge)该模式和大模式基本相同,代码分布在不同的代码段内,数据也分布在不同的数据段内,它们来自于不同的源程序,但堆栈只有一个。Turbo C一般限制静态数据不超过64K,但巨模式允许超过64K。 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 当一个程序较大时,可将一个程序分成几个部分,每个部分可单独成为一个源文件,这些文件通过全局变量或函数相联系。它们可进行单独编译,形成.OBJ文件。可以采用两种方法将这些文件组合成一个完整的应用程序。 多文件编译多文件编译 第第2

    15、 2章章 高级编程的硬件基础高级编程的硬件基础 假设一个程序分成了A1.c和A2.c两个源文件A2.c文件中定义了函数A2() :#include void A2().include方法方法 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 A1.c中的main()函数调用A2()函数,则A1.c写成:#include #include “A2.c” /*include预处理命令*/main().A2();.include方法方法 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 假设一个程序分成了A1.c和A2.c两个源文件,project工程文件法生成可执行程序的步骤如下:(1)用

    16、TC编辑器建立一个文本文件,内容为: A1.c A2.c保存于文件AA.prj中。(2)在TC环境中,按ALT+P,选择Project菜单中的Project name项,填入文件名AA.prj后,按F9键,即可生成AA.exe的可执行文件。Project工程文件法工程文件法 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 中断概念中断概念 中断:中断:CPU在正常运行程序时,由于程序预先安排或内外部事件(称为中断源),引起CPU中断正在运行的程序,并根据中断源提供的地址信息(称为中断向量)而转到事件中断服务程序中执行。中断向量:中断向量:微机采用中断类型号来标识中断源。微机的中断分为软中

    17、断软中断和硬中断硬中断两种类型。软中断也称为内中断,是由执行某些指令引起;硬中断也称为外中断,是由接口设备引起的。 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 中断向量表:中断向量表:80 x86内存的前1024个字节为中断向量表(地址00000003FFH) ,可存储256个中断向量。中断向量:中断向量:每个中断向量占用4个字节,前两个字节为中断服务程序的入口地址偏移量,后两个字节装入了段地址。将中断向量的这四个字节分别装入IP及CS中,便可转入中断服务程序。 中断概念中断概念 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 BIOS(即基本输入输出系统):(即基本输入输出系

    18、统):Intel80 x86微机高端内存的ROM中固化的对键盘、显示器、磁盘驱动器、打印机、异步通讯、时钟等操作的子程序。BIOS程序本身直接与外部设备进行通讯,并为编程人员提供了一个简单的接口。 利用BIOS程序,不仅可以有效利用系统资源,而且能大大提高程序的开发效率和质量。BIOS的调用比较简单,通过中断号调用BIOS中的各个程序,即每个外部设备均有一个软中断调用号,每个中断号下有许多不同的子功能号,控制设备的不同功能。BIOS调用调用 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 BIOS调用调用 BIOS主要功能简表主要功能简表中断调用号主要功能中断调用号主要功能05H屏幕拷贝

    19、17H打印机服务09H键盘中断1AH日期时间服务10H显示器服务1BH键盘终止地址11H设备检查1CH定时器信号12H确定内存容量1EH软盘参数表13H磁盘服务21HDOS系统功能14H串行口通讯服务27H驻留内存16H键盘服务33H鼠标功能 第第2 2章章 高级编程的硬件基础高级编程的硬件基础 TC 2.0 标准头文件标准头文件头文件用途头文件用途alloc.h动态地址分配函数math.h数学库使用的各种定义assert.h定义assert()宏mem.h内存操作函数bios.hROM基本输入输出函数process.hspawn()和exec()函数conio.h屏幕操作函数setjmp.h非局部跳转ctype.h字符操作函数share.h文件共享dir.h目录操作函数signal.h定义信号值dos.hDOS接口函数stdarg.h变量长度参数表errno.h定义出错代码stddef.h定义一些常用常数fcntl.h定义open()使用的函数stdio.h以流为基础的I/O函数float.h定义从属于环境工具的浮点值stdlib.h其他说明graphics.h图形函数string.h字符串函数io.hUNIX型I/O函数time.h系统时间函数limits.h定义从属于环境工具的各种限定values.h从属于机器的常数 第第2 2章章 高级编程的硬件基础高级编程的硬件基础

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:高级编程技术课件.ppt
    链接地址:https://www.163wenku.com/p-3025083.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库