汇编实验

更新时间:2024-03-09 06:06:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

附件1-3

《汇编语言程序设计课程》 实 验 教 学 指 导 书

课程编号:

撰写人:刘伏贵 审核人:

湘 潭 大 学 信息工程学院 二○○七年十月十八日

前 言

一、实验总体目标

《汇编语言程序设计》是一门重要的专业选修课,同时也是一门实践性很强的课程。通过实验使学生对所学的汇编语言程序设计内容加深理解,增强实践动手能力,培养学生分析问题和解决问题的能力,以及进行汇编语言程序设计的实践。在汇编语言程序设计课程的学习过程中,将分别开出《汇编程序与调试器的使用》、《DOS 命令与磁盘文件操作》、《汇编语言与结构化程序设计》、《汇编语言子程序设计》、《十进制数据直接处理程序设计》、《结构数据与汇编语言程序设计》、《记录数据与汇编语言程序设计》、《汇编语言程序设计综合实验》等八个实验。由于汇编语言程序设计涉及到硬件、操作系统等诸方面的知识,完成实验的难度大。因此,要求每一个学生必须按照教师的安排和要求,认真完成每一个实验,从而达到培养现代程序设计基本素养的目的。

二、适用专业年级

专业:计算机科学与技术、网络工程 年级:二年级

三、先修课程

《C语言程序设计》、《计算机组成原理》

四、实验项目及课时分配

实验项目 实验一 实验二 实验三 实验四 实验五 实验六 实验七 实验八 实验九 实验十 汇编程序与调试器的使用 DOS 命令与磁盘文件操作 汇编语言与结构化程序设计 汇编语言子程序设计 十进制数据直接处理程序设计 结构数据与汇编语言程序设计 记录数据与汇编语言程序设计 汇编语言程序设计综合实验 实验要求 必修 必修 必修 必修 必修 必修 必修 必修 实验类型 验证性 设计性 设计性 设计性 设计性 设计性 设计性 设计性 每组人数 实验学时 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2

五、实验环境

个人计算机:120台 Win 32 操作系统 MS DOS

MASM 6.0 及其以上版本的汇编程序及配套的80x86 汇编语言程序开发环境

六、实验总体要求

1、汇编语言程序设计的实验课主要是供学生测试、调试汇编语言程序。

2、必须充分重视实验课。实验课是汇编语言程序设计课程的重要组成部分,是理论联系实践的重要环节。通过它,能够培养学生独立分析和解决问题的能力。

3、在每个实验之前,学生必须准备好被测程序的有关设计资料(包括程序的基本设计说明、程序流程图、汇编语言程序清单等)、测试数据、测试驱动程序、测试需要的“桩模块”等。

4、必须做好实验前的一切准备工作,包括程序测试/调试的详细过程安排等。在实验中应严格按照预先确定的实验过程进行实验,决不允许在实验过程中准备实验程序、测试数据与测试/调试过程计划。凡未做好实验准备者,一律禁止进入实验室。

5、应当系统记录实验过程中的现象(通过情况、排除问题的调试过程等),以便写出充实的实验报告。

七、本课程实验的重点、难点及方法建议

重点:远过程性质的汇编语言子程序的设计;良好程序设计习惯的培养;程序测试-调试能力的培养。 难点:开发可被高级语言程序调用的汇编语言子程序;测试数据的设计;调试器命令的熟练使用;汇编语言程序设计能力的提高。

建议:学生最好是将在高级语言程序设计课程中已完成的、程序效率受制于硬件资源利用率的综合性程序改用汇编语言程序实现;在实验前系统地“走查”被测程序,并使之成为习惯。

附件1-4:验证性实验教学指导书

实验一:汇编程序与调试器的使用

一、实验目的

熟悉DOS操作系统环境下的汇编程序MASM的使用、掌握DEBUG的基本命令及其功能。

二、实验内容

1.编写一个小程序,从键盘接收一个大写字母,存放到指定的内存单元BUFF1,并转换其为对应的小写字母,存放到指定的内存单元BUF2中。上机编辑、汇编、连接并运行该程序。 程序结构参见教材相应章节的内容。数据单元定义、源程序参考如下: DATA SEGMENT BUF1 DB ? BUF2 DB ? DATA ENDS CODE SEGMENT MAIN PROC FAR

