没有合适的资源?快使用搜索试试~ 我知道了~
汇编语言程序设计试验参考指导书.doc
0 下载量 65 浏览量
2022-11-23
17:27:51
上传
评论
收藏 119KB DOC 举报
温馨提示
试读
32页
汇编语言程序设计试验参考指导书.doc
资源推荐
资源详情
资源评论
汇编语言上机试验指导书
一、概述
上机试验总课时为 16 课时,其中综合性试验为 2 课时。试验共有 6 项暂定为 8 次,每次 2 课时。
1.试验教导关键内容
试验教导内容包含每个试验试验目标;试验内容;对试验算法及试验方法必需说明;试验准备;试验步骤;试验汇报要求;试验
程序及参考框图。开始试验介绍较细,后面试验简明介绍。
2.试验软硬件要求
相 关 汇 编 语 言 程 序 设 计 硬 件 要 求 不 高 , 有 IBM-PC/XT 即 可 , 但 应 有 彩 色 显 示 器 方 便 进 行 图 形 试 验 。 软 件 方 面 应 有
MASM.EXE5.0 版(包含 LINK.EXE),和 MS-DOS 版本配套 DEBUG 程序和 EDIT.EXE 编辑软件(其它编辑软件也能够)。
3.加强实践能力培养
试验目标不光是为了验证书本理论,更关键是对实践能力培养。其中包含:
实际调试程序能力,比如修改程序参数能力,查看结果能力,设置断点调试运行能力等;
开发汇编语言应用程序能力,比如应用相关汇编软件能力,进行系统调用和 BIOS 功效调用能力,进行模块程序设计能力等。
对某一问题用不一样程序实现能力,比如我们为每个试验提供了参考程序(或程序段),目标是让每个试验者参考样板程序将试
验成功地实现,在掌握其方法后,自己改变程序或自己编制程序加以实现。
试验一 汇编语言运行环境及方法、简单程序设计(2 课时、验证性)
1.试验目标:
(1) 熟悉汇编语言运行环境和方法
(2)了解怎样使用汇编语言编制程序
(3) 熟悉 DEBUG 相关命令使用方法
(4) 利用 DEBUG 掌握相关指令功效
(5) 利用 DEBUG 运行简单程序段
2.试验内容
(1)学会输入、编辑汇编语言程序
(2)学会对汇编语言程序进行汇编、连接和运行
(3)进入和退出 DEBUG 程序
(4)学会 DEBUG 中 D 命令、E 命令、R 命令、T 命令、A 命令、G 命令等使用。对于 U 命令、N 命令、W 命令等,也应试一下。
3.试验准备
(1)仔细阅读相关汇编语言环境内容,事先准备好使用例子。
(2)准备好源程序清单、设计好调试步骤、测试方法、对运行结果分析。
(3) 编写一个程序:比较 2 个字符串所含字符是否相同。若相同则显示’Match.’,不然显示’No match!’;(1)仔细阅读相关 DEBUG 命
令内容,对相关命令,全部要事先准备好使用例子。
4.试验步骤
(1)在 DOS 提醒符下,进入 MASM 目录。
(2)在 MASM 目录下开启 EDIT 编辑程序,输入源程序,并对其进行汇编、连接和运行。
①调用 edit 输入、编辑源程序并保留在指定目录中;例:edit abc.asm
②用汇编程序 masm 对源程序汇编产生目标文件 obj。例:masm abc
不停修改错误,直至汇编经过为止。
③用连接程序 link 产生实施文件 exe.例:link abc
④实施程序
可直接从 DOS 实施程序,即在 DOS 环境中,输入文件名即可。
(3)具体统计每一步所用命令,和查看结果方法和具体结果。
5.试验汇报要求
(1)源程序清单。
(2) 怎样开启和退出 EDIT 程序。
(3) 怎样对源程序进行汇编及编辑。
(4)怎样开启和退出 DEBUG 程序。
(5)整理每个 DEBUG 命令使用方法,实际示例及实施结果。
(6)开启 DEBUG 后,要装入某一个.EXE 文件,应经过什么方法实现?
试验二 循环程序、分支程序程序设计试验(4 课时、验证性)
1.试验目标:
(1)掌握循环、分支程序设计方法
(2)深入熟悉利用 DEBUG 程序修改参数方法,并检验和验证结果正确性。
(3)学会针对不一样问题,选择不一样组织循环方法。
2.试验内容
(1)编写一个程序 S21,将内存中一组有符号字数组按递增序列排序,并将其中二进制数以十六进制形式显示在屏幕上。
(2)编写一个程序 S22,判别键盘上输入字符;若是 1-9 字符,则显示之;若为 A-Z 或 a-z 字符,均显示“c”;若是回车字符<CR>(其 ASCII
码为 0DH),则结束程序,若为其它字符则不显示,继续等候新字符输入。
3.试验准备
(1)编写试验内容要求两个程序。
(2)写出调试以上程序,即修改程序参数,检验结果操作方法。
(3)熟悉源程序汇编、连接命令使用方法即要回复内容。
4.试验步骤
(1)用 EDIT 或其它编辑软件,编写.ASM 源程序,比如 S21.ASM 及 S22.ASM。
(2)对其进行汇编及连接,产生.EXE 文件。
(3)对.EXE 文件进行调试运行。
a.用 DEBUG 调试运行,学会修改 AL 内容方法。
b.对 DSPKEY.EXE 键入不一样字符,分别进行调试。
c.在 MS-DOS 下运行这两个.EXE 文件。
5.试验汇报要求
(1)画出两个程序步骤图,若要独立编写程序,应列出对应程序清单。
(2)说明本试验是怎样利用 DEBUG 进行调试。
试验三 子程序设计(4 课时、验证性)
试验 3.1、本试验目标在于让同学们掌握同一模块调用方法。
1.试验目标
(1)掌握主程序和子程序之间调用关系及调用方法。
(2)掌握子程序调用过程中近程调用和远程调用区分。
(3)掌握经过堆栈转送参数方法。
2.试验内容
(1)编写程序 S31,将 BUF 开始 10 个单元中二进制数转换成两位十六进制数 ASCII 码,在屏幕上显示出来。要求码型转换经过子程序
HEXASC 实现,在转换过程中,经过子程序 DISP 实现显示.
(2)编写一个主程序 S32,从键盘接收若干个字符,然后用远调用方法,调用子程序统计字符串中字符’b’个数.子程序参数是字符串首地址
TABLE,字符串长度 N 及字符”b”.子程序返回字符"b”个数.参数传送采取堆栈实现.主程序在子程序返回后,显示字符”b”及其个数(设
为一位十六进制数)。
3.试验说明
(1)第一个试验程序用子程序近程调用实现。因为在调用 HEXASC 子程序时,子程序又调用了 DISP 子程序,这叫子程序嵌套调用。
试验过程中能够从堆栈内容看到两个子程序返回地址值。因为是近调用,地址值只包含返回地址段内偏移量。在每个子程序实施中,
检验 CS 值是不变。
(2)第二个程序是利用远调用方法调用子程序。在远调用情况下,主程序和子程序处于不一样逻辑代码段中,可在子程序实施中查看 CS
值,它和主程序中 CS 值是不一样。子程序调用后,堆栈中保留了返回地址段地址及段内偏移量。
(3)第二个程序中,主程序和子程序之间参数传送是由堆栈实现。一段是将参数(此处是串首址 TABLE,串长度 N 及待统计字符
“b”)次序压如堆栈,在子程序调用后,经过 BP 指针对堆栈中参数访问,并将统计结果经过堆栈返回。相关该方法原理此处不再介
绍。
4.试验准备
(1)预习子程序设计基础方法,依据试验内容要求,画出子程序及主程序步骤图。
(2)熟悉键盘键入字符串及用堆栈传送参数程序段编制方法。
5.试验步骤
(1)编辑、汇编两个源程序,生成对应可实施文件(.EXE)
(2)用 DEBUGR 命令,T 命令或 G 命令和 D 命令检验远程调用及近程调用时堆栈改变。尤其是经过堆栈传送参数和子程序取出参数
是返回参数具体过程。
(3)检验程序实施结果是否正确。
6.试验汇报要求
(1)分析远程调用和近程调用区分,在用 DEBUG 相关命令观察时,实施过程有何不一样。
(2)说明用堆栈传送参数过程及其具体方法。
(3)分析试验结果及所碰到问题,并说明处理方法。
试验 3.2、本程序目标在于使读者掌握模块间调用子程序编写方法.
1.试验目标
(1) 了解多模块程序设计方法。
(2) 学会使用 PUBLEC 和 EXTRN 伪指令处理模块间符号(如变量名,标号等)通信问题。
2. 试验内容
(1)编写一个子程序,将主程序设定内存中字符串小写字母转换成大写字母并显示出来.主程序 S33 用另一个模块编写。
(2)编写一个子程序,将主程序 S34 指定字符所在地址返回给主程序,字符串(字符串以$为结束标志)和主程序在同一个模块。
3.试验准备
(1)仔细阅读教材中相关模块间通信方法及模块程序设计方法。
(2)搞清伪指令 PUBLIC 及 EXTRN 功效及使用方法。
4.试验步骤
(1)分别对试验 1 和试验 2 主、子模块进行汇编,在连接时,将它们装配成一个以 .EXE 为扩展名可实施文件.观察汇编及连接过程中有没
有错误.
(2)对.EXE 文件进行调试及运行.
(3)将试验 1 中原字符串改为由键盘输入,然后由子模块将源串中小写字母转换为大写字母,并将源串和转换后两个字串分两行显示出
来(设键入字串长度小于 80 个字符).
5.试验汇报要求
(1) 画出对应程序步骤图。
(2)扼要总结多模块程序特点和编写方法。
试验四 输入/输出试验(2 课时 综合性试验)
1. 试验目标
(1) 掌握输入输出程序设计概念和方法。
(2) 了解 PC 机外围芯片 8255、8259 功效。
(3)学习怎样在 PC 机上编写含有输入输出功效程序,包含 8255、8259 芯片使用方法。
2. 试验说明
本试验要求自行编写一个键盘输入处理程序,它能够完成键盘字符读入并进行屏幕显示,本试验要利用 IBM—PC 系统硬件结构,
分别使用外围芯片 8255 及 8259。
在本例中,利用 8255AA 端做数据输入,对应端口地址为 60H;利用 B 端口作控制端输入,端口地址为 61H。8255A 控制端口地
址为 63H 。本例 8259 中止控制器,其 IRQ1 端用于键盘中止请求线。键盘经过它能够响 CPU 发出中止请求。8259I/O 端口地址为
21H,能够写入中止屏蔽字,以对 8 个中止源是否许可中止进行控制。在每次中止结束时,要经过 I/O 端口地址 20H 写回一个中止结
束命令 EOI ,使 8259 能够清除此次中止。
所以本试验既属于输入输出试验,也属于中止试验。
相关说明将具体地附在参考程序中。
3.试验内容
利用 pc 机键盘,编写一个读入并显示键盘输入演示程序。该程序只接收常规字符(包含回车键及退格键),对特殊功效键不进行
处理。在程序中设置这些特殊功效键对应 0 编号即可,通常检测到键位编号为 0 值时,均忽略对它们处理。有键按下时,送出扫描码
D7 位为 0 时,当键抬起时,扫描码 D7 位为 1,以判定键是否被按下。
4.试验准备
(1) 预习输入输出程序设计特点和方法。
(2) 仔细阅读参考程序,搞清外围芯片接口初始化意义和方法。
5.试验步骤
(1) 建立源文件,并经过汇编和连接,产生可实施文件。
(2) 运行程序,观察常规字符键及功效键按下时程序反应,
6.试验汇报要求
(1) 给出程序框图,包含主程序框图、中止处理程序框图。
(2)说明输入输出程序设计特点。
(3)讨论:将 SHIFT 键及右 SHIFT 键也进行判别处理,它们扫描码为 42 及 54。为统计 SHIFT 键按动状态,可设一个标志单元
剩余31页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3697
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功