汇编课程设计

发布 2022-10-01 07:09:28 阅读 3424

汇编语言课程临近结束时,将利用实验课和理论课最后阶段时间(大约14周开始,具体安排听通知),让同学们进行题目的答辩。

分组:每5到6人一组,推选出组长。每组同学选一组题目,且任两组同学不得选重复组的题目,两班同学不要选相同组题目。

请班长在第三周周一前将分组及选题的汇总excel电子版发到我邮箱。选第一组题目的为第一组,以此类推。

答辩报告元素:(1,2,4,5,6必须要有,3为可选项)

一、题目名称。

二、题目分析(如何实现,以及实现的关键技术或步骤)

三、流程图或活**(可选,尽量画出来,画出来加分。流程图相关概念请参照《软件工程》及相似书本,活**相关概念请参照《uml技术》及相似书本)

四、源程序**。

五、运行结果。

答辩过程:答辩时每组选一位同学演示本组作的所有题目,需要用debug分步看结果的,要讲解关键步骤的数据变化。该同学需要向大家演示一份ppt,在ppt上公布每个人在组里承担的任务(工作量分配比例,以便监督最后每人得分)、题目分析简要说明和流程图等。

答辩过程采用教师抽查小组成员(抽查人数大于2)提问的方式。任何答辩报告细节均可以成为提问的内容,提问可能涉及到任何本学期学过的知识点。

最后教师打出小组总分,由小组内部按照每人工作量多少分配,并于下课前汇报给教师。

得分扣分原则:

基本总分:所有程序成功演示并正确解说分步结果的,获得基本分数,为人数*80分。(如,设组里有5个人,为400分;6个人则为480分)

程序演示失败0分。

得分项:画流程图或活**并根据**说,为基本总分+10分*人数。

教师提问若干问题,答辩无任何错误者,为上边得分+5分*人数。

如果敢于让同学提问**技术性或思想性问题,2个问题仍无错误,为上边得分+5分*人数。

扣分项:答辩过程如果出现对知识认识的一般性错误,总分扣10分*人数。

答辩过程如果出现对知识认识的严重性错误,每个错误从总分中扣20分*人数。

第一组:a 凯撒密码法字符加密程序。

要求:1从键盘输入一字符串,然后显示出加密后的字符串。

2要询问用户是否解密,如果用户要解密,则要显示解密后的字符串(与源串比较是否一致)

凯撒密码法:

加密过程:a→b,b→c……y→z,z→a, a→b,b→c,……y→z,z→a

解密过程:b→a,c→b,……z→y,a→z, b→a,c→b,……z→y,a→z

例如,输入bdef7tpr ,加密后为cefg7uqs,解密后仍为bdef7tpr

b 从键盘输入一个字符,如果为y,则把数据段中两个字变量dataa和datab进行交换,并用十六进制数输出dataa中存的数据,否则输出“no swap”

c将下列c程序**实现的功能用汇编语言写出来,并指出这个功能(可以不调用汇编的过程,只用主程序实现)

#include <>

#include <>

#define n 6

void fun(int a[n][n])

int i,j;

for(i=0;i for(j=0;j a[i][j]=(a[i][j]+a[i][j+1])/2;

void main()

int i,j;

int arra[n][n] =2,9,6,3,3,0},3,4,5,7,2,9},3,0,3,4,4,6},5,2,3,8,6,7},2,9,6,3,5,7}};

fun(arra);

printf("now arra is:");

