数字方阵程序

数字方阵程序

ID:46445312

大小:106.38 KB

页数:17页

时间:2019-11-23

数字方阵程序_第1页
数字方阵程序_第2页
数字方阵程序_第3页
数字方阵程序_第4页
数字方阵程序_第5页
资源描述:

《数字方阵程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、微机原理综合实验设计信控学院自动化专业自动0901班题目数字方阵姓名高旭光学号09510135指导教师王聪陈北辰2011年11月5日数字方阵的显示1.设计任务将N方个(N=3,4,5)个自然数按螺旋纹路填入N*N方阵,要求程序运行时输入参数N,然后输 出所需的N阶方阵,如N=4时输出显示 :1  2  3  4 12 13 14 5 11 16 15 6 10 9  8  7 2.实验目的及知识点进行程序设计方法和技能的基本训练,培养学生独立思考,独立编程的能力,让学生进一步了解微机原理这门课程的内涵,提高学生编程的水平,培养学生的编程兴趣。在完成实验的过程中

2、学生需要不断地检查,调试程序,然后根据出现的问题进行改进。本实验用到了汇编语言中的“比较语句”“循环语句”“分支结构”以及程序的调用,数据的堆栈。3.程序流程图3.1主程序流程图开始段寄存器初始,调用清屏子程序显示提示语退出从键盘输入字符,并判断是否是Q?YN调用子程序SY判断输入字符是否为3?并设置为3时输出格式NN调用子程序SY判断输入字符是否为4?并设置为4时输出格式N调用子程序SY判断输入字符是否为5?并设置为5时输出格式NN显示关于输入错误的提示语3.2子程序S流程图开始从主程序得到输出的数据和格式(输出的行数N和列数B)设置输出数据的首地址指针SI

3、和数据缓冲区首地址DI将要输出的数据付到数据缓冲区执行SI+1和DI+1执行列数N-1N判断N是否为0在字符结尾加字符结束符$,Y设置输出光标的位置并用9号功能输出,行数加1N循环次数-1=0?Y4.程序源代码及注释datasegmentbuf1db'123894765'buf2db'12341213145111615610987'buf3db'12345161718196152425207142322218131211109'dbufdb14dup()i1db0dh,0ah,'THISISAFANGZHENPROGRAMM'db0dh,0ah,'inputq

4、toexit'db0dh,0ah,'Pleaseinputanumber(3--5):','$'i2db0dh,0ah,'inputerror,pleasereinput!','$'ndb0bdb1dataendsstacksegmentdb100dup()stackendscodesegmentassumeds:data,cs:code,ss:stackmain:movax,datamovds,axcallclearlop:leadx,i1movah,9int21hmovah,1int21hcmpal,'q'jzquitleasi,buf1movn,7mov

5、cl,3callclearcmpal,'3'jzsleasi,buf2movn,10movcl,4cmpal,'4'jzsleasi,buf3movcl,5movn,13cmpal,'5'jzsleadx,i2movah,9int21hcallclearjmplops:movbl,nleadi,dbufl:moval,[si]mov[di],alincsiincdidecbljnelmov[di],byteptr'$'movah,2movdh,bmovdl,0int10hleadx,dbufmovah,9int21hincbloopsjmplopquit:mo

6、vah,4chint21h;***清屏***clearprocnearpushaxpushbxpushcxpushdxmovah,6moval,0movch,0movcl,0movdh,24movdl,79movbh,7int10hpopdxpopcxpopbxpopaxretclearendpcodeendsendmainDATASEGMENTBUF1DB'123894765';n=3时输出的数据BUF2DB'12341213145111615610987';n=4时输出的数据BUF3DB'1234516171819615242520714232221813

7、1211109';n=5时输出的数据DBUFDB14DUP(?);用于存放每行输出的数据I1DB0DH,0AH,'THISISAFANGZHENPROGRAMME';提示语DB0DH,0AH,'INPUTQTOEXIT'DB0DH,0AH,'PLEASEINPUTANUMBER(3--5):','$'I2DB0DH,0AH,'INPUTERROR,PLEASEREINPUT!','$'NDB?用于控制输出列数(包括空格)BDB1;用语控制输出地方(即屏幕中的哪一行)DATAENDSSTACKSEGMENTPARASTACK'STACK';设置堆栈段DB100D

8、UP(?)STACKENDSCODES

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。