《汇编语言程序
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
》课程实验报告
学 号:
班 级:
专 业:计算机科学与技术
学生姓名:
2017年4月24日
实 验 报 告
学生姓名:
学 号:
时间:2017年4月16日上午4学时
2016年4月24日上午4学时
2016年4月24日下午4学时
地点: 21B 276
实验题目: 查找数据
一、 实验软硬件环境配置:
操作系统:Windows 10
汇编程序编译软件:Visual Studio 2017
2、流程图
程序要完成的功能是在数组中查找从键盘输入的数,如果存在则输出该数在数组中的位置和该数,若不存在则输出错误信息。根据程序功能,可设计流程图如图1所示。
图1 程序流程图
3、程序源码:
TITLE search a number from a array (snfa.asm)
include Irvine32.inc
.DATA
array DWORD 1, 23, 4, 5, -6, 7, 8, 9, -5
input BYTE "Please Input a number: ",0
error BYTE "Can't find the number!",0
success BYTE "Success find the number!",0
colon BYTE ":",0
.CODE
main PROC
call Clrscr ; 清除屏幕
MOV edx, OFFSET input ; 打印输入提示信息
call WriteString
call ReadInt ; eax存储要查找的值
MOV ebx, 01H ; ebx存储当前数组元素下标
MOV edi, OFFSET array ; edi存储数组元素地址
MOV ecx, LENGTHOF array ; ecx存储循环计数
;; 循环查找
LP:
CMP [edi], eax ; 比较当前元素值([edi])与要查找值(eax)
JE isFind ; 如果相等,则已找到
; 否则继续循环
ADD edi, TYPE array ; 更新edi指向下一个数组元素j
INC ebx ; 数组下标加一
LOOP LP ;
JMP notFind ; 如果循环结束,则表示无法找到
;; 已找到查找值
isFind:
MOV edx, OFFSET success ; 打印成功信息
call WriteString
call Crlf ; 换行
MOV eax, ebx ; 打印下标
call WriteInt
MOV edx, OFFSET colon ; 打印 :
call WriteString
MOV eax, [edi] ; 打印查找值
call WriteInt
call Crlf ; 换行
call Crlf
call WaitMsg ; 暂停
exit
;; 无法找到查找值
notFind:
MOV edx, OFFSET error ; 打印查找失败信息
call WriteString
call Crlf ; 换行
call Crlf
call WaitMsg ; 暂停
exit
main ENDP
END
四、 实验操作步骤:
1. 根据程序
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
,设计程序流程图,完成程序要求;
2. 按照程序流程图,进行汇编程序编写。在Visual Studio中新建win32控制台项目,如图2所示;添加汇编语言源文件,如图3所示;之后在源文件中编写代码;
图2 新建win32控制台项目
图3 添加源文件
3. 在Visual Studio上对编写的程序进行调试,对不同的数据进行测试,在程序执行工程中观察各寄存器变化以及程序流程,判断是否与预期相符,对错误进行修改;
图3 进行调试,观察寄存器值
4. 设置不同类型的输入,测试程序是否可以正确执行。
五、 实验数据及结果
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
编写程序,设置数组初始值如图4所示:
图4 数组初始值
运行程序,在数组中查找数字5,从数组初始值可以预期程序正确结果应该为“4:5”。程序实际输出结果如图5所示:
图5 查找数字5
为验证程序可以处理负数,再次运行程序,查找数字-6,从数组初始值可以预期程序的正确输出结果应该为“5:-6”。程序实际输出结果为如图6所示:
图6 查找数字-6
为验证程序可以正确处理无法找到相应数据的情况,再次运行程序,查找数字10,因为数组中不包括数字10,所以程序正确输出结果应该为无法找到数据的提示信息。程序实际输出结果如图7所示:
图7 查找数字10
由以上运行结果可知,程序执行结果与预期相符,程序功能满足要求。
报告评分:
指导教师签字: