1、优秀文档,精彩无限!优质文档,精彩无限!课 程 教 学 大 纲(理论课)课 程 名 称: 汇编语言程序设计 适 用 专 业: 计算机科学与技术 课 程 类 别: 学科基础课 制 订 时 间: 2006 年 8 月 数学与计算机科学学院制优秀文档,精彩无限!优质文档,精彩无限!汇编语言程序设计课程教学大纲(2002 年制订,2006 年修订)一、课程代码:0502121009二、课程类别:学科基础课程三、预修课程:计算机导论、高级语言程序设计等四、学 分: 4 学分五、学 时: 86 学时(其中实验部分 32 学时)六、课程概述:汇编语言是计算机能提供给用户最快也最有效的语言,也是能够利用计算机
2、所有硬件特性并能直接控制硬件的唯一语言,因而在对于程序的空间和时间要求很高的场合,汇编语言是必不可少的,至于对于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可。汇编语言作为计算机专业的一门必修课程是了解计算机体系结构和操作系统的最佳切入点。通过汇编语言课程的学习,对计算机理论中包括 CPU 体系结构、指令调度方式、存储器管理、基本输入输出接口的理解都会有一个比较本质而且直观的认识。在对汇编语言实际运用的基础上同时还能帮助对高级语言程序设计的深入体会,包括变量的组织,地址的访问,循环与分支在机器码中的处理,调用函数时参数的传递等,所以汇编语言在本专业中是一门核心的课程,通过对本课程的学习
3、是加深对后续课程认识的基础。七、教学目的:通过对本课程的学习,掌握 8086 微处理器的寄存器组和基本寻址方式,学生要达到对程序在计算机中的基本调度有一定认识,对二进制基础理论有深入的理解,同时熟练掌握 8086 汇编语言的编写方式,掌握基本的系统调优秀文档,精彩无限!优质文档,精彩无限!用,具备良好的源程序调试能力以及最基本的、实模式下的反汇编能力。八、学时分配表教学内容(章) 理论学时 实验学时 习题课 其它 备注第一章 汇编语言基础知识 6 2第二章 8086 的指令系统 14 10 1第三章 汇编语言程序格式 8 4 1第四章 基本汇编语言程序设计 12 10 2第五章 高级汇编语言程
4、序设计 8 4第六章 32 位指令及其编程 6 2第七章 汇 编 语 言 与 C/C+的 混 合 编 程 * 6*第八章 80x87 浮点指令及其编程 * 6*第九章 多媒体指令及其编程 * 6*注:讲授带*内容,需要 72 学时。九、教学基本内容:第一章 汇编语言基础知识教学要求:掌握计算机中进制及其转换、有符号数的表示方法、8086 微处理器的功能结构和寄存器组、8086 的各种寻址方式;了解计算机硬件、软件、程序设计语言等基础知识,了解 Intel80x86 系列微处理器和 PC 微型计算机系统。本章重点内容是 8086 的寄存器组和寻址方式,难点内容为五种存储器寻址方式。教学内容:一、
5、计算机系统概述(1 学时)计算机的硬件、软件,计算机的程序设计语言。二、数据表示数制及编码,有符号数的表示方法,二进制的运算。三、Intel 80x86 系列微处理器介绍 8086、80186、80286、80386、80486、Pentium、Pentium Pro 等微处理器。四、PC 微型计算机系统优秀文档,精彩无限!优质文档,精彩无限!五、8086 微处理器(2 学时)8086CPU 的功能结构,寄存器组,存储器组织与段寄存器。六、8086 的寻址方式(3 学时)8086CPU 的机器代码格式,立即数寻址方式,寄存器寻址方式,存储器寻址方式。第二章 8086 的指令系统教学要求:掌握
6、8086 指令系统中的数据传送类、算术运算类、位操作类、控制转移类、串操作类指令的格式及简单应用;理解各类指令对标志位的影响情况;了解处理机控制类指令。本章重点是通用数据传送指令、堆栈操作指令、地址传送指令、算术运算类指令、位操作类指令、无条件转移指令、条件转移指令、循环指令、子程序指令、中断指令等。难点是串操作类指令和系统功能调用。教学内容:一、数据传送类指令(2 学时)通用数据传送指令、堆栈操作指令、标志传送指令、地址传送指令、输入输出指令二、算术运算类指令(2 学时)加法指令、减法指令、乘法指令、除法指令、符号扩展指令、十进制调整指令三、位操作类指令(2 学时)逻辑运算指令、移位指令、循
7、环移位指令四、控制操作类指令(4 学时)无条件转移指令、条件转移指令、循环指令、子程序指令、中断指令、系统功能调用五、串操作类指令(3 学时)六、处理机控制类指令(1 学时)第三章 汇编语言程序格式教学要求:掌握汇编程序的开发过程,参数、变量和标号,程序段的定义和属性;了解复杂数据结构(结构和记录)的定义格式和应用;本章重点数据定义伪指令,变量、标号和程序段的定义和属性,难点是结构、记录等复杂数据结构的应用。优秀文档,精彩无限!优质文档,精彩无限!教学内容:一、汇编语言程序的开发(1 学时)汇编语言程序的语句格式、程序格式及开发过程。二、参数、变量和标号(3 学时)数值型参数,数据定义伪指令,
8、变量和标号的属性。三、程序段的定义和属性(3 学时)DOS 的程序结构,简化段定义的格式,完整段的定义格式。四、复杂数据结构(1 学时)结构和记录。第四章 基本汇编语言程序设计教学要求:熟练掌握顺序结构、分支结构和循环结构等基本的汇编语言程序设计方法,掌握子程序的定义格式及子程序的三种常用的参数传递方法;了解子程序的嵌套、递归与重入;本章重点是顺序、分支和循环等基本的汇编语言程序结构的设计方法。教学内容:一、顺序程序设计(1 学时)分别采用简化段定义格式和完整段定义格式编写简单的汇编语言程序。二、分支程序设计(3 学时)分支程序的基本结构,多分支程序的实现方法。三、循环程序设计(4 学时)循环
9、程序结构的 3 个组成部分,实现循环的几种方法。四、子程序设计(4 学时)过程定义伪指令,子程序的参数传递,子程序的嵌套、递归与重入,子程序的应用。第五章 高级汇编语言程序设计教学要求:掌握宏汇编、重复汇编和条件汇编程序设计的基本方法,熟悉条件控制伪指令、循环控制伪指令、过程声明和过程调用伪指令,了解模块化程序设计方法,能理解输入输优秀文档,精彩无限!优质文档,精彩无限!出程序设计实例。本章重点内容是宏结构程序设计,难点是输入输出程序设计。教学内容:一、高级语言特性(2 学时)条件控制伪指令,循环控制伪指令,过程声明和过程调用伪指令。二、宏结构程序设计(3 学时)宏汇编,重复汇编,条件汇编。三
10、、模块化程序设计(1 学时)目标文件的包含,目标代码文件的连接,子程序库的调入。四、输入输出程序设计(2 学时)程序直接控制输入输出,程序查询输入输出,中断服务程序。第六章 32 位指令及其编程教学要求:了解 32 位指令运行环境,了解 32 位扩展指令和新增指令,理解 32 位指令的程序设计,能用汇编语言编写简单的 32 位 Windows 应用程序。本章内容为选讲,当学时不够时可以指导学生自学。教学内容:一、32 位指令运行环境(1 学时)32 位微机的寄存器组,寻址方式,机器代码格式。二、32 位扩展指令(2 学时)数据传送类指令,算术运算类指令,位操作类指令,串操作类指令,控制转移类指
11、令,处理器控制类指令,保护方式类指令。三、32 位指令的程序设计(1 学时)四、32 位新增指令(1 学时)80386 新增指令,80486 新增指令,Pentium 新增指令,Pentium Pro 新增指令。五、用汇编语言编写 32 位 Windows 应用程序(1 学时)32 位 Windows 应用程序的特点,Win32ASM 程序结构,MASM32 开发环境。第七章 汇编语言与 C/C+的混合编程教学要求:优秀文档,精彩无限!优质文档,精彩无限!掌握 Turbo C 嵌入汇编语句的格式,混合编程的约定规则和参数传递方式,了解汇编语言在 Visual C+中的嵌入汇编语言指令和调用汇编
12、语言过程。本章内容为选讲,当学时不够时可以指导学生自学。教学内容:一、Turbo C 嵌入汇编方式(2 学时)嵌入汇编语句的格式,汇编语句访问 C 语言的数据,嵌入汇编的编译过程。二、Turbo C 模块连接方式(2 学时)混合编程的约定规则,汇编模块的编译和连接,混合编程的参数传递,汇编语言程序对 C 语言程序的调用。三、汇编语言在 Visual C+中的应用(2 学时)嵌入汇编语言指令,调用汇编语言过程。第八章 80x87 浮点指令及其编程教学要求:了解 80x87 的数据格式和浮点寄存器,了解浮点指令的程序设计。本章内容为选讲,当学时不够时可以指导学生自学。教学内容:一、浮点数数据格式(
13、2 学时)实数和浮点格式,80x87 的数据格式。二、浮点寄存器(2 学时)三、浮点指令的程序设计(2 学时)浮点传送类指令,算术运算类指令,超越函数类指令,浮点比较类指令,FPU 控制类指令。第九章 多媒体指令及其编程教学要求:了解 MMX 指令系统、SSE 指令系统和 SSE2 指令系统;了解 MMX 指令、SSE 指令和SSE2 指令的程序设计。本章内容为选讲,当学时不够时可以指导学生自学。教学内容:一、MMX 指令系统(2 学时)优秀文档,精彩无限!优质文档,精彩无限!MMX 的数据结构,MMX 指令,MMX 指令的程序设计。二、SSE 指令系统(2 学时)SIMD 浮点指令,SIMD
14、 整数指令,高速缓存优化处理指令,SSE 指令的程序设计。三、SSE2 指令系统(2 学时)SSE2 的数据类型,SSE2 浮点指令,SSE2 扩展指令,SSE2 指令的程序设计。十、实验部分:1熟悉和掌握汇编语言上机的基本操作(2 学时)熟悉汇编语言程序设计的开发环境、格式以及汇编过程。掌握汇编语言上机步骤,熟练掌握 EDIT 字处理软件、MASM 编译软件、LINK 连接软件的使用方法,重点是DEBUG、Turbo Debug 调试程序的使用。2指令系统操作实验(10 学时)(1)熟练掌握 Debug 的主要命令(参见教材附录 1) ,包括 Debug 命令的 U 命令、D命令、R 命令、
15、A 命令、G 命令、T 命令、P 命令、Q 命令等。(2)通过 DEBUG 调试程序掌握 8086 的指令系统,学会程序调试的基本方法和技巧。3程序设计实验(14 学时)(1)掌握汇编语言程序的编写格式、结合课后作业编写相应的汇编语言程序,上机调试并运行。(2)掌握有关分支(包括多分支)程序设计方法。(3)掌握有关循环程序设计的方法、技巧,包括多重循环的程序设计,熟悉简单的字符和字符串的输入、输出方法。(4)掌 握 子 程 序 的 设 计 方 法 , 子 程 序 的 执 行 过 程 , 子 程 序 的 参 数 传 递 、 嵌 套 调 用 和 递归 调 用 方 法 。4高级汇编语言程序设计实验(
16、4 学时)掌握宏定义、宏调用与宏展开,重复汇编和条件汇编的使用方法。532 位 Windows 应用程序开发实验(2 学时)用汇编语言编写一个简单的 32 位 Windows 窗口程序。十一、教材及主要教学参考书:1 钱晓捷,汇编语言程序设计(第二版) ,北京,电子工业出版社, 2005.6优秀文档,精彩无限!优质文档,精彩无限!2 曹加恒、苏光奎,新一代汇编语言程序设计,北京,高等教育出版社,2003.33 沈美明, IBM-PC 汇编语言程序设计,北京,清华大学出版社,2001.114 吴向军,汇编语言程序设计,北京,高等教育出版社,2002.75 罗云彬, Windows 环境下 32 位汇编语言程序设计,北京,电子工业出版社,2002.106杨季文, 80X86 汇编语言程序设计教程,北京,清华大学出版社,1998.12执笔人:李世宏 2006 年 8 月审定人: 年月院(系)负责人: 年月