1 / 34
文档名称:

汇编语言实验报告.doc

格式:doc   大小:9,663KB   页数:34页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

汇编语言实验报告.doc

上传人:taoapp 2021/10/31 文件大小:9.44 MB

下载得到文件列表

汇编语言实验报告.doc

相关文档

文档介绍

文档介绍:计算机专业类课程
实验报告
课程名称:汇编程序语言设计
学  院:计算机科学与工程
专  业:计算机科学与技术
学生姓名:林怡
学  号:20**********
指导教师:胡建
日  期:   2014 年 12 月 15 日
电 子 科 技 大 学
实 验 报 告
实验一
实验名称:汇编源程序的上机调试操作基础训练
实验学时:4
实验内容和目的:
实验内容:
1. DEBUG命令的使用
2. 程序的调试与运行
:Z=(5X+2Y-7)/2
设X、Y的值放在字节变量VARX、VARY中,结果存放在字节单元VARZ中。
实验目的:
1. 掌握DEBUG 的基本命令及其功能
2. 学****数据传送和算术运算指令的用法
3. 熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。
实验原理:
1.编辑源程序,建立一个以后缀为 .ASM的文件.
2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时
继续第3步。
3.连接目标程序,产生可执行程序。
4.用DEBUG程序调试可执行程序,记录数据段的内容。
实验器材(设备、元器件)
pc、window7平台、masm5 开发环境
实验步骤:
在数据段中分别用两个单元varx和vary存放变量x和y;另一个单元varz用来存放运
算结果Z;
由于是字节变量,所以用al存放变量x的值,然后将al左移两位得到4*x,再把al
加上x,进而得到5*x;
再用bl存放变量y的值,用add命令得到2*y,之后把al与bl相加,再用sub命令减
去7,得到(5*x+2*y-7)的值,并保存到al中;
最后将al右移一位,得到最后的z=(5*x+2*y-7)/2,并把al的值送入varz单元;
运行程序,使用-d命令查看内存单元的信息;
实验数据及结果分析:
实验代码如下:
实验结果如下图:
编译连接后执行程序:
查看内存单元变量的值
varx =05h,vary=07h,(5x+2y-7)/2=(25d+14d-7d)/2d=16d=10h
可以看到上图中内存单元的值与手工计算的结果相符,说明程序是正确的。
实验结论、心得体会和改进建议:
本次实验让我掌握debug调试软件的一些基本命令,也学会了如何查看寄存器变量和内存单元;
这个程序虽然短小,却是五脏俱全,让我对于一个完整汇编程序的框架有了一个基本的了解,为后面的更为复杂的实验奠定了基础;
电 子 科 技 大 学
实 验 报 告
实验二
实验名称:分支程序与循环程序设计
实验学时:4
实验内容和目的:
实验内容:
根据输入的字母进行大小写转换(若是输入小写字母则转换成为大写字母,反之),若输入的不是字母则提示出错并重新输入。
实验目的:




实验原理:
利用软中断指令,进行人机交互,输入字母并显示转换后的字母;
由ascii码表可知,小写字母与其对应的大写字母之间刚好相差20h,即若输入的是
大写字母,将其加上20h就可以得到对应的小写字母,反之小写字母减去20h可以得到其大写字母;
利用CMP比较指令对输入的字母判定大小写,在根据标志寄存器的状态执行条件
转移指令找到对应的程序段入口;
实验器材(设备、元器件)
pc、window7平台、masm5 开发环境
实验步骤:
1、根据程序流程图编写源程序文件;
2、汇编,若发现语法错误或者格式错误则修改;
开始
3、链接,形成可执行文件;
4、运行程序,单步执行查看寄存器标量及内存单元;
5、验证程序的正确性;
从键盘输入字符并存入al只
程序流程图如右图:
YES
al<41h
打印错误信息
NO
NO
al>5ah
YES
YES
al<61h
NO
YES
al加上20h把小写字母转换为大写字母
NO
al>71h
al减去20h把大写字母转换为小写字母
输出转换后的字母
结束
实验数据及结果分析:
实验代码如下:
实验结果如图:
编译连接以及调试:
输入小写p
输出大写P
输入小写t
输出大写T
输入非字母的字符