北理工CPU与汇编语言上机考试题.docx
《北理工CPU与汇编语言上机考试题.docx》由会员分享,可在线阅读,更多相关《北理工CPU与汇编语言上机考试题.docx(22页珍藏版)》请在冰豆网上搜索。
北理工CPU与汇编语言上机考试题
1.请任意输入一个字符串,将该串倒序后在屏幕上显示。
1.请任意输入一个字符串,统计其中空格和A的个数,并将结果显示在屏幕上。
2.请任意输入一个字符串,将其中的空格全部删除,并将结果显示在屏幕上。
3.请任意输入一个字符串,将其中A换成CC,并将结果显示在屏幕上。
4.请任意输入一个字符串,将其中大写字母换成小写字母,并将结果显示在屏幕上。
5.请任意输入一个字符串,将其中的英文字母全部删除,并将结果显示在屏幕上。
二、
6.现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序从键盘输入4个字符的字符串,若存在将其修改为disk,并将结果在显示器上显示。
7.现有一组字符串为ram,yes,red,the,get,for,and,key,not,may,请编写程序将他们按ASCII大小排序,并在显示器上显示。
8.现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序从键盘输入4个字符的字符串,若存在将其删除,并在显示器上显示。
9.现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序将上述字符串排序(升序)并插入disk使其人仍然有序,并在显示器上显示。
三、
10.键盘输入一个十进制数(字类型)2^16=65536-1,以十六进制的形式输出。
11.键盘输入一个十进制数(字类型),以二进制的形式输出。
12.键盘输入一个二进制数(字类型),以十六进制的形式输出。
13.键盘输入一个二进制数(字类型),以十进制的形式输出。
14.键盘输入一个十六进制数(字类型),以十进制的形式输出。
15.键盘输入一个十六进制数(字类型),以二进制的形式输出。
⑴输入、转换及显示均用子程序形式书写。
⑵程序能够循环接收不同的十进制数,并对之处理,当按下非数字键时退出主程序,返回操作系统。
四、
16.将一组有符号数中的负数求和,并统计负数的个数,并在屏幕上以十进制的形式显示结果。
38H,4AH,0C5H,83H,9CH,0B4H,7FH,0C4H,05H,0F5H
可参考13题20题
17.键盘输入十个数,分别统计0到9,10到99,100以上的数的个数,并显示结果。
18.键盘输入两组数743216、527864,按BCD码求和,并将结果显示在屏幕上。
用到AAA,加法的ascii码调整
19.键盘输入下列两组十进制数,求其和,并将结果显示在屏幕上
35789418
46531425
20.键盘输入一串二进制数1ah,7ch,0bah,3ah,45h,63h求其和,并将结果显示在屏幕上。
(以十进制显示结果)
21.从键盘输入一串可显示字符(以回车符结束),并按字母、数字、空格分类计数,然后显示出这三类统计的结果。
五、
22.编写程序,将十个字的有符号数中最大、最小值求出,并在显示器上输出。
125ah,4357h,0f50h,0b43h,4ac4h,7454h,8b15h,0a2a4h,0f3ch,00f6h
23.键盘输入10个字节数(无符号数),求出最大、最小值,并在显示器上输出。
24.一个有符号字数组以0为结束标志,编程求这个数组的最大值、最小值、平均值。
25.在BUFFER中定义了的十个带符号字,将其中的负数变成绝对值,并以十进制方式输出。
26.已知数组A包含20个互不相等的字型整数,数组B包含30个互不相等的字型整数,试编制一程序把在A中而不在B中出现的整数放于数组C中。
27.已知数组A包含20个互不相等的字型整数,数组B包含30个互不相等的字型整数,试编制一程序把既在A中又在B中出现的数存放于数组C中。
六
28.设有4个学生参加5门考试,请计算每个学生的平均成绩和每门课的平均分成绩,并在显示器上显示,输出格式如下:
Chg1chg2chg3chg4chg5meam
S178855510097
S26796437984
S39255769265
S44395828975
Aver
不计小数。
29.编程计算从2开始的N(N<50)个偶数之和(2+4+6+…),主程序从键盘输入整数N,调用子程序求出N个偶数之和,由主程序显示结果。
尝试分别使用以下3种方法编写完整程序。
(1)利用寄存器传递参数
(2)利用公共数据段变量传递参数
(3)利用堆栈传递参数
30.多模块程序设计
(1)设计一个包括:
键盘输入、显示、排序、转换、退出程序的主菜单。
(2)从键盘输入10个字型带符号数。
(3)把10个带符号十进制数转换成二进制数。
(4)把10个二进制数按从小到大顺序排列。
(5)把10个带符号二进制数转换成十进制数。
(6)把最大数用十进制数的形式显示在屏幕上
要求:
(1)整个程序用四个模块组成:
主菜单,排序子模块,转换子模块,其它。
(2)键盘输入与显示功能分别用宏指令实现。
(3)排序及转换功能分别用子程序实现。
七、
31.将两个磁盘文件合并成一个新的文件。
32.将一磁盘文件‘E:
\ASS\FILE.ASM’读入内存2000:
0000h中,并将文件以反序形式(头尾对应字符互换)仍以相同路径存入磁盘中。
八、
33.在多模块设计中,主模块中调用内部模块buf1,buf2,buf3,buf4。
主模块根据键盘输入的指令(如:
a,b,c,d)调用上述对应的子程序,每个子程序的任务是显示其入口地址。
调用后继续等待调用,若输入ESC键(ASCII码为1BH)则结束程序的执行。
请编写完成该任务的程序。
34.现有一控制程序共5个工序,要求输入0-4的序号,分别执行各工序的子程序,每个子程序的任务是显示其入口地址。
调用后继续等待调用,按回车则结束程序的执行。
35.从键盘输入一个两位十进制数的月份,然后显示出相应的英文名,要求显示月份的功能用子程序实现。
九、
36.现有一组参量按16位编码,各字段的长度如下:
BIT1=6,BIT2=4,BIT3=3,BIT4=3,BIT1位于高位,BIT4位于低位。
设BIT1=52,BIT2=13,BIT3=5,BIT4=3请用程序编码将这些字段编码组合成一个字,按二进制的形式在屏幕上输出。