计算机组成原理与汇编原理课程设计名字排序.doc

计算机组成原理与汇编原理课程设计名字排序.doc

课程设计报告 课程名称:计算机组成原理与汇编语言 报告题目:汇编语言名字排序 学生姓名: 所在学院:信息科学与工程学院 专业班级: 指导教师: 2013 年 6月 26 日 摘要 汇编语言是直接面向处理器(Processor)的程序设计语言,处理器是在指令的控制下工作的,处理器可以识别的每一条指令称为机器指令。每一种处理器都有自己可以识别的一整套指令,称为指令集。处理器执行指令时,根据不同的指令采取不同的动作,完成不同的功能,既可以改变自己内部的工作状态,也能控制其它外围电路的工作状态。 汇编语言的排序,方法有许多,最常见的冒有泡排序、快速排序等等,冒泡排序的方法在软件开发中运用的十分广泛,其运行的效率很高,是排序问题的首选,这项目的排序我也采用冒泡排序,根据字母的先后顺序排列,然后显示出来。 关键词:处理器;指令;排序 目录 一、课题分析…………………………………………………………………………1 二、需求分析……………………………………………………………2 1.功能描述……………………………………………………………………2 2. 功能模块分析 ……………………………………………………… 三、设计方案………………………………………………………3 1.系统流程图……………………………………………………………3 2.子程序模块设计……………………………………………………………3 3. 详细设计……………………………………………………………………3 4. 程序调试结果及分析………………………………………………………4 四、结论与心得………………………………………………………………………6 五、参考文献……………………………………………………………………6 一、课题分析 用汇编语言进行人名排序其核心就是按照人名的字母的顺序进行排序,在此我用的是冒泡排序法。 整个设计思路就是:首先是输入所有的名字,然后把所有的名字放到Nametab表中,然后就是在表中对所有的名字运用冒泡排序法进行排序,先比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,在这一点,最后的元素应该会是最大的数,针对所有的元素重复以上的步骤,除了最后一个,持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字或字符串需要比较。最后就是通过k10dispz子程序把排好序的名字输出。 二、需求分析 1.功能描述 1.从键盘输入人的名字并且显示出来。 2. 建立一个表用来存放所有名字。 3.用冒泡排序法按字母上升的次序排序。 4.将排好的顺序输出显示。 2. 功能模块分析 设计思想:通过运用计算机汇编语言指令系统,将我们所要表达的语言转换成机器指令,任其识别。 这是一个在使用子程序为主的基础上,综合应用顺序结构、循环结构和分支等结构的程序,以实现从键盘终端输入的人名按字母上升的次序排序。它们的过程和功能如下: 1.b10read 接收键入的人名存放在Rnamepar中,并用空格符清除其后的单元; 2. d10stor 把人名从NAMEPAR 传送到nametab中,并用namectr计数; 3.g1osort用气泡排序算法对人名排序,并用swapped作为交换的标志控制循环结束。其中用调用子程序h10xchg来交换两个人名串的位置,并设置swapped标志。 4.k10disp显示已经排序好了的人名。 三、设计方案 1.系统流程图 2.子程序模块设计 1.子程序B10READ 用于接收键入的人名存放在namepar中,并用空格符清除其后的单元。 2.子程序D10STOR 把人名从namepar 传送到nametab中,并用namectr计数。 3.子程序G10SORT 用气泡排序算法对人名排序,并用swapped作为交换的标志控制循环结束。其中用调用子程序h10xchg来交换两个人名串的位置,并设置swapped标志。 4.子程序K10DISP 用于显示已经排序好了的人名。 3.详子细设计 Data segment namepar label byte maxnlen db 21 namelen db ? namefld db 21 dup(?) crlf db 13,10,$ endaddr dw ? messg1 db name?,$ messg2 db sorted names,13,1

文档评论(0)

1亿VIP精品文档

相关文档