课程编号:
21903201
学时:
48
(
28+20
) 学分:
3
一、课程性质和目的
“汇编语言程序设计”课程是继“高级语言程序设计”之后的又一门计算机语言程序设计课程,但它是一种低级语言程序设计。它是“计算机组成原理”、“操作系统”和“微机原理及接口技术”的先行课程,同时配合上述课程从软件角度理解计算机工作原理,计算机系统结构;同时也是自动化控制、单片机设计等硬件应用领域的程序设计基础。通过本课程的学习能够熟练掌握汇编语言的基本概念、基本原理和程序设计的常用方法、高级技术,输入输出和中断设计及应用技术;对系统底层功能调用、数据接口和存储器地址的动态分配,以及物理地址的分配及寻址技术应用,有一定深度的理解和剖析。
二、课程的基本内容与要求
[
课堂部分]:
1.汇编语言基础(2)
基本内容: 机器语言和汇编语言
数制和数制转换
有符号数和无符号数
原码、反码、补码、ASCII码
要求:了解机器语言和汇编语言的关系,熟练进行原码、反码、补码的转换。
2.8086微处理器(4)
基本内容:8086CPU系统结构
寄存器和存储器
堆栈和汇编语言编程
要求:了解8086CPU系统结构,寄存器、存储器的特点和实质,掌握存储单元中地址和内容的读写方法,熟练进行堆栈存储器操作。
3.寻址方式(4)
基本内容: 数据寻址方式
指令寻址方式
跨段寻址
要求:理解数据寻址方式中的各种寻址类型,正确指定和查找存储单元的物理地址,掌握指令寻址中的段内和段间的概念,能够对汇编例程进行单步跟踪和调试。
4.汇编语言程序(4)
基本内容:汇编语言据类型
汇编语言指令系统
汇编语言伪指令
汇编语言上机调试过程
要求:了解汇编语言数据类型,熟练使用8086指令系统,掌握汇编源程序的设计结构和上机调试流程。
5.汇编语言程序设计(4)
基本内容:模块化程序设计方法
顺序、分支、循环程序结构
子程序设计方法
常用DOS中断调用
要求:掌握模块化程序设计的思想和方法,熟练使用顺序、分支、循环、子程序设计结构,能够独立编写汇编程序,理解常用DOS中断调用功能的实质和调用过程。
6.汇编语言高级编程(4)
基本内容: 宏汇编、32位字长编程
汇编语言与高级语言的混合编程
要求:宏、宏定义、宏调用的 基本概念,熟练进行汇编语言和C、C++高级语言的混合编程技术,能够进行汇编语言W32环境下的编程。
7.I/O程序设计(2)
基本内容: I/O接口、I/O操作、I/O指令
文件I/O操作案例
要求:了解I/O接口的基本概念,熟练进行不同端口的I/O操作,能够使用I/O指令编写I/O接口的读写程序。
8.中断及中断系统(4)
基本内容:中断类型和中断服务
中断指令和中断调用
中断系统应用
编写中断服务程序
要求:理解中断工作原理、熟练使用中断指令进行中断调用,了解8086微处理器的中断系统分类和组成,能够编写简单的中断服务程序。
[
实验内容]:
共安排五次上机实习,每次上机4学时。
第一次:MASM32编译环境及命令的使用实验
第二次:循环程序设计及跟踪调试实验
第三次:子程序设计及跟踪调试实验
第四次:汇编语言与C语言混合编程实验
第五次:常用系统中断调用实验
三、教学安排
课程教学总学时数为 48学时,其中课内28学时,实验20学时。
教 学 内 容
|
讲课学时
|
实验学时
|
一、汇编语言基础
|
2学时
|
|
二、8086微处理器
|
4学时
|
|
三、寻址方式
|
4学时
|
|
四、汇编语言程序
|
4学时
|
4
|
五、汇编语言程序设计
|
4学时
|
4
|
六、汇编语言高级编程
|
4学时
|
4
|
七、I/O程序设计
|
2学时
|
4
|
八、中断和中断系统
|
2学时
|
4
|
四、教材和参考资料
(一)教材
邵玉祥主编,《汇编语言程序设计》,科学出版社(ISBN 978-7-03-019723-8),2007
邵玉祥主编,《汇编语言实习指导》,校内胶印(B-2004-43),2004
(二)参考教材
[1]《IBM-PC汇编语言程序设计·第二版》,沈美明主编,清华大学出版社,2001。
[2]《IBM-PC宏汇编语言程序设计·第二版》,王元珍主编,华中科技大学出版社,1996。
[3]《Windows环境下32位汇编语言程序设计》,罗云彬电子工业出版社,2009
[4]《80x86汇编语言程序设计教程》,杨季文,清华大学出版社,1998
[5]《80X86汇编语言程序设计上机指南》,许向阳编著,华中科技大学出版社,2007。
[6]《汇编语言程序设计实验教程》,刘均、周苏等主编,科学出版社,2006。
[7]《黑客反汇编揭秘》,谭明金译,电子工业出版社,2005。
[8]《加密与解密(第3版)》,段钢,电子工业出版社 2008。
[9]《从汇编语言到Windows内核编程》,谭文、邵坚磊、罗云彬,电子工业出版社,2008
[10]《IBM-PC汇编语言程序设计实验教程》,沈美明、温冬婵,清华大学出版社,2008
(三)参考文献
[1] 吴红岭 高昆. 在Win32汇编语言环境下开发网络通讯功能[J]. 计算机与数字工程,2009 (7):165-169.
[2] 徐全生,冯跃. 用汇编语言实现实时纹理映射技术的研究[J]. 沈阳工程学院学报,2008(1)60-63.
[3] 曲瑞超. 学习汇编语言的重要性[J]. 赤峰学院学报,2010(1):36-37.
[4] 火善栋. 通过汇编语言理解函数调用的内在机理[J]. 计算机时代,2010(7):47-49.
[5] 王宁. 浅析汇编语言与C语言的连接[J]. 辽宁教育行政学院学报,2009(4):159-160.
[6] 计博婧. 浅谈Debug调试汇编语言程序的方法[J]. 软件设计开发,2008(9):1653-1655.
[7] 钱春英. 浅谈C语言与汇编语言混合编程的一些技术[J]. 铜仁职业技术学院学报,2004(12):46-47.
[8] 高昆,吴红岭. 利用Win32汇编语言设计用户界面[J]. 软件导刊,2009(8):64-66.
[9] 黄淑玲. 类汇编语言解释器设计与实现[J]. 微处理机,2010(2):76-78.
[10] 李敬兆,宗欣欣. 建设“汇编语言”精品课程的体会[J]. 教育与教学研究,2009(13):125-127.
[11] 孟耀伟,程菊明. 计算机专业汇编语言课程教学研究[J]. 计算机工程应用技术,2010(21):5894-5895.
[12] 欧阳中,王育齐. 基于汇编语言图形模式的汉诺塔问题解决方案[J]. 漳州师范学院学报(自然科学版),2007(1):52-56.
[13] 李云飞 阴国富. 基于汇编语言的面向对象编程[J]. 科学技术与工程,2008(6):3004-3006.
[14] 李湘江. 基于汇编语言的32位DLL程序的创建[J]. 科学技术与工程,2007(10):5112-5115.
[15] 李云飞. 基于W in32汇编语言的控制台程序设计[J]. 科学技术与工程,2008(5):2695-2698.
[16] 江静. 基于Visual C++与汇编语言混合编程的优化设计[J]. 信息技术,2009(12):122-125.
[17] 范喆 沙全友. 汇编语言在32位程序设计中的应用[J]. 计算机与数字工程,2008(4):38-40.
[18] 张学,陆庆. 汇编语言实验教学的思考[J]. 计算机教育, 2008(4):81-82.
[19] 陈青,邵玉祥. 汇编语言教学方法研究与实践[J]. 计算机时代,2006(8):62-63.
[20] 冯灵霞,张亚娟. 汇编语言分支结构程序设计技巧[J]. 福建电脑,2010(6):162-163.
[21] 谭炳菊,柳继. 汇编语言程序设计课教学方法改革探讨[J]. 辽宁教育行政学院学报,, 2010(2):142.
[22] 李海玲. 汇编语言程序设计方法研究[J]. 福建电脑, 2009(11):209-210.
[23] 刘拥,丁智敏. 关于汇编语言大数的四则运算实现探讨[J]. 软件导刊,2009(3):58-59.
[24] 赵洋,单娟. Win32汇编语言教学改革初探[J]. 福建电脑, 2008(10):23,43.
[25] 赵立辉. WIN32汇编语言和VB混合编程问题探讨[J]. 长江大学学报,2009(9):226-227.
[26] 杨宏宇 宋敏. VisualC++环境下的汇编语言与高级语言混合编程[J]. 计算机应用与软件, 2008(2):89-91.
[27] 阿娜古丽·阿布拉. C语言与汇编语言相互调用实现混合编程[J]. 电脑编程技巧与维护, 2009(1):46-48.
[28] 陈丹. C语言与汇编语言混合编程[J]. 电脑学习,2010(2):123-125.
[29] 左艳丽. C语言和汇编语言混合编程的方法和实现[J]. 职教与经济研究,2008(9):60-62.
[30] 赵学良 张雯. 8086汇编语言教学体会[J]. 科技教育创新,2007(18):300-302.
五、考试形式
闭卷笔试和上机考试相结合。