《统计键盘输入字符和数字个数实验报告》由会员分享,可在线阅读,更多相关《统计键盘输入字符和数字个数实验报告(15页珍藏版)》请在金锄头文库上搜索。
1、统计键盘输入字符和数字个数实验报告姓名:xx 学号:xxx 班级 :xxx任课教师:xxx一、 实验目的1. 学习循环程序结构,掌握编写循环处理程序的方法和技巧。2. 通过循环结构程序熟悉汇编语言程序设计的主要方法。3. 了解和掌握程序设计过程中算法的选择。4. 掌握汇编语言的调试方法。二、 实验内容从键盘输入一系列字符(每种字符不超过 9)并以回车符结束,统计出字母、数字及其它字符的个数,最后要在屏幕上显示计数结果。三、 实验程序设计思路Y输入字符 X判断 X=换行NN显示最后结果 X =0REST+YX =AN NREST+YX = aNREST+X = 0,跳到 NEXT1INC RES
2、T ;否则,REST+JMP AGAIN ;跳回 AGAIN,继续输入NEXT1:CMP AL,9 ;若字符 = A,跳到 NEXT2INC RESTJMP AGAINNEXT2:CMP AL,90 ;比较字符和ZJBE N2 ;若字符 = a,则跳到 NEXT3INC REST ;否则 REST+JMP AGAIN ;继续循环NEXT3:CMP AL,122 ;比较字符和zJBE N2 ;若字符 = 0,跳到 NEXT1INC REST ;否则,REST+JMP AGAIN ;跳回 AGAIN,继续输入NEXT1:CMP AL,9 ;若字符 = A,跳到 NEXT2INC RESTJMP A
3、GAINNEXT2:CMP AL,90 ;比较字符和ZJBE N2 ;若字符 = a,则跳到 NEXT3INC REST ;否则 REST+JMP AGAIN ;继续循环NEXT3:CMP AL,122 ;比较字符和zJBE N2 ;若字符 = z,跳到 N2INC RESTJMP AGAINN1:INC NUMBERJMP AGAINN2:INC CHARJMP AGAINEXIT:LEA DX,STR1MOV AH,09HINT 21HMOV AL,NUMBERMOV AH,0;对应百位数字MOV BL,100 DIV BLMOV BL,AH ;商在 AH 中MOV AH,2 ;显示最高位
4、(余数在 AL 中(除以 100 的余数为最高位)ADD AL,30HMOV DL,ALINT 21HMOV AL,BL;对应十位数字MOV AH,0MOV BL,10DIV BLMOV BL,AH ;商在 AH 中MOV AH,2 ;显示中间位(余数在 AL 中(除以 10 的余数为中间位)ADD AL,30HMOV DL,ALINT 21HMOV DL,BL;对应个位数字ADD DL,30H MOV AH,2 ;显示个位INT 21HLEA DX,STR2MOV AH,09HINT 21HMOV AL,CHARMOV AH,0;对应百位数字MOV BL,100 DIV BLMOV BL,A
5、H ;商在 AH 中MOV AH,2 ;显示最高位(余数在 AL 中(除以 100 的余数为最高位)ADD AL,30HMOV DL,ALINT 21HMOV AL,BL;对应十位数字MOV AH,0MOV BL,10DIV BLMOV BL,AH ;商在 AH 中MOV AH,2 ;显示中间位(余数在 AL 中(除以 10 的余数为中间位)ADD AL,30HMOV DL,ALINT 21HMOV DL,BL;对应个位数字ADD DL,30H MOV AH,2 ;显示个位INT 21HLEA DX,STR3MOV AH,09HINT 21HMOV AL,RESTMOV AH,0;对应百位数字
6、MOV BL,100 DIV BLMOV BL,AH ;商在 AH 中MOV AH,2 ;显示最高位(余数在 AL 中(除以 100 的余数为最高位)ADD AL,30HMOV DL,ALINT 21HMOV AL,BL;对应十位数字MOV AH,0MOV BL,10DIV BLMOV BL,AH ;商在 AH 中MOV AH,2 ;显示中间位(余数在 AL 中(除以 10 的余数为中间位)ADD AL,30HMOV DL,ALINT 21HMOV DL,BL;对应个位数字ADD DL,30H MOV AH,2 ;显示个位INT 21HMOV AH,4CHINT 21HCODE ENDSEND START