微机原理课件 5-4

上传人:清晨86****784 文档编号:267687292 上传时间:2022-03-18 格式:PPT 页数:35 大小:492KB
返回 下载 相关 举报
微机原理课件 5-4_第1页
第1页 / 共35页
微机原理课件 5-4_第2页
第2页 / 共35页
微机原理课件 5-4_第3页
第3页 / 共35页
微机原理课件 5-4_第4页
第4页 / 共35页
微机原理课件 5-4_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《微机原理课件 5-4》由会员分享,可在线阅读,更多相关《微机原理课件 5-4(35页珍藏版)》请在金锄头文库上搜索。

1、兰州大学信息科学与工程学院微型计算机原理及其应用主讲:张红娟Email:2015秋兰州大学信息科学与工程学院目录 第一章微型计算机系统概述 第二章80X86/Pentium系列微处理器 第三章存储器技术 第四章80X86/Pentium指令系统 第五章 汇编语言程序设计 第六章输入/输出技术 第七章计算机总线技术 第八章微型计算机应用系统 第九章嵌入式系统 第十章SOPC技术兰州大学信息科学与工程学院第五章 80X86/Pentium指令系统 5.1程序设计语言概述 5.2汇编语言的程序格式与语句格式 5.3汇编语言的伪指令 5.480X86/Pentium的扩展伪指令 5.5汇编语言程序的上

2、机过程 5.6汇编语言程序设计基础 5.7中断服务程序设计 本章小结兰州大学信息科学与工程学院第五章 80X86/Pentium指令系统 5.1程序设计语言概述 5.2汇编语言的程序格式与语句格式 5.3汇编语言的伪指令 5.4 80X86/Pentium的扩展伪指令 5.4.1 方式选择伪指令 5.4.2 80X86/Pentium完整段定义的扩充 5.4.3 80 x86/Pentium的简化段定义伪指令 5.4.4 汇编程序控制语句 5.5汇编语言程序的上机过程 5.6汇编语言程序设计基础 5.7中断服务程序设计 本章小结兰州大学信息科学与工程学院5.4 80X86/Pentium的扩展

3、伪指令 5.4.1方式选择伪指令 方式选择伪指令能确定微处理器的工作方式和当前指令集,它告诉汇编程序当前的源程序是针对哪种CPU而执行的。方式选择伪指令位于源程序文件的开始处,用于定义程序中所使用的CPU指令系统。其各种指令格式和功能如下: .8086告诉汇编程序只能接受8086/8088的指令。这是种默认方式。 .286(或.286C)告诉汇编程序只能接受8086/8088、80286实地址方式下的指令。使用.8086可将其删除。 .286P除了与伪指令.286的相同功能之外,还允许汇编80286保护方式下的指令,可用伪指令.8086将其删除。通常该伪指令只允许系统程序员使用。兰州大学信息科

4、学与工程学院5.4 80X86/Pentium的扩展伪指令 5.4.1方式选择伪指令 .386(或.386C)允许汇编8086/8088、80286、80386实地址方式下的指令,禁止任何保护方式下的指令。可使用.8086将其删除。 .386P除了与.386的相同功能之外,还允许汇编80386保护方式下的指令,可用.8086将其删除。 .486(或.486C)与伪指令.386或.386C的功能类似,允许汇编80486非保护方式下的指令,可用.8086将其删除。 .486P与伪指令.386P类似,允许汇编80486的全部指令,伪指令.8086可将其删除。 .586/.586C/.586P功能与上

5、述的几种方式选择伪指令类似,可用来汇编Pentium微处理器的指令。兰州大学信息科学与工程学院5.4 80X86/Pentium的扩展伪指令 5.4.1方式选择伪指令 .8087/.287/.387/.487/.587用于设定相应的协处理器工作方式,选择相应的数学协处理器指令集。 NO87用于取消所选择的数学协处理器指令集。 如果缺省方式选择伪指令,系统将自动默认8086/8088以及8087指令集。兰州大学信息科学与工程学院5.4 80X86/Pentium的扩展伪指令 5.4.280X86/Pentium完整段定义的扩充 针对32位微处理器,高版本MASM6.X中的80 x86/Penti

