汇编语言实验题目及测试截图4、5、6

汇编语言实验题目及测试截图4、5、6

ID:10268288

大小:97.12 KB

页数:11页

时间:2018-06-14

汇编语言实验题目及测试截图4、5、6_第1页
汇编语言实验题目及测试截图4、5、6_第2页
汇编语言实验题目及测试截图4、5、6_第3页
汇编语言实验题目及测试截图4、5、6_第4页
汇编语言实验题目及测试截图4、5、6_第5页
资源描述:

《汇编语言实验题目及测试截图4、5、6》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验五分支结构程序设计实验目的1、掌握利用无条件转移指令JMP和有条件转移指令实现多分支程序的设计方法。2、掌握用DOS的中断调用,实现再程序执行过程中从键盘动态输入字符串的方法。3、掌握程序中标号的定义和使用。实验内容实现从键盘输入一个月份数值(1-12),根据输入的月份数值显示相应的月份英文单词缩写,如输入5则显示May。实验步骤1、编辑下列程序:.modelsmall.stack.datamondb'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec'msg1db'Pleaseinputamonth(1

2、-12):',13,10,'$'msg2db'Inputerror!Nowtryagain...',13,10,'$'bufferlabelbyte;定义输入月份的输入缓冲区maxlendb3;最多2个数字,包括一个回车actlendb?;保存实际输入的字符个数stringdb3dup(?);保存输入的月份数字内容(ASCII码).code.startupshuru:;开始输入月份编号leadx,msg1movah,09hint21h;显示提示信息leadx,buffermovah,0ahint21h;输入月份数值cmpactlen,0;若没有输入月份

3、则转出错处理jeshuruerr;以下判断输入月份是否合法leadi,stringcmpactlen,2jeda10;若输入的是2位数月份值则转到da10标号处执行moval,string;若只输入1位数字月份值,则读出该值andal,0fh;把ASCII码转换为对应数字jmpjisuanda10:moval,stringandal,0fh;把月份数值十位的ASCII码转换为对应数字(如12月的1字)movbl,10mulblandstring[1],0fh;把月份数值个位的ASCII码转换为对应数字addal,string[1];十位加上个位(如12

4、月)jisuan:;以下计算偏移地址cmpal,1;比1小是非法月份jbshuruerr;若月份值小于1则转出错处理cmpal,12jashuruerr;比12大也是非法月份subal,1;月份值减1shlal,1shlal,1;月份再乘4对应了MON字符串中从首地址开始的字符相对位置xorah,ah;1月份从0位置开始即JAN,...5月份从位置16开始即MAYleasi,mon;找到被显示月份字符的位置addsi,axmovcx,3output:movdl,[si];输出对应月份英文缩写movah,2int21hincsiloopoutput.ex

5、it0shuruerr:leadx,msg2;输入出错时提示出错,并转到程序起始处重新执行movah,09hint21hjmpshuruend2、程序汇编通过后,运行程序察看输出结果。3、程序运行中不输入月份值(直接回车),或输入非法月份值,观察程序执行的情况。实验六分支与循环混合结构程序设计实验目的1、掌握利用.IF语句实现分支程序的设计方法;2、掌握利用.REPEAT语句实现循环程序的设计方法;3、掌握DIV指令的使用特点;4、掌握地址表的定义和使用方法。实验内容实现成绩单的分等级统计功能,在数据段中有成绩单的定义,并包含有若干个分数,程序根据成绩

6、单数据的个数循环分别统计个分数段成绩的个数,最后输出个等级段的分数个数。要求:成绩单数据少于100字节,输出的每个档次统计值按两位数显示。实验步骤1、编辑下列程序:.modelsmall.stack.dataHANDB42,62,68,70,79,82,85,90,95,99,66,88,78,90,98,200;成绩单countequ$-han;记录数据个数MEMDB6dup(0);分别用于存放各分数段成绩的个数scoreedb10,13,'Score"E"countis:$';定义各分数段的提示信息scoreddb10,13,'Score"D"co

7、untis:$'scorecdb10,13,'Score"C"countis:$'scorebdb10,13,'Score"B"countis:$'scoreadb10,13,'Score"A"countis:$'scoreodb10,13,'Score"Other"countis:$'tabledwscoreo,scoree,scored,scorec,scoreb,scorea;定义地址表.code.startupMOVCX,countmovsi,0begin:;统计各个分数段的成绩个数.ifhan[si]<60addmem[1],1.elseif

8、han[si]>=60&&han[si]<=69addmem[2],1.elseifhan[s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。