文档详情

匯编语言程序设计实验六.doc

发布:2017-01-09约4.78千字共8页下载文档
文本预览下载声明
实验六 分支及循环程序设计 ??? 实验目的 1、学习提示信息的显示及键盘输入字符的方法。 2、掌握分支程序和循环程序的设计方法。 ??? 实验预习要求 1、复习比较指令、转移指令、循环指令的用法。 2、根据编程提示,编出汇编语言源程序。 3、有兴趣的同学请编写出实验习题中的程序。 ??? 分支程序和循环程序简介 ? 分支程序是根据不同条件执行不同处理过程的程序。分支程序的结构有两种:—种是二分支,—种是多分支。它们的共同特点是在满足某一条件时,将执行多个分支中的某—分支。 ? 循环程序 ??? 实验内容 在屏幕上显示提示信息“Please input 10 numbers:”,提示用户输入10个数(数的范围在0~99之间),然后从键盘上读入这10个数。接着对这10个数从小到大进行排序,并统计0~59、60~79、80~99的数各有多少。最后在屏幕上显示排序后的数(每个数之间用逗号分隔)并显示统计的结果。显示格式如下: Sorted numbers: xx,xx,xx,xx,xx,xx,xx,xx,xx,xx 0-59: xx 60-79: xx 80-99: xx 代码: CALLDOS MACRO FUNCTION MOV AH,FUNCTION INT 21H ENDM CRLF MACRO MOV DL,0DH CALLDOS 2 MOV DL,0AH CALLDOS 2 ENDM DATA SEGMENT MESSAGE DB Please input 10 number:,0DH,0AH,$ NUMBERS DB 10 DUP(?) KB_BUF DB 3 ACTLEN DB ? BUFFER DB 3 DUP(?) ;输入的字符放在次区域中 LE59 DB 0 ;0——5的个数 GE60 DB 0 ;60——79的个数 GE80 DB 0 ;80——99的个数 SORTSTR DB Sorted numbers SORTNUM DB 9 DUP(20H,20H,,),20H,20H,0DH,0AH MESS00 DB 0-59:,30H,30H,0DH,0AH MESS60 DB 60-79:,30H,30H,0DH,0AH MESS80 DB 80-99:,30H,30H,0DH,0AH,$ DATA ENDS ;数据段结束 CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS:DATA,ES:DATA START:MOV AX,DATA MOV DS,AX MOV ES,AX LEA DX,MESSAGE MOV AH,09H INT 21H ;显示MESSAGE ;从键盘读入数据并转化成二进制数保存 MOV CX,10 LEA DI,NUMBERS ;设置数据保存区指针 LP11:LEA DX,KB_BUF MOV AH,0AH INT 21H ;从键盘读入数据 CMP ACTLEN,0 JZ LP11 CMP ACTLEN,1 JNZ LP12 MOV AL,BUFFER ;若只有一个数字 AND AL,0FH
显示全部
相似文档