6、um系列完整的段定义格式如下: 段名SEGMENT定位类型组合类型字长选择类别名 (段定义体) 段名ENDS 其中字长选项用于定义段的寻址方式,有两种选择: USE16对应8086/8088实地址方式,段基值16位,偏移量16位,最大段长度64KB。 USE32对应保护方式,段基值16位,偏移量32位,最大段长度4GB。兰州大学信息科学与工程学院5.4 80X86/Pentium的扩展伪指令 5.4.280X86/Pentium完整段定义的扩充 只有在源程序开始处使用了方式选择伪指令后,字长选项才有效。若段定义中字长选项缺省,则在使用方式选择伪指令时默认USE32。 可见,80 x86/Pen

7、tium源程序与8086/8088源程序在结构上有三点明显的差别: 程序开始处增加了方式选择。 段定义中增加了字长可选项。 允许同时使用六个段,即代码段CS、数据段DS、堆栈段SS及附加段ES、FS和GS。兰州大学信息科学与工程学院5.4 80X86/Pentium的扩展伪指令 5.4.380 x86/Pentium的简化段定义伪指令 在MASM5.0以上的高版本MASM6.X中,可以使用简化的段定义伪指令。 简化段有利于实现汇编语言程序模块与高级语言程序模块的连接,它可以由操作系统自动安排各段的顺序,自动保证段名定义的一致性等。兰州大学信息科学与工程学院5.4 80X86/Pentium的扩

8、展伪指令 5.4.380 x86/Pentium的简化段定义伪指令 1.段次序语句 段次序语句用于告诉汇编程序,在内存中如何排列源程序中各段的先后顺次。 指令格式:DOSSEG ;各段按DOS定义的次序排列 源程序中的各段在内存中的先后次序有几种排列方法: 按源程序中段名的字母顺序来排列各段。 按源程序中各段出现的次序来排列,这是一种缺省方式。 通过DOSSEG语句,由操作系统DOS来排列。通常,当大多数程序对段次序无明确要求时,可采用这种方式。该伪指令语句用于主模块前,其它模块不必使用。兰州大学信息科学与工程学院5.4 80X86/Pentium的扩展伪指令 5.4.380 x86/Pent

9、ium的简化段定义伪指令 2.内存模式语句 当使用简化的段定义伪指令时,必须先对用户程序所使用的内存模式加以说明。 指令格式:. MODEL 类型模式 高级语言 高级语言为可选项,可使用关键字C、BASIC、FORTRAN、PASCAL等来指定相应的高级程序设计语言,以完成其与汇编语言的接口;模式类型共有6种兰州大学信息科学与工程学院5.4 80X86/Pentium的扩展伪指令 5.4.380 x86/Pentium的简化段定义伪指令 2.内存模式语句表5.5 常用的内存模式 内存模式模式说明TINY微模式程序中的数据段和代码段在同一个64KB物理段中SMALL小模式程序中的数据段和代码段分

10、别在两个不同的64KB物理段中MEDIUM中模式单数据段和多代码段,即数据段为近程,代码段为远程COMPACT压缩模式单代码段和多数据段,即代码段为近程,数据段允许为远 程LARGE大模式多代码段和多数据段,即数据和代码段允许为远 程,但数据段不超过64KBHUGE巨型模式数据段和代码段允许为远 程,且允许数据段所占内存超过64KB兰州大学信息科学与工程学院5.4 80X86/Pentium的扩展伪指令 5.4.380 x86/Pentium的简化段定义伪指令 2.内存模式语句 通常内存模式语句放在程序中其它简化段定义语句之前,用来指定数据段和代码段所允许使用的长度。近过程的数据通常在一个段(

11、对应一个物理段)中定义,且在程序开始处,将其段基值设置在DS中,以便后面的数据访问(访问时只需改变偏移量)。 当独立的汇编语言程序不与高级语言程序连接时,为了提高汇编效率,通常只使用SMALL模式。兰州大学信息科学与工程学院5.4 80X86/Pentium的扩展伪指令 5.4.380 x86/Pentium的简化段定义伪指令 3.简化的段定义语句 简化的段定义语句可用来表示一个段的开始,同时也用来说明当前段的结束。若这个段是程序的最后一个段,则该段以END伪指令结束。 例5.128086/8088与80 x86/Pentium系列段定义的区别。 不同的内存模式所允许的段定义语句是不同的。表5

