汇编语言程序实验报告.docx
文本预览下载声明
汇编语言程序实验报告题目:计算10个0~9之间数字的总和、平均值并统计大于6的数字的个数。要求:(1)屏幕显示程序功能-欢迎界面;(2)键盘输入具体数值,限制输入范围在0~9之间;(3)屏幕显示计算结果;(4)控制程序的循环与退出方式;(5)给出源程序和流程图。程序流程图:程序截图:源程序代码:DATAS SEGMENTwel DB welcome!(if you want to exit,please input Q or q),$inp DB please input ten number(0~9):,$err DB Input error,$sum DB the sum is:, $ave DB the average is: ,$big DB the number 6:,$DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASEXIT:MOV AH,4CH INT 21HERROR:LEA DX,errMOV AH,9INT 21HNEXT MACROmov ah,02hmov dl,0dhint 21hmov ah,02hmov dl,0ahint 21h;换行ENDM START: MOV AX,DATAS MOV DS,AXLEA DX,welMOV AH,9INT 21H;欢迎信息MOV AH,01HINT 21H ;退出输入CMP AL,QJZEXITCMP AL,qJZ EXITNEXTLEA DX,inpMOV AH,9INT 21HMOV CX,10;十次循环MOV BX,0;BX装总和,初始值为0MOV BP,0;CX装大于6的个数INPUT:MOV AH,01HINT 21H ;输入10个数字CMP AL,9JA ERRORCMP AL,0JB ERRORCMP AL,6JBE COUNTINC BPCOUNT:INC SISUB AL,30H;变成10进制的数,就要减去30h,因为整数1~9和它的ascii码正好相差30hADD BL,AL;求和LOOP INPUT;循环10次NEXTMOV BH,0MOV AX,BXMOV BL,10DIV BLMOV BX,AX;BX中BH为余数,BL为商 ADD BL,30H ;转化成ASCII码需要分别将BH、BL加上30HADD BH,30HLEA DX,SUMMOV AH,9INT 21HMOV DL,BLMOV AH,2HINT 21HMOV DL,BHMOV AH,02HINT 21H;显示总和NEXTLEA DX,aveMOV AH,9INT 21HMOV DL,BLMOV AH,2HINT 21HMOVDL,.MOV AH,02HINT 21HMOV DL,BHMOV AH,02HINT 21H;显示平均数NEXTLEA DX,bigMOV AH,9INT 21HMOV DX,BPMOV AH,02HINT 21H;显示大于6的数 NEXTJMP STARTMOV AH,4CH INT 21HCODES ENDS END START
显示全部