32位汇编语言大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
32 位汇编语言程序设计( 32-bit Assembly Programming )
《汇编语言程序设计》教学大纲
一、适用专业:
•计算机科学与技术•软件学院……
二、先修课:
高级语言程序设计
三、开课学期及学时:
三年级上学期(第五学期)
授课学时:51 实验学时:30 总学时:83
四、使用教材:
钱晓捷,32 位汇编语言程序设计,机械工业出版社,2011 年
五、目的和要求:
“汇编语言程序设计”是继“高级语言程序设计”之后的又一门计算机语言程序设计课程,但讲解的是面向处理器的低级语言。该课程一方面加强学生的高级语言编程能力;另一方面配合“计算机组成原理”和“微机原理及接口技术”课程,从软件角度理解计算机工作原理;同时,还作为自动控制等与硬件相关应用领域的程序设计基础,以及为“嵌入式系统”、“操作系统”、“编译原理”等课程提供基础知识。
本课程以Intel 80x86 指令系统和微软MASM 展开汇编语言程序设计方法。课程要求学生系统学习80x86 整数指令系统、进一步理解计算机工作原理;要求学生掌握汇编语言源程序语句和格式,能够利用顺序、分支、循环和子程序等结构解决常规问题。本课程配有上机实践环节,要求学生具有阅读、编辑、汇编和调试汇编语言程序的能力。
六、教学内容和要求:
第1 章汇编语言基础,4 学时
在了解软硬件开发环境的基础上,熟悉通用寄存器和存储器组织,掌握汇编语言的语句格式、程序框架和开发方法。
第2章数据表示和寻址,6学时
在理解计算机如何表达数据的基础上,熟悉汇编语言中如何使用常量和变量,掌握处理器指令如何寻址数据的方式。
第3章通用数据处理指令,8学时
熟悉IA-32 处理器数据传送、算术运算、逻辑运算和移位操作等基本指令,通过程序片段掌握指令功能和编程应用。
第4 章程序结构,10 学时
以顺序、分支和循环程序结构为主线,结合数值运算、数组处理等示例程序,掌握控制转移指令以及编写基本程序的方法。
第5章模块化程序设计,8学时以子程序结构为主体,围绕数码转换实现键盘输入和显示输出,掌握子程序、文件包含、宏汇编等各种多模块编程的方法。
第6 章Windows 编程,6 学时熟悉汇编语言调用API 函数的方法,掌握控制台输入输出函数。熟悉MASM 的高级特性,理解Windows 图形窗口程序的编写。
第7 章与Visual C++ 的混合编程,4 学时掌握嵌入汇编和模块连接进行混合编程方法,理解堆栈帧的作用,熟悉汇编语言调用高级语言函数和开发调试过程。
第8 章DOS 环境的程序设计,4 学时
熟悉DOS 应用程序特点和DOS 功能调用,掌握串操作指令和输入输出指令及应用,理解初始化编程、中断机制和编程方法。
第9章浮点、多媒体及64位指令,1学时熟悉浮点数据格式、多媒体数据格式及64 位编程环境的特点,了解浮点操作、多媒体操作和64 位指令。
汇编语言程序设计”上机任务
“汇编语言程序设计”是一门实践性很强的课程,需要通过编程实践更好地掌握课程内容。编程实践以普通32位PC机为唯一硬件条件,结合教材配套的开发软件包进行。教材从构建开发环境开始就可以安排上机实践的任务,随着课堂教学的展开,逐渐进行开发环境的熟悉、MASM 开发方法的练习、开发过程的熟练掌握、调试程序WinDbg 的了解,掌握常用指令应用、分支、循环、子程序结构、库文件开发以及小型项目的组织,并随着内容深入介绍Windows 编程和MASM32 开发环境、与Visual C++ 混合编程和Visual C++ 开发环境、DOS 平台和输入输出指令及串操作指令应用。
课程主要基于32 位Windows 控制台,以IA-32 处理器常用指令和微软MASM 展开汇编语言程序设计方法。课程要求学生系统学习IA-32 指令系统、理解计算机工作原理;要求学生具有阅读、编辑、汇编和调试汇编语言程序的能力;要求学生掌握汇编语言源程序语句和格式,能够利用顺序、分支、循环和子程序等结构解决常规问题。
对程序设计类课程,没有上机编程的实践是无法真正掌握的。所以,希望学生加强实践环节。学生应完成基本的上机指导编程要求,同时争取多进行编程实践;因为只有通过实际编程才能发现程序设计中的许多问题。请你不要直接拷贝源程序代码,在你将一条一条语句的录入编辑过程中,就是书写正确语句、加深语句理解的绝好机会。
上机实验要求:
1、上机前作好充分准备,包括程序框图、源程序代码、开发过程、对运行结果的分析等。
2、上机时要遵守实验室的规章制度,爱护实验设备。注意及时在硬盘上存储程序,以避免文件丢失。每个上机实验安排在2 个学时内完成。程序开发完成后,须由实验辅导教师在机器上检查运行结果。
3、上机后,应写出实验报告、并及时提交到实验室。
上机实验教材:
钱晓捷,32 位汇编语言程序设计,机械工业出版社,2011 年
本上机指导书所述的习题和例题均来自上述教材,有关习题例题的详细介绍请参看教材。
上机任务1 汇编语言开发过程
(1)创建MASM 目录、复制开发软件,熟悉进入和退出32 位控制台的方法。
(2)熟悉汇编语言的语句格式和程序框架,录入教材例1-1程序(EG0101.ASM )。
(3)熟悉汇编语言的开发过程,汇编连接教材例1-1 程序、生成可执行文件并执行,查阅列表文件。
上机任务2 数据表示和寻址
(1)掌握汇编语言进行常量表达和变量定义的方法,参考例1-1 程序、按照习题2.14 要求在数据段定义ASCII 可显示字符的数值,然后进行汇编、连接生成可执行文件,并显示出正确
的ASCII 表。
(2)掌握数据寻址方式,上机验证教材例2-11 和例2-12 程序。
上机任务3 数据传送指令
(1)掌握MOV、XCHG、PUSH 和POP 等常用传送指令,验证例3-3 程序,并体会其中存储器操作数寻址方法的运用。
(2)掌握配套教材的输入输出子程序库的应用,实现习题 3.9 程序。
上机任务4 数据运算指令
( 1)熟悉状态标志的意义。首先判断习题3.12 每条指令执行后AL 的数值和相关标志状态,写出结果。然后将其编辑成为一个完整的汇编语言源程序,汇编连接、生成可执行文件。可以利用本书配套的输入输出
子程序库,在每条指令之后,调用其中的DISPRF (先调用)和DISPHD,显示6个状态标志位和EAX
内容,并核对事先判断的结果。
(2)掌握常用加法、减法等数据运算指令,验证例
3-5 程序,实现习题3.15程序。