12、.7给出了各种标准内存模式所允许的段及其隐含的段名、段属性和组名。 独立的汇编语言程序只用DOSSEG、MODEL、CODE、STACK和DATA这五种语句,并不区分常数与变量以及赋初值与不赋初值。在DATA语句定义的段中,所有数据语句均可使用。兰州大学信息科学与工程学院5.4 80X86/Pentium的扩展伪指令 5.4.380 x86/Pentium的简化段定义伪指令表5.6 简化的段定义语句段语句名语句格式语句功能程序开始.STARTUP指示程序开始,并初始化DS,SS寄存器返回DOS.EXIT使程序返回DOS操作系统代码段.CODE名字定义一个代码段。若有多个代码段,用不同的名字来区

13、别。堆栈段.STACK长度定义一个堆栈段,并形成SS和SP初值。(SP)= 长度,若缺省长度,则(SP)= 1024初始化近程数据段.DATA定义一个近程数据段。当与高级语言连接时,需给数据段的数据空间赋初值非初始化近程数据段.DATA ?定义一个近程数据段。当与高级语言连接时,数据空间用“?”赋初值常数段.CONST定义一个近程常数段。当与高级语言连接时,常数段中数据不能改变初始化远程数据段.FARDATA名字定义一个远程数据段。当与高级语言连接时,需给该数据段的数据空间赋初值非初始化远程数据段.FARDATA ?名字定义一个远程数据段。当与高级语言连接时,数据空间用“?”赋初值兰州大学信息

14、科学与工程学院5.4 80X86/Pentium的扩展伪指令 5.4.380 x86/Pentium的简化段定义伪指令 5.4.4汇编程序控制语句 与其它编程语言相同,MASM6.X版本的汇编程序提供了几种控制程序流的汇编语句,可用来根据某些判断结构来控制程序流的执行次序。 例5.14表5.8 几种常用的汇编程序控制语句语句类型IFDO_WHILEREPEAT_UNTIL语句格式.IF 表达式语句1.ELSE语句2.EDNIF.WHILE 表达式语句.ENDW.REPEAT语句.UNTIL表达式兰州大学信息科学与工程学院第五章 80X86/Pentium指令系统 5.1程序设计语言概述 5.2

15、汇编语言的程序格式与语句格式 5.3汇编语言的伪指令 5.480X86/Pentium的扩展伪指令 5.5 汇编语言程序的上机过程 5.5.1 编辑、汇编与连接 5.5.2 程序的调试与DEBUG 5.6汇编语言程序设计基础 5.7中断服务程序设计 本章小结兰州大学信息科学与工程学院5.5 汇编语言程序的上机过程 5.5.1编辑、汇编与连接 汇编语言源程序编写完毕后,必须经过编辑、汇编与连接,才能在计算机上运行。 1.建立汇编语言的工作环境 为了运行汇编语言程序,除了需要编辑软件EDIT或WS(wordstar)等,至少还需要在磁盘上建立以下文件: (1)ASM.EXE (2)LINK.EXE

16、 (3)EXE2BIN.EXE ML.EXE(汇编器),ML.ERR(汇编的错误信息文件),LIB.EXE(过程库管理程序),NMAKE(工程维护实用程序),CREF.EXE(建立交叉引用表),DEBUG.EXE(16位指令调试器)兰州大学信息科学与工程学院5.5 汇编语言程序的上机过程 5.5.1编辑、汇编与连接 2.建立.ASM文件 用户可利用编辑程序将编写好的源程序通过输入设备送入计算机,并以ASCII码形式存入内存缓冲区。 源程序文件名的格式为:文件名.ASM 文件名是用户自己定义的一个标识符,而汇编语言文件名的扩展名必须为.ASM。在编辑状态下,用户可利用编辑命令对源程序进行修改,最后将修改好的源程序在磁盘上建立源程序文件。兰州大学信息科学与工程学院5.5 汇编语言程序的上机过程 5.5.1编辑、汇编与连接 3.用ASM(或MASM)程序产生.OBJ文件 源文件建立后,就可以用汇编程序对源文件进行汇编,汇编后将产生二进制目标文件(.OBJ文件)。假设,源程序EXAM1.ASM已被复制到C盘根目录下,则汇编过程如下: CEXAM1.ASM 扩展名.ASM可以省略。当汇编程序调入

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号