汇编语言上机练习题 联系客服

发布时间 : 星期二 文章汇编语言上机练习题更新完毕开始阅读bcacaa5c27284b73f24250a2

一、

1. 请任意输入一个字符串,将该串倒序后在屏幕上显示。

2. 请任意输入一个字符串,统计其中空格和A的个数,并将结果显示在屏幕上。 3. 请任意输入一个字符串,将其中的空格全部删除,并将结果显示在屏幕上。 4. 请任意输入一个字符串,将其中A换成CC,并将结果显示在屏幕上。

5. 请任意输入一个字符串,将其中大写字母换成小写字母,并将结果显示在屏幕上。 6. 请任意输入一个字符串,将其中的英文字母全部删除,并将结果显示在屏幕上。 二、

7. 现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序从键盘输入

4个字符的字符串,若存在将其修改为disk, 并将结果在显示器上显示。

8. 现有一组字符串为ram,yes,red,the,get,for,and,key,not,may,请编写程序将他们按ASCII

大小排序,并在显示器上显示。

9. 现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序从键盘输入

4个字符的字符串,若存在将其删除, 并在显示器上显示。

10. 现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序将上述字符

串排序(升序)并插入disk使其人仍然有序, 并在显示器上显示。 三、

11. 键盘输入一个十进制数(字类型),以十六进制的形式输出。 12. 键盘输入一个十进制数(字类型),以二进制的形式输出。 13. 键盘输入一个二进制数(字类型),以十六进制的形式输出。 14. 键盘输入一个二进制数(字类型),以十进制的形式输出。 15. 键盘输入一个十六进制数(字类型),以十进制的形式输出。 16. 键盘输入一个十六进制数(字类型),以二进制的形式输出。

⑴ 输入、转换及显示均用子程序形式书写。

⑵ 程序能够循环接收不同的十进制数,并对之处理,当按下非数字键时退出主程序,返回操作系统。 四、

17. 将一组有符号数中的负数求和,并统计负数的个数,并在屏幕上以十进制的形式显示结

果。

38H,4AH,0C5H,83H,9CH,0B4H,7FH,0C4H,05H,0F5H

18. 键盘输入十个数,分别统计0到9,10到99,100以上的数的个数,并显示结果。 19. 键盘输入两组数743216、527864,按BCD码求和,并将结果显示在屏幕上。 20. 键盘输入下列两组十进制数,求其和,并将结果显示在屏幕上 35789418 46531425

21. 键盘输入一串二进制数1ah ,7ch,0bah,3ah,45h,63h求其和,并将结果显示在屏幕

上。

22. 从键盘输入一串可显示字符(以回车符结束),并按字母、数字、空格分类计数,然后

显示出这三类统计的结果。 五、

23. 编写程序,将十个字的有符号数中最大、最小值求出,并在显示器上输出。 125ah,4357h,0f50h,0b43h,4ac4h,7454h,8b15h,0a2a4h,0f3ch,00f6h 24. 键盘输入10个字节数(无符号数),求出最大、最小值,并在显示器上输出。 25. 一个有符号字数组以0为结束标志,编程求这个数组的最大值、 最小值、平均值。 26. 在BUFFER中定义了的十个带符号字,将其中的负数变成绝对值,并以十进制方式输出。 27. 已知数组A包含20个互不相等的字型整数,数组B包含30个互不相等的字型整数,

试编制一程序把在A中而不在B中出现的整数放于数组C中。

28. 已知数组A包含20个互不相等的字型整数,数组B包含30个互不相等的字型整数,

试编制一程序把既在A中又在B中出现的数存放于数组C中。 六

29. 设有4个学生参加5门考试,请计算每个学生的平均成绩和每门课的平均分成绩,并在

显示器上显示,输出格式如下:

Chg1 chg2 chg3 chg4 chg5 meam

S1 78 85 55 100 97 S2 67 96 43 79 84 S3 92 55 76 92 65 S4 43 95 82 89 75 Aver 不计小数。

30. 编程计算从2开始的N(N<50)个偶数之和(2+4+6+…),主程序从键盘输入整数N,

调用子程序求出N个偶数之和,由主程序显示结果。尝试分别使用以下3种方法编写完整程序。

(1)利用寄存器传递参数 (2)利用公共数据段变量传递参数 (3)利用堆栈传递参数 31. 多模块程序设计

(1) 设计一个包括:键盘输入、显示、排序、转换、退出程序的主菜单。 (2) 从键盘输入10个字型带符号数。 (3) 把10个带符号十进制数转换成二进制数。 (4) 把10个二进制数按从小到大顺序排列。 (5) 把10个带符号二进制数转换成十进制数。 (6) 把最大数用十进制数的形式显示在屏幕上 要求:

(1) 整个程序用四个模块组成:主菜单,排序子模块,转换子模块,其它。

(2) 键盘输入与显示功能分别用宏指令实现。 (3) 排序及转换功能分别用子程序实现。 七、

32. 将两个磁盘文件合并成一个新的文件。

33. 将一磁盘文件‘E:\\ASS\\FILE.ASM’读入内存2000:0000h中,并将文件以反序形式(头

尾对应字符互换) 仍以相同路径存入磁盘中。 八、

34. 在多模块设计中,主模块中调用内部模块buf1,buf2,buf3,buf4。主模块根据键盘输

入的指令(如:a,b,c,d)调用上述对应的子程序,每个子程序的任务是显示其入口地址。调用后继续等待调用,若输入ESC键(ASCII码为1BH)则结束程序的执行。请编写完成该任务的程序。

35. 现有一控制程序共5个工序,要求输入0-4的序号,分别执行各工序的子程序,每个子

程序的任务是显示其入口地址。调用后继续等待调用,按回车则结束程序的执行。 36. 从键盘输入一个两位十进制数的月份,然后显示出相应的英文名,要求显示月份的功能

用子程序实现。 九、

37. 现有一组参量按16位编码,各字段的长度如下:BIT1=6, BIT2=4, BIT3=3, BIT4=3,

BIT1位于高位, BIT4位于低位。设BIT1=52, BIT2=13, BIT3=5, BIT4=3请用程序编码将这些字段编码组合成一个字,按二进制的形式在屏幕上输出。