统计键盘输入字符和数字个数实验报告Word下载.docx

上传人:b****7 文档编号:22028287 上传时间:2023-02-02 格式:DOCX 页数:13 大小:123.41KB
下载 相关 举报
统计键盘输入字符和数字个数实验报告Word下载.docx_第1页
第1页 / 共13页
统计键盘输入字符和数字个数实验报告Word下载.docx_第2页
第2页 / 共13页
统计键盘输入字符和数字个数实验报告Word下载.docx_第3页
第3页 / 共13页
统计键盘输入字符和数字个数实验报告Word下载.docx_第4页
第4页 / 共13页
统计键盘输入字符和数字个数实验报告Word下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

统计键盘输入字符和数字个数实验报告Word下载.docx

《统计键盘输入字符和数字个数实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《统计键盘输入字符和数字个数实验报告Word下载.docx(13页珍藏版)》请在冰豆网上搜索。

统计键盘输入字符和数字个数实验报告Word下载.docx

输入:

`

输入了12345asdASD-=

输出如下:

输出了NUMBER:

5CHAR:

6REST:

2

说明数字有5个,字符有6个,剩下的其他字符为2个

六、实验体会

通过本次实验学习并实践了循环程序,更深理解了跳转语句的用法和输入输出字符语句的用法,并且下次上机前要做准备,避免急躁。

.

对本次试验的思考:

此程序对某种类型的数最多只能显示9个,若统计个数超过九个时怎么办对程序最后显示部分稍加修改:

以显示NUMBER为例子:

EXIT:

LEADX,STR1

MOVAH,09H

INT21H

MOVAL,NUMBER;

将NUMBER送到AL中

MOVAH,0;

对应百位数字

MOVBL,100

DIVBL

MOVBL,AH;

商在AH中

MOVAH,2;

显示最高位(余数在AL中(除以100的余数为最高位))

ADDAL,30H

MOVDL,AL

MOVAL,BL;

对应十位数字

MOVAH,0

MOVBL,10

显示中间位(余数在AL中(除以10的余数为中间位))

MOVDL,BL;

对应个位数字

ADDDL,30H

显示个位

"

输入ABCDEFGHIJK==

输出:

原理:

16位DIV除法和二号调用

三位数被放到AL中,先是除以100得到百位数字,而后除以10得到十位数字,和余下的个位数字。

被除数在AX中,商在AL中,余数在AH中

附件(实验代码,需要注释):

DATASEGMENT

NUMBERDB0;

定义NUMBER为统计的数字个数

CHARDB0;

定义CHAR为统计的字符个数

RESTDB0;

定义REST为统计的其他字符个数

STR1DB'

NUMBER:

'

'

$'

;

定义字符串,用来显示结果

STR2DB'

CHAR:

STR3DB'

REST:

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

AGAIN:

循环体

MOVAH,1;

输入字符

CMPAL,0DH;

判断输入的字符等不等于'

换行'

JZEXIT;

若等于换行符,就跳到显示最后结果步骤

CMPAL,'

0'

若不等于‘换行’,和‘0’比较

JNLNEXT1;

若字符>

=‘0’,跳到NEXT1

INCREST;

否则,REST++

JMPAGAIN;

跳回AGAIN,继续输入

NEXT1:

9'

若字符<

=‘9’

JBEN1;

则跳到N1,实现NUMBER++

CMPAL,65;

否则比较字符和'

A'

>

JNLNEXT2;

=‘A’,跳到NEXT2

INCREST

JMPAGAIN

NEXT2:

CMPAL,90;

比较字符和'

Z'

JBEN2;

=‘Z’,跳到N2

CMPAL,97;

a'

JNLNEXT3;

='

,则跳到NEXT3

否则REST++

继续循环

NEXT3:

CMPAL,122;

z'

=‘z’,跳到N2

N1:

N1体

INCNUMBER;

实现NUMBER++

和继续循环

N2:

N2体

INCCHAR;

实现CHAR++

输出

LEADX,STR1;

输出“NUMBER:

MOVDL,NUMBER

ADDDL,30H;

因为MOVAH,2是显示字符,所以要显示数字,则显示数字的ASCII码

显示统计的数字个数

LEADX,STR2;

输出“CHAR:

”,为了美观,CHAR前面有一个空格

MOVDL,CHAR

CHAR加上30H再显示

显示统计字符个数

LEADX,STR3;

输出“REST:

”,为了美观,REST前面有一个空格

MOVDL,REST

REST加上30H再显示

显示统计的其他字符个数

MOVAH,4CH

CODEENDS

ENDSTART

当统计数字超过9个时,改进的程序:

NUMBERDB0

CHARDB0

RESTDB0

[

?

INCNUMBER

/

INCCHAR

MOVAL,NUMBER

|

-

LEADX,STR2

MOVAL,CHAR

!

LEADX,STR3

MOVAL,REST

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1