汇编语言程序设计课程教学大纲.docx
- 文档编号:17231542
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:16
- 大小:22.67KB
汇编语言程序设计课程教学大纲.docx
《汇编语言程序设计课程教学大纲.docx》由会员分享,可在线阅读,更多相关《汇编语言程序设计课程教学大纲.docx(16页珍藏版)》请在冰豆网上搜索。
汇编语言程序设计课程教学大纲
汇编语言程序设计课程教学大纲
《汇编语言程序设计》课程教学大纲
一、课程基本信息
84810013课程编号:
汇编语言课程中文名称:
Assemblerlanguage课程英文名称:
专业必修课课程类别:
计算机科学与技术专业本科生适用专业:
第5学期开课学期:
60学时理论课48学时实验12学时总学时:
3总学分:
1、数字逻辑2、操作系统先修课程:
3、高级语言程序设计
本课程主要应使学生掌握8086/8088宏汇编语言程序设计的基本方法和
技巧,能够运用8086/8088宏汇编语言编写应用程序。
提高学生分析问
题、解决问题的能力以及实际动手能力。
应使学生基本掌握汇编语言程
序设计的基本理论,方法和技巧,正确地使用结构化、模块程序设计技课程简介:
术。
注意培养学生良好的程序设计风格。
应使学生比较熟练地使用调试
工具DEBUG调试8086/8088汇编语言程序。
注意提高学生的调试能力。
二、课程性质与教学目标
《汇编语言程序设计》是计算机科学与技术专业一门重要的基础课,是必修的核心课程之一,是"操作系统"和"微机原理和接口技术"等其它核心课程必要的先修课,而且对于训练学生掌握程序设计技术,熟悉上机操作和程序调试技术都有重要作用。
因此该课程在整个教学计划中占有重要地位。
本课程的目的和要求是:
1、应使学生掌握8086/8088宏汇编语言程序设计的基本方法和技巧,能够运用8086/8088宏汇编语言编写应用程序。
提高学生分析问题、解决问题的能力以及实际动手能力。
2、应使学生基本掌握汇编语言程序设计的基本理论,方法和技巧,正确地使用结构化、模块程序设计技术。
注意培养学生良好的程序设计风格。
3、应使学生比较熟练地使用调试工具DEBUG调试8086/8088汇编语言程序。
注意提高学生的调试能力。
4、注意与前后相关课程的关系。
使学生对前导课程有进一步的理解,同时为学习后继课程打好基础。
三、教学内容及基本要求
第一单元基础知识
[知识点]
汇编语言的基本概念、数据的表示和类型、几种基本的逻辑运算、Intel8088/8086微
处理器基本概念、存储器分段和地址的形成、
[教学内容]
1.以二进制存在的机器语言。
计算机内部数的存储及运算也都是采用二进制。
2.制数的值由1所在位置的权来确定。
3.进制是一种很重要的短格式记数法,它把二进制数每4位分成一组,分别用0-9和
A-F来表示0000-1111。
反之,16进制数的每一位用四位二进制表示,就是相应的二进
制数。
4(十进制转换为二进制的方法主要有降幂法和除法。
计算机十化二程序中采取下面的算法:
5(标志位OF=1表示带符号数的运算结果无效。
CF=1表示无符号数运算结果无效。
6(计算机中的字符数据用ASC?
码表示,一个字符在存储器中占用一个字节(8位二进制码)。
7(BCD码是一种用二进制编码的十进制数,又称二-十进制数或8421码,它用4位二进制数表示一个十进制数码。
BCD码有压缩和非压缩两种格式,压缩的BCD码用4位二进制数表示一个十进制数位,如95表示为1001,0101。
非压缩的BCD码用地位二进制数表示一个十进制数位。
如95表示为0000100100000101。
8(两种类型的内部存储器是ROM(只读存储器)和RAM(随机存储器)。
存储器按字节编址,存储器地址一般用16进制的无符号数表示。
9(字数据在存储器中存放的顺序为高地址字节放高8位,低地址字节放低8位。
10(AX、BA、CA、和DX是通用寄存器,每个通用寄存器可作两个8位寄存器使用(如AH和AL)。
11(一个20位的物理地址可表示成段地址:
偏移地址。
计算存储器单元的物理地址,可将段地址乘以10H,再加上偏移地址。
物理地址=(段地址×10H)+偏移地址
12(段寄存器CS、SS、DS和ES分别寄存代码段、堆栈段、数据段和附加段的段地址。
13(变址寄存器SI和DI一般指示数据段内单元的地址,有时也可作为数据寄存器用。
14(16位的标志寄存器个包括6个状态标志(SF、ZF、PF、CF、AF、OF)和3个控制标志(DF、IF、TF)。
(CF、AF、SF、ZF和OF反映了算术运算以及移位、循环、逻辑等操作的结果状态。
[重难点]
1(教学重点
1.汇编语言的基本概念
(,)机器语言,汇编语言,汇编程序,汇编语言源程序,目标程序,目标代码,可执行程序。
(,)汇编语言的特点
(,)为什么要学习汇编语言,汇编语言的应用场合。
2.数据的表示和类型
(,)数值数据的表示,符号扩展,数值数据的表示范围,,,,码,不同数据之间的转换。
(,)非数值数据类型:
字节、字、双字等。
3.几种基本的罗辑运算
“与”、“或”、“非”、“异或”
4.Intel8088/8086微处理器基本概念
(,)8086/8088基本结构:
执行单元EU,总线接口单元BIU,
指令的执行次序。
(,)8086/8088CPU寄存器组:
通用寄存器,数据寄存器,变址和指针寄存器,段寄存器和指令指针。
(,)标志寄存器,运算结果标志、状态、控制标志。
5.存储器分段和地址的形成
(,)存储单元的地址
(,)“高高低低”的存储原则
(,)存储器的分段
(,)物理地址的形成
(,)段寄存器的引用
(,)堆栈及其用途
2(教学难点
1.8088/8086微处理器基本概念
2.存储器分段和地址的形成
[教学要求]
1.领会汇编语言的慨念及特点
2.掌握数值数据的表示
3.了解8086CPU的基本结构
4.重点领会8086CPU地址形成的原理
第二单元指令系统与寻址方式[知识点]
寻址方式、正确使用指令系统
[教学内容]
1.寻址方式:
(,)立即寻址:
操作数由指令给出
(,)寄存器寻址:
操作数在寄存器中
(,)直接寻址:
操作数的有效地址由指令直接给出
(,)寄存器间接寻址:
PA=(DX)*16+(BX)(SI)(DI)
(,)寄存器相对寻址:
PA=(DX)*16+(BX)(SI)(DI)+位移量
(,)基址加变址寻址:
PA=(DX)*16+(SI)(DI)
(,)相对基址加变址寻址:
PA=(DX)*16+(SI)(DI)+位移量2.正确使用指令系统,关键要清楚每条指令的功能以及它们规定或限制使用的寄存器。
下面是初学者易混淆的几个问题:
(1)指令对地址还是对地址中的内容进行操作,要严格区分。
(2)使用指令时,要清楚指令隐含的操作寄存器。
(3)对带符号数和无符号数的操作应正确选择相应的条件转移指令。
(4)用移位指令来倍增或倍减一个值是很方便的,但要注意对带符号数和无
无符号数所使用的指令是不同的。
(,)是是程序中指令的符号地址,要注意和变量(数据符号)的区别。
[重难点]
1(教学重点
1、8086/8088的寻址方式
七种基本的寻址方式:
固定寻址、立即寻址、存储器直接寻址、寄存器寻址、寄存器间接寻址,变址寻址,基址加变址寻址。
2、8086/8088指令系统
(,)分组:
数据传送、算术运算、逻辑运算、串操作、程序控制、处理器控制。
(,)常用指令格式和功能
2(教学难点
1(8086CPU的寻址方式的理解
2(各种指令的用法
[教学要求]
1(理解七种寻址方式的慨念
2(对数据传送、算术运算、逻辑运算、串操作、程序控制类的指令要深入理解
第三单元汇编语言格式
[知识点]
伪操作指令、宏定义、地址表达式、数值表达式
[教学内容]
1、伪操作也称为汇编程序命令,它是给汇编程序提供操作命令信息的,因此它和机器指令
的区别在于机器指令是在在程序运行期间执行的,而伪操作是汇编程序对原程序进行汇
编时由汇编程序执行的。
2、伪操作的用法类似于使用助记符和机器指令。
和机器指令一样,没条伪操作(伪指令)
的含义是唯一的。
3、常用的伪操作:
1)数据定义及存储器伪操作:
DB、DW、DD、DQ、DT、DUP
属性伪操作:
PTR、LABEL
2)符号定义伪操作:
EQU、=
3)段定义和段结束伪操作:
SEGMENT、ENDS、ASSUME
定位类型PARR、BYTE、WORD、PAGE
组合类型PUBLIC、COMMON、AT、STACK、MEMORY
类别‘class_name’
4)过程定义和过程结束PROC、ENDP
过程属性NEAR、FAR
5)程序结束伪操作END[start]
6)对准伪操作EVEN、ORG
7)基准控制伪操作RADIX
二进制数标记B十进制数标记D
八进制数标记O、Q16进制数标记H
汇编程序默认无标记数为十进制数,DEBUG程序默认无标记数为16进制数。
4、机器指令、伪指令和宏定义中的操作数项可用表达式表示。
表达式由常数、寄存器、标
号、变量及各种操作符组成。
表达式在由汇编程序处理时,应能得出一个常数值填入机
器代码。
在汇编期间不能求得确定值的表达式是错误的。
5、变量中的表达式的属性应和变量的属性相同。
在质量中使用的表达式,其类型应和其它
操作数匹配。
6、表达式中常用的操作符:
(1)算术操作符+、—、*、/、MOD
(2)逻辑操作符AND、OR、XOR、NOT
(3)关系操作符EQ、NE、LT、GT、LE、GE
(4)数值回送操作符TYPE、LENGTH、SIZE、OFFSET、SEG
(5)属性操作符PTR、SHORT、THIS、HIGH、LOW
[重难点]
1(教学重点
、汇编语言语句的种类和格式
(,)语句的种类:
指令语句、伪指令语句、宏指令语句
(,)指令语句格式和伪指令语句格式。
、宏汇编语言中的表达式
(,)参数的表示
(,)变量和标号
(,)运算符
(,)宏汇编语言的常用分析操作符和合成操作符
(,)运算符和操作符的优先级
、数据(变量)定义的语句和符号说明语句
(,)数据(变量)定义语句,重复操作符DUP
(,)符号定义语句
、常用伪指令语句和源程序组织
(,)段定义语句
(,)段使用设定语句
(,)源程序结束语句
(,)汇编语言源程序的组织
(,)其它常用的伪指令
、上机过程
(,)编辑、汇编、连结和调式过程、有关命令的使用。
(,)汇编程序的工作过程简单介绍
2(教学难点
1(伪指令的理解
2(宏指令的理解
3(常用伪指令语句和源程序组织
4(地址表达式的理解
[教学要求]
1(深入理解伪指令
2(常用伪指令语句和源程序组织应用
3(深入领会地址表达式
4(对地址表达式的组成的理解
第四单元汇编语言程序设计[知识点]
程序框图、分支程序设计、循环程序设计、子程序设计、常用,,,系统功能调用、字
符串处理
[教学内容]
1、程序设计的一般步骤
(1)分析所要解决的问题,确定适当的算法。
(2)设计整个程序的逻辑结构,画出程序框图。
(3)编写程序,正确运用IBMPC提供的指令、伪操作以及DOS、BIOS功能调用。
同
时简洁明了的说明注释。
(4)上机调试程序。
2、一个高质量程序应具有以下特点:
(1)程序有较好的逻辑结构,便于进行二次开发。
(2)源程序有较好的可读性。
使非专业人员能读懂会用,甚至能加以修改。
(3)程序应有很好的可靠性和可维护性,也就是说要保证能正确地工作,并且易于
做进一步的改进和完善。
(4)程序运行效率高而且有可重入性,这就要求尽量使用效高的指令,尽量减少程
序的额外开销,同时程序的运行不能破坏程序的原始数据和指令。
3、子程序即是前述的过程。
它是模块化、结构化程序设计的基本构件,其设计与调用技术是要求重点和熟悉掌握的内容。
而对于子程序设计和调用技术,最关键的是要正确理解和熟悉掌握主、子程序的接口方法和主程序与子程序间的参数传递方法。
主程序与子程序的接口,一是要正确使用CALL/RET指令对,它们必须成对出现;二是转子和返主过程中的现场保护和恢复。
保护和恢复现场通常有两种方法:
(,)程序与子程序所使用的存储器单元和寄存器尽量分开,互不干扰。
(,)“现场”通过堆栈保护和恢复。
分为两种情况:
一是“现场”信息的保护和恢复安排在子程序中进行,即在子程序的开始处安排一段保护程序,在子程序结束前,再将有关部门内容恢复;二是安排在主程序中进行,即在调用子程序指令(CALL)前保护,在CALL指令后恢复。
4(主程序与子程序的参数传递
(,)存器参数传递
调用前,主程序将参数保存在某些通用寄存器中,子程序则直接使用寄存器中的参数。
出口程序也通过寄存器返回给主程序。
寄存器参数传递简单快捷,单需占用通用寄存器,只适合参数较少的场合。
(,)存储器参数传递
利用制定的存储变量传递参数或通过地址表传送变量地址。
此方法适合参数较多的场合,但需事先在内存中建立参数表,不如寄存器参数传递方便快捷。
(,)堆栈参数传递
主程序与子程序将要传递的信息放在堆栈中,使用时再从堆栈中取出。
由于堆栈具有先进后出的特性,故多重调用中各重参数层次分明,适合参数较多且子程序有嵌套和递归调用的场合。
实现可重入子程序,一般也是用堆栈传递参数。
[重难点]
1(教学重点
、顺序程序设计
(,)顺序程序设计的基本方法
(,)简单查表法代码转换
、分支程序设计
(,)分支程序设计的基本方法
(,)利用地址表实现多向分支
、循环程序设计
(,)循环结构的组成和控制循环的一般方法
(,)简单循环和多重循环
、子程序设计
(,)子程序设计的一般原则
(,)过程定义语句
(,)主程序与子程序的参数传递方法
(,)子程序说明信息和寄存器的保护和恢复
、常用,,,系统功能调用
(,),,,系统功能调用概述,调用方法
(,)常用,,,功能调用。
、字符串处理
(,)字符串操作指令和重复前缀
(,)字符串处理
2。
教学难点
1(分支程序设计应用
2(循环程序设计应用
3(子程序设计应用
[教学要求]
1(加强分支程序设计的训练
2(加强循环程序设计的训练
3(加强子程序设计的训练
第五单元输入和输出与中断
[知识点]
程序控制的I/O方式、中断传送方式、BIOS和DOS中断、常用BIOS和DOS调用
[教学内容]
1、程序控制的I/O方式
这种方式使用I/O指令(IN和OUT)直接在端口级上进行信息的输入/输出。
CPU
与各设备之间以串行方式工作。
CPU要通过测试I/O接口的状态来控制传送,若I/O设
备没有准备好,CPU就循环测试,直到设备准备好,CPU就执行一次传送。
2、中断传送方式
这种I/O方式实质上是一种特殊情况下的程序转移方式。
所谓特殊情况一般指:
(1)计算机出现异常事件,如电源掉电,内存I/O总线奇偶错等。
出现这样的
事件,CPU应立即中断现行程序的运行,转去执行处理故障的子程序。
(2)程序中预先安排的中断指令(INT)或其它内部原因(如除法错等),使现
行程序暂时中断,转去执行相应的处理子程序。
(3)外部设备一切准备就绪时,向CPU发出中断现行程序的请求,以处理外设
的输入输出。
以上三类情况是引起中断发生的原因,称为中断源。
第
(1)类情况一般安排为非
屏蔽中断。
第
(2)类情况称为内中断,第(3)类情况为外中断,这是一些可屏蔽
的中断类型。
3、BIOS和DOS中断
驻留ROM的BIOS提供了主要I/O设备的中断例行程序以及接口控制等功能模块,
因此可直接用指令设置参数,然后用中断指令INT调用BIOS中的例行程序。
使用
DOS功能调用其操作更为简易,对硬件的以来性更少一些。
(1)常用的BIOS中断调用:
INT10H显示器INT16H键盘
INT12H内存检验INT17H打印机
INT13H磁盘INT1AH时钟
INT14H串行通讯INT40H软盘
(2)常用的DOS中断调用:
INT20H程序结束
INT21H功能调用
键盘I/O(AH=1、6、7、8、A、B、C)
显示器I/O(AH=2、6、9)
打印机I/O)AH=5)
串行通讯I/O(AH=3、4)
[重难点]
1(教学重点
、输入和输出的基本概念
(,),,,端口地址
(,),,,与外设之间交换的信息,数据传送方式。
、查询传送方式
、中断传送方式
(,)中断传送方式概述
(,)中断源、可屏蔽中断、非屏蔽外部中断、内部中断
(,)中断响应过程、中断向量表
、基本输入输出系统,,,,
(,)概述
(2),,,,中断服务程序调用
2(教学难点
1(各种传送方式的理解
2(DOS调用的应用
3(BIOS调用的应用
[教学要求]
1(理解各种传送方式
2(加强应用对象的理解
3(领会DOS调用
4(领会BIOS调用
四、学时分配
总学时:
60学时,其中理论课教学48学时。
序号课堂授课内容学时授课方法备注
1基础知识6讲授
2指令系统与寻址方式10讲授
3汇编语言格式6讲授
4汇编语言程序设计18讲授
5输入、输出与中断8讲授
五、教材与参考书
教材:
金汉均等编著..汇编语言程序设计武汉大学出版社,2007年9月参考书:
PETERABEL编著IBMPCASSEMBLYLANGUAGEANDPROGRAMMING
(FOURTHEDITION)..清华大学出版社,1998年5月第1版
六、考核方式
1、闭卷笔试
2、上机测试
七、成绩评定
1、平时成绩20%
2、上机测试成绩20%
3、笔试成绩60%
八、其它说明
汇编语言课程的主要任务是帮助学生理解和掌握微机的基本原理,并能够灵活的将汇编语言知识运用到实际问题的求解中。
与其相配套的《汇编语言实验》的主要任务是则是使学生能搞达到用汇编语言上机并熟练的实现对实际问题的应用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计 课程 教学大纲