汇编语言上机考试题
1 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
2 编写程序,从键盘接收一个小写字母,然后出它的前导字符和后续字符,再按顺序显示这三个字符。
3 将AX寄存器中的16位数分成4组,每组4位,然后把这四组数分别放在AL、BL、CL和DL中。
4试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示‘MATCH’, 若不相同则显示‘NO MATCH’。
5 编写程序,将一个包含有16个数据的数组M分成两个数组:正数数组P和负数数组N,并分别把这两个数组中数据的个数显示出来(以一位十六进制数形式显示)。
6 试编写一个汇编语言程序,求出首地址为DATA的100D字数组中的最小偶数,并把它存放在AX中。
7 试编写一个汇编语言程序,要求从键盘接收一个四位的16进制数,并在终端上显示与它等值的二进制数。
8设有一段英文,其字符变量名为ENG,并以$字符结束。试编写一程序,查对单词SUN在该文中的出现次数
9 从键盘输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示出计数结果。
10 在STRING到STRING+99单元中存放着一个字符串,试编制一个程序测试该字符串中是否存在数字’0’-’9’,如有则把CL的第5位置1,否则将该位置0。
11在首地址为TABLE的数组中按递增次序存放着100H个16位补码数,试编写一个程序把出现次数最多的数及其出现次数分别存放于AX和CX中。
12 数据段中已定义了一个有n个字数据的数组M,试编写一程序求出M中绝对值最大的数,把它放在数据段的M+2n单元中,并将该数的偏移地址存放在M+2(n+1)单元中。
13 在首地址为DATA的字数组中存放着100H个16位补码数,试编写一个程序求出它们的平均值放在AX寄存器中;并求出数组中有多少个数小于此平均值,将结果放在BX寄存器中。
14 把0~100D之间的30个数存入以GRADE为首地址的30字数组中,GRADE+i表示学号为i+1的学生的成绩。另一个数组RANK为30个学生的名次表,其中RANK+i的内容是学号为i+1的学生的名次。编写一程序,根据GRADE中的学生成绩,将学生名次填入RANK数组中。(提示:一个学生的名次等于成绩高于这个学生的人数加1。)
15 已知数组A包含15个互不相等的整数,数组16进制字符串转16进制数组B包含20个互不相等的整数。试编制一程序把既在A中又在B中出现的整数存放于数组C中。
16 设在X、Y和Z单元中分别存放着三个数。若三个数都不是0,则求出三数之和存放在D单元中;若其中有一个数为0,则把其它两单元也清0。请编写此程序。
17 试编写一程序,要求比较数组ARRAY中的三个16位补码数,并根据比较结果在终端上显示如下信息:
(1) 如果三个数都不相等则显示’0’;
(1) 如果三个数都不相等则显示’0’;
(2) 如果三个数有二个数相等则显示’1’;
(3) 如果三个数都相等则显示’2’。
(3) 如果三个数都相等则显示’2’。
18 设有10个学生的成绩分别是76,69,84,90,73,88,99,63,100和80分。试编制一个子程序统计60~69分,70~79分,80~89分,90~99分和100分的人数,分别存放到S6,S7,S8,S9和S10单元中。
19 编写一个有主程序和子程序结构的程序模块。子程序的参数是一个N字节数组的首地址TABLE,数N及字符CHAR。要求在N字节数组中查字符CHAR,并记录该字符出现的次数。主程序则要求从键盘接收一串字符以建立字节数组TABLE,并逐个显示从键盘输入的每个字符CHAR以及它在TABLE数组中出现的次数。(为简化起见,假设出现次数≤15,可以用16进制形式把它显示出来。)
19 编写一个有主程序和子程序结构的程序模块。子程序的参数是一个N字节数组的首地址TABLE,数N及字符CHAR。要求在N字节数组中查字符CHAR,并记录该字符出现的次数。主程序则要求从键盘接收一串字符以建立字节数组TABLE,并逐个显示从键盘输入的每个字符CHAR以及它在TABLE数组中出现的次数。(为简化起见,假设出现次数≤15,可以用16进制形式把它显示出来。)
20编写子程序——显示字符串
子程序名称:show-str
功能:在指定的位置,用指定的颜,显示一个用0结束的字符串。
参数:(dh)=行号(取值范围0~24),(dl)=列号(取值范围0~79)
(cl)=颜,ds:si指向字符串的首地址
返回:无
应用举例:在屏幕的8行3列,用绿显示data段中的字符串
21编写子程序
子程序名称:dotc
功能:将word型数据转变为表示十进制数的字符串,字符串以0为结尾符。
参数:(ax)=word型数据
ds:si指向字符串的首地址
返回:无
应用举例:编程,将数据12666以十进制的形式在屏幕的8行3列,用绿显示出来。在线实时调用本次实验的第一个子程序show-str。
22 定义一个数组,利用冒泡算法使数组中的元素按照升序排序。
23定义一个数组,数据按一定的顺序排好,设计程序用折半查查某个数据是否在这个数组中,并输出查结果。
24 编程:当0号中断产生时,在屏幕中间显示如下提示信息“divide overflow!”
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论