ASSUME CS: CODE,DS:DATA START: MOV AX, DATA MOV DS,AX

MOV AH, 01 ;调用读键盘功能 INT 21H ;结果在AL寄存器中 MOV BUF1,AL

OR AL,20H ;转换为小写字母 MOV BUF2,AL MOV AX,4C00H INT 21H MAIN ENDP CODE ENDS END START

2. 输入源程序、汇编、连接并执行相应程序,并用DEBUG 实现以下操作:

(1)用反汇编命令查看相应程序的可执行语句序列,分析其与源程序的异同,查看相应程序占用内存

单元的字节数。

(2)用数据查看命令查看执行前的数据单元的内容。

(3)分别用P命令和T命令逐步执行程序,分析这两种方式的区别,记录“转换为小写字母”指令执行后的状态字。

(4)查看程序执行后数据单元的内容。 (5)查看0000:0000 起始的32个单元的内容。

(6)用DEBUG中的汇编命令编写一个计算“3+5”的加法程序。

三、实验要求

学生要提前做好相关内容的预习(包括源程序的分段组织、DEBUG的系列命令等),熟悉被调试的程序(学生应当在本实验中自行设计一些汇编语言程序,其目的是熟悉相关编程环境的特性),并对程序的测试/调试过程(包括所用的编程环境命令、DEBUG命令等)作出详细计划。 认真完成实验,正确记录各项数据,记录实验过程中出现的问题及其解决过程。

四、实验报告

写出各实验程序的测试/调试的详细过程(包括DEBUG命令的使用等),特别是要写出在DEBUG状态下编写、运行程序的过程。要系统给出各程序在测试/调试过程中所遇到的问题、解决问题的方法与途径。要对程序在测试/调试过程中的问题进行分析,对相关的执行结果进行分析。

附件1-5:设计性实验教学指导书

实验二 DOS命令与磁盘文件操作

一、 实验目的

1. 熟悉DOS的基本系统调用(特别是系统输入/输出关联的基本系统调用)及其在汇编语言程序设计中的应用。

2. 熟悉磁盘文件操作相关的DOS系统调用及其在汇编语言程序设计中的应用。 二、实验内容

编制若干个子程序以实现确定位数的数值数据(位数应使系统收到的数据达到或超过“字”数据的表示范围)的输入输出;编制若干个子程序实现对于数据文件的操作。 三、实验要求

1. 数值数据的输入/输出要系统考虑无符号数和有符号数据。

2. 输入的数据按BCD码串保存,保存结果的存储区首址作为相应子程序的参数。 3. 待输出的数据被按BCD码串保存,其存储区首址作为相应子程序的参数。 4. 文件处理要完成包括文件的创建等在内的系列文件操作。 四、实验报告

1. 实验程序的设计说明。

2. 实验程序的测试数据及其实测情况记录。 3. 程序的系统调试记录。 4. 实验的结果分析与总结。

实验三 汇编语言与结构化程序设计

一、 实验目的

系统了解在汇编语言程序中构建“if-then”、“if–then-else”、“switch-case”、“for”、“while”和“do-while”等结构的特殊性。 二、实验内容

编制若干个子程序使结构化程序设计允许出现在程序中的“if-then”、“if–then-else”、“switch-case”、“for”、“while”和“do-while”几种程序结构被系统实现。其中的“循环结构”必须至少有一种以上包含嵌套的循环结构。 三、实验要求

1. 各子程序必须具有单一的逻辑功能,具有单一的出口和入口。 2. 必须使所有程序都符合结构化程序设计的要求。

3. 系统提供各子程序的测试数据及其所测试的程序特性。 4. 必须提供测试相关的“驱动模块”和“桩模块”的设计说明。 四、实验报告

1. 实验程序的设计说明。

2. 实验程序的测试数据及其实测情况记录。 3. 程序的系统调试记录。 4. 实验的结果分析与总结。

实验四 汇编语言子程序设计

一、 实验目的

熟悉汇编语言子程序的构建及调用,了解子程序的参数传递机制(特别是利用堆栈传递参数),了解在子程序中面向堆栈分配程序局部变量的程序设计实现。 二、实验内容

1. 必须包含将BCD码串表示的数值数据转换为相应二进制表示的子程序。

