汇编语言程序设计实验六

汇编语言程序设计实验六

ID:15189989

大小:64.50 KB

页数:6页

时间:2018-08-01

汇编语言程序设计实验六_第1页
汇编语言程序设计实验六_第2页
汇编语言程序设计实验六_第3页
汇编语言程序设计实验六_第4页
汇编语言程序设计实验六_第5页
资源描述:

《汇编语言程序设计实验六》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验六分支及循环程序设计一、   实验目的1、1、学习提示信息的显示及键盘输入字符的方法。2、2、掌握分支程序和循环程序的设计方法。二、   实验预习要求1、1、复习比较指令、转移指令、循环指令的用法。2、根据编程提示,编出汇编语言源程序。3、有兴趣的同学请编写出实验习题中的程序。三、   分支程序和循环程序简介1、 分支程序是根据不同条件执行不同处理过程的程序。分支程序的结构有两种:—种是二分支,—种是多分支。它们的共同特点是在满足某一条件时,将执行多个分支中的某—分支。2、 循环程序四、   实验内容在屏幕上显示提示信息“Pleaseinput10numbers:”,提示用户

2、输入10个数(数的范围在0~99之间),然后从键盘上读入这10个数。接着对这10个数从小到大进行排序,并统计0~59、60~79、80~99的数各有多少。最后在屏幕上显示排序后的数(每个数之间用逗号分隔)并显示统计的结果。显示格式如下:Sortednumbers:xx,xx,xx,xx,xx,xx,xx,xx,xx,xx0-59:xx60-79:xx80-99:xx代码:CALLDOSMACROFUNCTIONMOVAH,FUNCTIONINT21HENDMCRLFMACROMOVDL,0DHCALLDOS2MOVDL,0AHCALLDOS2ENDMDATASEGMENTMESS

3、AGEDB'Pleaseinput10number:',0DH,0AH,'$'NUMBERSDB10DUP(?)KB_BUFDB3ACTLENDB?BUFFERDB3DUP(?);输入的字符放在次区域中LE59DB0;0——5的个数GE60DB0;60——79的个数GE80DB0;80——99的个数SORTSTRDB'Sortednumbers'SORTNUMDB9DUP(20H,20H,','),20H,20H,0DH,0AHMESS00DB'0-59:',30H,30H,0DH,0AHMESS60DB'60-79:',30H,30H,0DH,0AHMESS80DB'80-99

4、:',30H,30H,0DH,0AH,'$'DATAENDS;数据段结束CODESEGMENT;定义代码段ASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXLEADX,MESSAGEMOVAH,09HINT21H;显示MESSAGE;从键盘读入数据并转化成二进制数保存MOVCX,10LEADI,NUMBERS;设置数据保存区指针LP11:LEADX,KB_BUFMOVAH,0AHINT21H;从键盘读入数据CMPACTLEN,0JZLP11CMPACTLEN,1JNZLP12MOVAL,BUFFER;若只有一

5、个数字ANDAL,0FH;转化成二进制JMPLP13LP12:MOVAH,BUFFER;若有二个数字MOVAL,BUFFER+1ANDAX,0F0FH;转化成BCD数AAD;转化成二进制数LP13:STOSB;保存数据CRLFLOOPLP11MOVBL,9LP21:LEASI,NUMBERSMOVCL,BLLP22:LODSB;?第一个数NiCMPAL,[SI];Ni<=Nj?JLELP23;若小于等于则不交换XCHGAL,[SI];否则交换Ni,NjMOV[SI-1],ALLP23:DECCLJNZLP22;若内循环未结束则继续DECBLJNZLP21;若外循环未结束则继续;对

6、NUMBERS中的10个数据进行统计,结果放在GE80,GE60和LE59中LEASI,NUMBERS;指向数据保存区MOVCX,10LP31:CMPBYTEPTR[SI],60JGELP32INCLE59JMPLP34LP32:CMPBYTEPTR[SI],80JGELP33INCGE60JMPLP34LP33:INCGE80LP34:INCSILOOPLP31;把排序后的10个数据转换成ASCII码依次存入SORTNUM字符中串中LEASI,NUMBERS;指向数据保存区LEADI,SORTNUM;指向字符串MOVCX,10LP41:LODSBCMPAL,10;大于10,则有

7、二位数字JGELP42ADDAL,30H;只有一位数字则直接转换MOVAH,20H;高位显示成空格JMPLP43LP42:AAM;转化成二位BCD数ADDAX,3030H;转化成ASCII码LP43:XCHGAH,AL;十位数放到AL中MOV[DI],AXADDDI,3LOOPLP41;把统计结果转化成ASCII码存入MESS80,MESS60,MESS00字符串中MOVAH,LE59CMPAH,10;大于10,则有二位数字JGELP51ADDAH,30H;只有一位数字则直接转换

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

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

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