汇编语言课程设计-数字方阵.doc

摘 要 汇编语言编程不仅具有计算机提供给用户的最快而又最有效的语言的优势,也可以在不很了解计算机硬件的前提下使用它。在对于程序的空间和时间要求很高的场合,使用汇编语言是必不可少,甚至对于很多需要直接控制硬件的应用场合,用保护模式下的汇编语言编程也提供给了对硬件不了解的初学者一种方法。 本次课程设计,是使用汇编作为开发语言完成数字方阵程序设计,即用户输入数字n,程序输出n阶方阵。本文主要分为问题描述、程序设计、代码实现、运行结果分析和课程设计总结几个部分。完整的表述了程序设计的全部过程及所涉及的基本思路和功能模块的代码实现。在代码编写中,还附加有文字说明,增加程序可读性。各个部分紧密联系,相互贯通,保证最终程序设计得以完整并正确的实现。 其中,问题描述阐述所要解决的问题、实现的功能;程序设计绘制程序流程图,作为程序编写的依据;代码实现主要列出本程序设计中涉及的主要模块的代码;运行结果分析为程序初步完成基础上的程序调试和功能测试,确保程序设计正确,能实现所要求的功能;通过课程设计总结对本次课程设计得失进行总结。总结遇到的问题、解决途径以及学到的知识,新掌握的编程技巧等。 最后,附上源程序清单及参考文献。 关键词:汇编语言,数字方阵,编程技巧,课程设计 目录 TOC \o 1-3 \h \z \u 摘 要 I 1 问题描述 1 2 程序设计 2 2.1题目基本内容 2 2.2系统流程框图 2 2.2.1 主程序流程图 2 2.2.2 子程序工作流程 3 2.3程序设计分析 3 3 主要代码实现 4 3.1 主模块代码 4 3.2 显示方阵模块代码 5 3.3 显示控制模块代码 6 4 运行结果分析 8 5 课程设计总结 9 参考文献 10 附录 11 源程序代码 11 1 问题描述 本程序设计主要要求用汇编语言实现数字方阵的创建。 程序提示用户输入任一数字n,系统接收该数字,并返回一个n阶数字方阵。要求将n2个自然数按螺旋纹路填入这个n阶方阵(顺时针,由外向内)。本程序设计中,系统提示输入一个3-9的数字,根据输入的数字显示方阵,如输入4,输出: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 要实现该功能要求,需要显示提示字符串,接受用户输入,调用中断[2],按要求显示方阵。 2 程序设计 2.1题目基本内容 具体要求: (1)输出提示输入,接受在一定范围内的指定数字(本程序为3到9之间),否则重新输入,如果是ESC键,则推出程序 (2)对接受的数字进行运算,将n2个自然数按螺旋纹路填入n阶方阵并显示该方阵。 2.2系统流程框图 2.2.1 主程序流程图 设置BIOS中断 设置文本显示方 设置BIOS中断 设置文本显示方式 输出显示提示 接受输入n 保存al中 ESC键? 调用EIXT子程序退出程序 介于3到9 ? Teletype 模式 求得n*n 保存到si中 NEXT 调用SHOW子程序,完成一次循环显示 BP SI ? 显示完成 Y N N Y N Y 开始 2.2.2 子程序工作流程 SHOW循环显示子程序: CRT子程序 调整AL值取得BP中的值向右输出n数 调整AL值 取得BP中的值 向右输出n数 每输出一个自加 向下输出n-1个数 每输出一个自加 向左输出n-1个数 每输出一个自加 向右输出n-2 每输出一个自加 子程序返回 分别得到二位十进制个位、十位的值 分别得到二位十进制个位、十位的值 N十位是否为0 N 十位是否为0 Y此位输出空格 Y 此位输出空格 输出其值 输出其值 输出个位值 输出个位值 子程序返回 子程序返回 2.3程序设计分析 算法实现并不是件简单的事情。高级语言可以设置二维数组实现,不必考虑其位数,输出也仅是一个元素值。而用汇编则遇到定位鼠标,才是显示,根据程序要求,想要达到程序要求,必须对鼠标位置做精确定位[3]。汇编一次只能输出一个字符,对于二位十进制数据时,必须作出处理分别输出[5]。如果对于一位二进制数不做处理,输出时的样子非常难看。处理方案是:

文档评论(0)

1亿VIP精品文档

相关文档