汇编语言程序设计综合设计实验项目
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言程序设计创新实验项目
1. 编写一个完整的程序:根据零件的数量和总价格,计算出零件的单价。
主程序MAINPRO允许用户在键盘上输入零件数量和总价格;
子程序SUBCONV 把从键盘输入的ASCII 码转化为二进制;
子程序SUBCALC 计算出零件的单价;
子程序SUBDISP 把二进制表示的单价转化为十进制数并显示出结果。
要求:在程序设计时要求使用顺序、分支、循环、子程序和宏汇编等多种方法解决程序设计问题,对于较大的子程序最好使用子程序嵌套,程序中如有多次重复的代码最好使用重复汇编。
2.编写一个完整的程序,分别输入有一个班学生的百分制成绩,根据学生百分制成绩转换出五级分数制。如低于60分为E,60-69为D、70-79为C、80-89为B、90-99为A。并统计该班学生人数。
要求:1、学生成绩从键盘接收;
2、本程序可以重复运行,自行设计退出程序的方法;
3、程序具有可操作性,如,应该有提示语句和判断非法操作的方法和处理方式。
3. 编写一个完整的程序,在屏幕上显示如图所示数字拼成的形状。
0123456789
1234567890
2345678901
3456789012
4567890123
5678901234
6789012345
7890123456
8901234567
9012345678
4、按要求编写一个完整的程序。
要求:1、自BUFFER开始的内存单元中,存有一个ASCII码字符串。查找已知字符串中含有多少个子字符串‘AB’的个数,将统计结果以十进制形式显示输出。
2、在查找到子字符串‘AB’后添加空格字符。
5、按要求编写一个完整的程序。
要求:1、编写子程序SORT,将内存中10个无符号字数据由小到大排序。
2、编写子程序FIND,在上述已排好的数据区里查找某一个数,若找到,显示
其在数据区的位置,否则显示‘N’字符。
3、编写调用程序,完成排序及检索任务。
6、试编写一程序,要求根据用户键入的月份在终端上显示该月的英文缩写名。
7、试编写一程序,要求接收从键盘输入的一个班的学生成绩,并存放于30字的grade数组中,其中grade+1保存学号为了i+1的学生的成绩。然后根据grade中的学生成绩,把学生
名次填入30字的rank数组中,其中rank+1的内容是学号为i+1学生的名次,再按学号顺序把名次从终端上显示出来。
8、试编写一程序实现以下功能:使一个特定字符从左下角上升到右上角,然后回到左下角,再上升到右上角,重复运行,直到按任意键时退出。(利用bios中断int 10h)程序思路为:显示某图形、延时、清除该图形、修改图形显示位置,如没有键按下,则重复以上过程,如有键按下则退出。
9、编写程序,在屏幕10行20~24列处显示五朵梅花,颜色各异,且要求中间一朵能够闪烁。(利用bios中断int 10h)
10、猜数字游戏
计算机要求第一个人输入一个数字,数字输入后清屏;然后另一个人来猜这个数字,每猜测一次,计算机都提示是“太大了”还是“太小了”,或者是“答对了”。猜对之后,猜过的数字的数目会显示在屏幕上,并询问时候要开始下一次游戏。运行结果如下图。
11、显示九九乘法表
实验要求:显示下三角格式如下图所示,也可以上三角格式显示。
九九乘法表
1*1=1
2*1=22*2=4
3*1=33*2=63*3=9
4*1=44*2=84*3=124*4=16
5*1=55*2=105*3=155*4=205*5=25
6*1=66*2=126*3=186*4=246*5=306*6=36
7*1=77*2=147*3=217*4=287*5=357*6=427*7=49
8*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=64
9*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81
提示:
(1)建立一个双重循环,外循环控制显示各行,内循环显示每行中的各列,其中外循环循环次数为9,内循环循环次数等于当前的行数。
(2)每次显示项可以由以下几部份组成:
当前行数值‘*’当前列数值‘=’当前行数值×当前列数值
每行所有项显示完成后显示空行串(回车符和换行符)。
12、利用INT 1CH(大约每秒中断18.2次)编写一个中断驻留程序,要求在屏幕的右上角显示计算机中当前系统时间,显示格式为
时:分:秒:1/100秒
13、数据处理程序设计
要求:(1)设计一个包括:键盘输入、显示、排序、转换、退出程序的主菜单。
(2)从键盘输入10个字符型带符号数。
(3)把10个带符号十进制数转换成二进制数。
(4)把10个二进制数按照从小到大的顺序排序
(5)把10个带符号二进制数转换成十进制数。
(6)把最大数用十进制数的形式显示在屏幕上。
14、完成Word型二进制,十进制和十六进制的相互转换,包括从键盘输入和屏幕输出功能。要求:
(1).功能选择。
(2).转换使用子程序实现,且:二进制到十进制和十六进制转换使用内存传
递参数;十进制到二进制和十六进制转换使用寄存器传递参数;十六进制到二进制和十进制转换使用堆栈传递参数。
(3).输出使用子程序实现。
实验结果参考