2. 必须包含将二进制的字节/字/双字(无符号/有符号)数据转换为相应BCD码串的子程序。 三、实验要求

1. 所有子程序都必须具有“远过程”性质。 2. 使用堆栈传递成组参数的指针。

3. 除AX或者DX:AX可用作参数寄存器外,子程序不得破坏其他寄存器。 4. 当使用堆栈传递参数时,由子程序负责平衡堆栈。 四、实验报告

1. 实验程序的设计说明。

2. 实验程序的测试数据及其实测情况记录。 3. 程序的系统调试记录。 4. 实验的结果分析与总结。

实验五 十进制数据直接处理程序设计

一、 实验目的

熟悉超长位数的数值数据的直接十进制处理的汇编语言程序实现。 二、实验内容

设计若干个具有“远过程”性质的子程序,通过引用相关的DOS系统调用,从键盘上接受用户输入的长于12位的十进制数,应用硬件的十进制运算支持机制,实现对相关数据的直接处理。

三、实验要求

1. 设计多个相对独立、但逻辑关联的子程序来完成实验任务。 2. 要提供无符号数和有符号数的处理支持。 3. 数值运算包括“加”、“减”、“乘”、“除”。 四、实验报告

1. 实验程序的设计说明。

2. 实验程序的测试数据及其实测情况记录。 3. 程序的系统调试记录。 4. 实验的结果分析与总结。

实验六 结构数据与汇编语言程序设计

一、 实验目的

系统了解在汇编语言程序设计中处理结构数据、实现数据文件的高效处理的相关技术。 二、实验内容

设计若干个具有“远过程”性质的子程序,通过引用相关的DOS系统调用,实现面向数据文件内容的、基于汇编语言结构数据应用的系列处理。 三、实验要求

1. 相关子程序处理的数据应当来自确定的数据文件,处理的结果保存在确定的数据文件中。 2. 应当尽可能的引用先前实验中已通过的子程序。 3. 相关的数据文件应事先已创建并具有预知的内容。 4. 相关的子程序应能协同作用、实现确定的逻辑功能。 四、实验报告

1. 实验程序的设计说明。

2. 实验程序的测试数据及其实测情况记录。 3. 程序的系统调试记录。 4. 实验的结果分析与总结。

实验七 记录数据与汇编语言程序设计

一、 实验目的

了解86汇编语言的记录数据,掌握相关的汇编语言程序设计技术。 二、实验内容

设计若干个具有“远过程”性质的子程序,实现在字节对象、字对象和双字对象中位和位段数据的逻

辑关联处理。 三、实验要求

1. 相关的子程序要实现对于确定数据对象的功能配套的处理。 2. 所涉及的记录数据至少要包含三个字段、且具有确定的逻辑独立性。 四、实验报告

1. 实验程序的设计说明。

2. 实验程序的测试数据及其实测情况记录。 3. 程序的系统调试记录。 4. 实验的结果分析与总结。

实验八 汇编语言程序设计综合实验

一、 实验目的

系统了解用汇编语言开发一个小型的、面向应用的系统的特殊性。 二、实验内容

用汇编语言程序实现一个总代码行数不低于300行的、可独立运作的小型应用系统。 三、实验要求

1. 程序满足模块化设计要求。

2. 程序仅含一个主模块,其余均由远过程性质的子程序实现。 3. 应当尽可能的引用先前实验中已通过的子程序。 四、实验报告

1. 实验程序的设计说明。

2. 实验程序的测试数据及其实测情况记录。 3. 程序的系统调试记录。 4. 实验的结果分析与总结。

附件2-3:实验教学大纲

课程名称:汇编语言程序设计 课程代码:

本大纲执笔人:刘伏贵

实验指导书名称:汇编语言程序设计实验指导书

一、学时学分

总学时:64 总学分:4 实验时数:16 实验学分(可选填):0 二、实验的地位、作用和目的

汇编语言程序设计实验是继数字逻辑与数字电路实验、高级语言程序设计实验、计算机组成原理实验之后的一门面向选修课的专业基础实验,是计算机科学与技术、网络工程专业系列教学活动中的一门独立课程中的实验部分。本实验综合了计算机学科领域中有关的基本工具和方法,是一个从事现代计算机科学与技术、网络工程专业工作的相关人员所应当进行的训练项目之一。汇编语言程序设计实验的主要目的和任务应该始终贯穿于整个实验教学,其目的和任务分为以下个方面:

