
汇编语言练习题集:20道题目及代码与实验报告
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本书为学习汇编语言的学生提供了精选的20道练习题及其解答代码和详细的实验报告,旨在帮助读者加深对汇编语言的理解与实践能力。
5.1 编写一个汇编语言程序来实现以下功能:当键盘输入一个小写字母时,在屏幕上显示对应的大写字母。
5.2 编制一程序以接收从键盘输入的小写字母,然后找出它的前导字符和后续字符,并按顺序输出它们。
5.3 将AX寄存器中的16位数分为四组,每组4位。接着将这四个分数组分别放入AL、BL、CL、DL中。
5.4 编写一个程序用于比较两个字符串(STRING1与STRING2)所含字符是否相同:如果相同,则显示“MATCH”;如果不相同,则显示“NOT MATCH”。
5.5 制作一程序,要求从键盘接收一个个位数N,并使系统响铃N次。
5.6 编写一个程序以将含有20个数据的数组M分为两个部分——正数数组P和负数数组N。然后分别输出这两个新创建的数组中的元素数量。
5.7 制作一汇编语言程序,求出首地址为DATA的100D字(双字)长度的整型数值序列中最小偶数值,并将其值放入AX寄存器内。
5.8 假设AX寄存器存放着一个16位二进制数K。编写一程序以将该数视为由八个“四分之一字节”组成的序列,统计其中含有3(即11B)的个数,并在终端上显示出来。
5.9 编写汇编语言程序从键盘输入四位十六进制数字并将其转换成相应的二进制形式输出到屏幕上。
5.10 给定一段英文文本ENG以$字符为结束,编写一个程序用于统计单词SUN出现的次数,并按照格式“SUNXXXX”显示结果(其中X表示实际计数)。
5.11 输入一系列字符串直到遇到终止符$为止。对每个字符串中的非数字字符进行计数并输出总数量。
5.12 对于首地址为MEM的长度为100D字数组,编写一个程序用于删除所有零值元素,并将剩余部分向前压缩;在最后填充以零来保持原长度不变。
5.13 在字符串内存区域STRING到STRING+99中查找是否存在数字字符。如果有,则设置CL寄存器第五位为1;否则将其置0。
5.14 对于首地址为TABLE的有序数组(按递增顺序排列),编写一个程序以找出出现频率最高的数及其对应的次数,并将这两个值分别放入AX和CX寄存器中。
5.15 给定数据段中的N个字长整型数值序列M,要求制作一程序用于确定该序列内绝对值最大的元素;并将此最大值及其实地址存储于数组特定位置(即M+2n与M+2(n+1))之中。
5.16 对首地址为DATA的长度为100H字长整型数值序列,编写一个程序用于计算所有数目的平均值并将其存入AX寄存器;同时统计小于此均值的所有项数量并将结果放入BX寄存器中。
5.17 编写一汇编语言程序将十六进制形式的AX内容转换为ASCII码,并依次存储于MEM数组中的四个字节内。例如,当(AX)=2A49H时,在执行完后,MEM的内容应分别为39H, 34H, 41H和32H。
5.18 将0至100D之间共三十个数字存储于以GRADE为起点的数组中;另一个名为RANK的数组用于记录每个学生的名次。编写程序根据学生成绩(存放在GRADE内)来填充他们的排名到RANK数组之中。
5.19 给定两个包含互不相同的整数序列A和B,以及一个空序列C,请制作一汇编语言程序找出同时出现在A与B中的所有元素并将它们放入C中。
5.20 设在单元格A、B及C内存放着三个数值。如果这三个值都不为零,则求出三者之和并存于D单元;若其中任一个数为零,清空其余两个数值的存储位置。编写此程序实现上述功能。
全部评论 (0)