for(i=0;i

getch();第二组。a

输入两个带符号整数(绝对值均不超过32765),两者相减后,判断是否溢出并输出判断情况,如果溢出则显示”overflow!”,没溢出则显示出结果,并在下一行显示“normal”

如,输入-32764 5 ,显示overflow!

输入52 7 ,显示 45 (另起一行)normal

b 从键盘接受3个16进制数,按下面要求进行输出。

1 如果三个数都不相同,输出0

2 如果有两个数相同,输出1

3 如果三个数都相同,输出2

c 设有长度为10的16位无符号二进制数数组,检查里边的最小偶数,有,则存入ax,没有偶数则在ax中存入-1。(数组中数据可以自行在源**中给定)

第三组。a键盘输入一字符串,统计出其中数字字符个数,字母字符个数,其他字符个数,并显示出这三类统计结果。(输入的字符串用回车结束)

b 输入一个个位数n,使得响铃n次(响铃的ascii码为07h),并显示:ring times:n

c 将指针p指向的字符串中的字符逐个复制到指针b指向的字符串中,并且每4个字符后加一个空格。

第四组。a 已知两个8位整数变量a和b,完成以下操作。

1 若两个变量均为奇数,则两数据交换。

2 若两个变量为一个奇数一个偶数,则两个变量均加2,存入原变量(不考虑溢出)

3 若两个变量为偶数,则两者相乘,存入ax

b 数据段有数组datax,前三项为0,0,1,后边的每项为它前边的三项之和,求出小于等于2000的各项,并依次填入数组datax

c 简单的计算器。

要求:1具有加,减运算功能。

2用户从键盘输入两个两位数进行运算。

3要有必要的提示输入信息显示出来。

4结果以十进制数形式输出显示。

第五组。a 输入一个不超过2000的整数,求它化成二进制后有多少个1,结果存入ax

b 数据段中有长度为10的数组mem,自行在源**中给定数据(要求至少有3个0,最多有7个0,且不能全连续),将不在末尾的0删除,并用后边的数补上,最后空出来的数据补1

如:原数组为 -1,5,0,7,0,6,0,8,0,6

程序执行结束后为:-1,5,7,6,8,6,1,1,1,1

c 将ax寄存器中16位数按4位一节,分别存入al,bl,cl,dl中。

第六组。a 定义一个双字变量volume,输入长、宽、高,计算体积后存入volume,注意判断溢出情况,给出结果或提示溢出。

b 设有10个学生的成绩分别为76,69,84,90,73,88,99,63,100,80,试编制一个程序分别统计60-69分,70-79分,80-89分,90-99分及100分的人数,并将结果以十进制形式分别显示出来(要有提示如60-69:x)。

c 编写一个程序,把事先写入数组data中的10个数据用16进制显示出来,格式如下:

1 数据12 数据2

第七组。a 按15行*16列的**形式显示ascii码为10h-100h的所有字符,即以行为主的顺序及ascii码递增的次序依次显示对应的字符。每16个字符为一行,每行的相邻两个字符之间用空白符(ascii为0)隔开。

b 输入一个不超过1000的整数,求它化成二进制后有多少个0,结果存入bx

c 编一个程序将ax中的数据变成4个ascii码,存入数组mem的4个字节中。

如(ax)=2a49,则mem中4个字节为39h,34h,41h,32h

第八组。a从键盘上接受一个3位的十进制数,并在终端上显示与它等值的二进制数和十六进制数。

b 从键盘输入2个字符串,比较它们是否相同,如果相同则显示输出“match”,否则显示输出“no match”。并且输出从第几个字母开始不同的。

如:输入 pink

ping输出 no match 4

c 编写一个程序,接受从键盘上输入的10个一位十进制数字,输入回车符则停止输入,然。

后将这些数字加密后存入内存缓冲区buffer,并输出到屏幕。加密表为:

输入数字:0,1,2,3,4,5,6,7,8,9

密码数字:7,5,9,1,3,6,8,0,2,4

第九组。a 在数组data 中事先存入一个长度为15的字符串,检查串中是否有数字字符,如果有,则将cl第5位设置为1,其它位设置为0。否则就将cl第5位设置为0,其它位设置为1.

b从键盘输入一个两位数的月份(01-12),然后输出该月份对应的英文缩写 jan...dec

c 数组data中有20个数字,统计其**现最多的数及其出现次数,将两个结果分别存入ax和cx。

第十组。a 输入一个1900-2100之间的年份,判断它是否为闰年。

b在数组string 中事先存入一个长度为15的字符串(串中必须含有至少3个小写字母字符,至多8个小写字母字符),将数组string中的小写字母字符删去。数组最后空余部分用0填充。

c x 为有符号整数(用字节变量存储),实现下边的分段函数。

1 如果x绝对值>35,则将寄存器bx赋值为x的值。

2 如果x绝对值≤35,则将寄存器bx赋值为30-x的值,并输出该值。

第十一组。a 求cl中存的整数的立方值,假设不超过16位2进制数。

b 输入长度大于5小于20的字符串(必须包含至少3个大写字母),将其中的大写字母全变成小写字母。

c 查找数据段中从地址si到di的所有数据中有没有和al中存储相同的数,有则显示“yes”,无则显示“no”

第十二组。a在数组data 中事先存入一个长度为15的字符串,检查串中是否有大写字母字符,如果有,则输出该大写字母。否则就将bh第3位设置为0,其它位设置为1.

b把ch和cl中的二进制位由低到高依次交叉存入ax中。

c编写程序,计算表达式(a+b)/(c and d) +2,a,b,c,d均在数据段中定义好,分别是-5,14,7,11,结果存入变量result中,再把结果用十进制数显示出来。

第十三组。a输入长度大于5小于20的字符串(必须包含至少3个数字),将其中的数字全经过下边的变换,再输出整个字符串。

汇编课程设计

直流电机调速系统设计。摘要。脉宽调制的全称为 pulse widthmodulator 简称pwm 直流电机调速器就是调节直流电动机速度的设备,由于直流电动机具有低转速大力矩的特点,是交流电动机无法取代的,因此调节直流电动机速度的设备 直流调速器,由于它的特殊性能 常被用于直流负载回路中 灯具调光或...

汇编课程设计

湖南农业大学课程设计报告。学院 信息科学与技术学院班级 计算机科学与技术2班 姓名 陈小湾学号 200841842226 课程设计报告题目 时钟显示程序。课程名称 微机原理与接 术。评阅成绩 评阅意见 成绩评定教师签名 日期 年月日。第一部分 任务与要求。利用芯片8253和8259a完成时钟显示程序...

汇编课程设计

目录1 系统实现的目标 3 2 系统实现方案 3 3 详细设计 3 4 具体的开发方法 5 5 调试及分析结果。参考文献 14 用汇编实现成绩管理系统,首先必须有一个友好的界面,界面的设计是本系统的重要的组成部分,利用int10的显示功能,显示字符,实现界面设计。其次是光标的定位 int10和int...