第一、培养学生独立分析和解决问题的能力。

第二、深入了解现代计算机体系结构的演变及其与现代计算机信息系统开发的关联,系统了解在现代计算算机科学技术背景下进行汇编语言程序设计的必要性及汇编语言程序的作用模式。

第三、透彻了解80x86系列机中的存储器的分段管理机制及其对汇编语言程序设计以及对现代信息系统开发的影响。

第四、深入了解80x86汇编语言的特点、现代汇编语言程序设计的特点。

第五、培养学生严谨的工作作风、良好的程序设计习惯、良好地从事计算机工作态度。 三、实验对象

本实验开设对象为计算机科学与技术、网络工程专业的本科学生,本实验为选修了汇编编语言程序设计课程的学生必修内容。 四、基本原理及课程简介

《汇编语言程序设计实验》课程是一门培养学生现代程序设计技能的专业选修课,主要任务是熟悉结构化程序设计技术及其与现代汇编语言程序设计的系统关联、设计一些实用的汇编语言子程序。通过实验使学生对所学的汇编语言程序设计课程内容加深理解,增强实践动手能力,培养学生分析问题和解决问题的能力。

五、实验方式与基本要求

实验方式:实验 基本要求:

1、认真阅读实验指导书,明确目的、要求。

2、根据实验内容和设计要求,给出各程序的系统说明文档、画出规范的程序流程图、给出各程序的汇编语言源程序清单。

3、给出各程序的测试/调试数据(包括输入数据/正确结果)设计、测试/调试所用汇编/调试器命令,程序测试/调试情况的详细说明。 六、考核与报告

1、要求学生独立书写实验报告; 2、指导教师应对每份实验报告进行批改、评分,实验课程成绩=汇编语言源程序成绩+实验报告成绩,其中“汇编语言源程序成绩”成绩占60%,实验报告成绩占40%。

3、由于该门实验课程依附于理论课,实验课程成绩占20%,平时成绩占10%,理论课成绩占70%。 七、设备与主要器材配置

计算机、DOS 3.x以上版本的操作系统、MASM6.0/TASM5.0。

八、实验项目与内容提要 序 号 项目 名称 内容 提要 每组 人数 项目 时数 实验项 目类型 承担 实验室 计算机实验室 计算机实验室 计算机实验室 计算机实验室 计算机实验室 计算机实验室 计算机实验室 计算机实验室 备 注 1 实验一 汇编程序与调试器的使用 1 2 验证性 2 3 4 5 6 7 8 实验二 实验三 实验四 实验五 实验六 实验七 实验八 DOS 命令与磁盘文件操作 数据通路、运算器 汇编语言子程序设计 十进制数据直接处理 程序设计 结构数据与汇编语言 程序设计 记录数据与汇编语言 程序设计 汇编语言程序设计综合实验 1 1 1 1 1 1 1 2 2 2 2 2 2 2 设计性 设计性 设计性 设计性 设计性 设计性 设计性

九、参考书目

1、杨路明,汇编语言程序设计实验教程,中南大学出版社,2005

八、实验项目与内容提要 序 号 项目 名称 内容 提要 每组 人数 项目 时数 实验项 目类型 承担 实验室 计算机实验室 计算机实验室 计算机实验室 计算机实验室 计算机实验室 计算机实验室 计算机实验室 计算机实验室 备 注 1 实验一 汇编程序与调试器的使用 1 2 验证性 2 3 4 5 6 7 8 实验二 实验三 实验四 实验五 实验六 实验七 实验八 DOS 命令与磁盘文件操作 数据通路、运算器 汇编语言子程序设计 十进制数据直接处理 程序设计 结构数据与汇编语言 程序设计 记录数据与汇编语言 程序设计 汇编语言程序设计综合实验 1 1 1 1 1 1 1 2 2 2 2 2 2 2 设计性 设计性 设计性 设计性 设计性 设计性 设计性

九、参考书目

1、杨路明,汇编语言程序设计实验教程,中南大学出版社,2005

本文来源:https://www.bwwdw.com/article/723a.html

Top