本文共 1624 字,大约阅读时间需要 5 分钟。
实验一:基本运算
实验目标
定义两个数,分别计算这两个数的和、差、积、商,并将计算结果存放在数据段中。使用Debug命令查询结果。
实验步骤
定义数据:在数据段中定义两个16位整数NUM1
和NUM2
,分别存储20和10。 编写计算代码: - 使用
MOV
指令将NUM1
和NUM2
的值存入AX。 - 使用
ADD
、SUB
、MUL
和DIV
指令分别计算和、差、积、商。 - 将结果存入数据段中的连续存储单元
DS:0010H
开始。
调试:使用Debug命令D 0010H
查询存储器内容,验证结果是否正确。 实验二:查询平方
实验目标
查找内存表中给定的数字的平方值,并将结果输出。
实验步骤
输入处理:定义输入提示符和错误提示,读取用户输入的数字。 数字转换:使用CBW
指令将ASCII码转换为整数。 平方计算:使用MUL
指令计算平方值。 输出结果:根据结果输出平方值或错误提示。 调试:使用Debug命令跟踪程序执行,确保输入处理和平方计算正确。 实验三:比较字符串
实验目标
比较两个字符串是否相同,输出“MATCH”或“NO MATCH”。
实验步骤
输入字符串:定义输入提示符,读取两个字符串。 字符串比较:使用串操作指令CMPSB
逐个字符比较字符串。 输出结果:根据比较结果输出匹配或不匹配信息。 调试:使用Debug命令检查比较结果和输出内容是否正确。 实验四:统计学生成绩
实验目标
统计10个学生的成绩,分类存入不同单元中,分别统计低于60、60-69等等的分数人数。
实验步骤
数据定义:定义成绩数据和计数器、存储单元。 分类统计:使用循环结构和条件判断对成绩进行分类统计。 输出结果:输出各分类的人数。 调试:使用Debug命令检查计数器和存储内容是否正确。 实验五:成绩排名
实验目标
使用冒泡排序对成绩进行排序,并存入后续单元。
实验步骤
数据定义:定义成绩数据和排名存储单元。 冒泡排序:使用双重循环进行排序。 输出结果:输出排序后的成绩和对应的排名。 调试:使用Debug命令检查排序是否正确,排名是否正确存入。 实验六:响铃输入
实验目标
从键盘输入字符,若输入数字响铃若干次。
实验步骤
输入处理:定义输入提示和错误提示,读取用户输入。 数字处理:判断输入是否为数字,计算响铃次数。 响铃输出:输出响铃次数。 调试:使用Debug命令验证响铃次数是否正确。 实验七:子程序调用
实验目标
调用子程序将小写字母转换为大写字母,并输出结果。
实验步骤
输入字符串:定义输入提示,读取字符串。 子程序调用:调用大小写转换子程序。 输出结果:输出转换后的字符串。 调试:检查子程序是否正确调用和转换是否正确。 实验八:找出两个字符串的第一个不相等字符的地址和内容
实验目标
比较两个字符串,找到第一个不相同的字符,记录地址和内容。
实验步骤
读取字符串:定义两个字符串,读取输入。 比较字符串:使用循环和比较指令找到第一个不相等字符。 记录结果:存储字符地址和内容。 调试:检查比较结果和存储内容是否正确。 实验九:统计字符出现次数
实验目标
统计字符在字符串中的出现次数,并输出结果。
实验步骤
输入字符串:定义输入提示,读取字符串。 输入字符:定义输入提示,读取字符。 统计出现次数:使用循环统计字符出现次数。 输出结果:输出统计结果。 调试:检查计数器和统计结果是否正确。 实验十:用子程序实现将字符串中的小写字母改为大写
实验目标
调用子程序将字符串中的小写字母转换为大写字母,并输出结果。
实验步骤
输入字符串:定义输入提示,读取字符串。 调用子程序:调用大小写转换子程序。 输出结果:输出转换后的字符串。 调试:检查子程序是否正确调用和转换是否正确。 通过以上实验,我熟悉了MASM的语法和Debug命令的使用,掌握了基本的汇编程序设计和调试技巧。每个实验都要求我从头到尾理解任务,编写代码并验证结果,提高了我的编程能力和问题解决能力。
转载地址:http://zhet.baihongyu.com/