汇编语言课程设计_第1页
汇编语言课程设计_第2页
汇编语言课程设计_第3页
汇编语言课程设计_第4页
汇编语言课程设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理实践课程设计报告题目: 汇编语言课程设计专业: 网络工程 班级: 班 学号: 姓名: 指导教师: 完成日期:2013年 1 月 6 日一、课程设计目的1、 加深对汇编语言理论和基本知识的理解, 掌握DOS和BIOS系统功能调用,掌握运用汇编语言设计具有一定功能的软件的基本方法.2、 通过编写一定规模和难度的程序,进行一次较全面的汇编编程训练,提高分析问题和解决问题的能力3、 提高调试程序的能力二、课程设计内容1、 从键盘输入一组十进制数,排序后在屏幕上显示要求:从键盘输入一组十进制数(每个数不超过3个字符),它们之间以逗号“,”分开,以回车键为该数组数据结束,将该数组升序排序后,结果在

2、屏幕上显示。*Display Program* please input 10 decimal number,sorted then output: 如果输入的不是数,提示出错,显示:input error!三、课程设计过程1、算法设计(画出算法流程图)开始输入十进制数是否输入数字结束回车?是否输入,数据存储显示input error!将该数组升序排序显示排序结果YNYNYN2、程序代码清单程序代码如下:DSEG SEGMENT ;数据段 number dw 80 dup (?)count dw ?BUFF DB please input decimal number:$ 提示输入数组STR1

3、 DB input error!,0AH,0DH,$DSEG ENDSCSEG SEGMENT assume CS:CSEG , DS:DSEGmain procfar ;入口 mov ax, dseg mov ds, ax添加主程序代码:xor ax,axmov dx,offset BUFF mov ah,9 int 21h call input;从键盘输入一组十进制数(每个数不超过3个字符),存于数组number中call sort ;将该组数按升序排序 call disp ;将结果送显示器显示 ;按任意键退出 mov ah,1 int 21h ;程序结束,返回到操作系统系统mov ax,

4、 4ch int 21hMAIN ENDPinput proc lea si,numbernext: mov bx, 0 mov cx,4newchar: mov ah, 1;键盘输入,每个数据以,结束 int 21h cmp al,0dh ;全部数据以回车结束 jz he cmp al, 2ch ;存储数据 jz he sub al, 30h jl exit ; 0退出 cmp al, 9h jg exit ; cbw xchg ax, bx mov dx, 10 mul dx xchg ax, bx add bx, axloop newchar he: inc count mov si,b

5、x add si,2 cmp al,0dh jz tj jmp next tj: retinput endpexit: mov ax, 4c00h int 21hsort proc ;冒泡排序,为数组排序 mov cx,count dec cxloop1: mov di,cx mov bx,0loop2: mov ax,numberbx cmp ax,numberbx+2 jle continue xchg ax,numberbx+2 mov numberbx,axcontinue: add bx,2 loop loop2 mov cx,di loop loop1ret sort endpdi

6、sp proc ;输出排列后的数据 call crlf mov cx,count lea si,numberrepeat1: mov bx,si mov di,100d call dec_div mov di,10d call dec_div mov dx,bx add dl,30h mov ah,2 int 21h call crlf add si,2 loop repeat1 retdisp endpdec_div proc near ;除法输出各个位数 mov ax,bx mov dx,0 div di mov bx,dx mov dl,al add dl,30h mov ah,2 in

7、t 21h retdec_div endpcrlf proc near ;换行子程序 push dx push ax mov dl,0ah mov ah,2 int 21h mov dl,0dh mov ah,2 int 21h pop ax pop dx retcrlf endpCSEG ENDSEND MAIN3、调试过程(包括实验过程中实验步骤,出现的问题,解决的方法,使用的实验数据等)(1)按emu8086进行调试,会出现两个对话框,执行run,弹出一个输入十进制的数的提示框,按要求输入N个十进制数,用逗号分隔开,确保输入一组N个十进制数组后(且不大于三个字符),按回车键对该数组进行自动升序排序。本次实验所用的N=10个测试数据为:46,15,49,51,100,09,24,57,34,944、 系统运行结果截图运行后,输入一组十进制数当输入的不是十进制数的时候:例如:结果如图5、结果分析1. 在输入十进制数组的时候,若途中失误输入其他非十进制数组,例如:大小写字母等,则程序会终止调试过程,此时,需要进行重新调试。 2.四、课程设计体会通过本次课程设计,对汇编语言又有了进一步的了解,主要有各种结构以及

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论