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