汇编语言实验报告2分类统计字符个数

汇编语言实验报告2分类统计字符个数

ID:12090080

大小:61.50 KB

页数:4页

时间:2018-07-15

汇编语言实验报告2分类统计字符个数_第1页
汇编语言实验报告2分类统计字符个数_第2页
汇编语言实验报告2分类统计字符个数_第3页
汇编语言实验报告2分类统计字符个数_第4页
资源描述:

《汇编语言实验报告2分类统计字符个数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、汇编语言实验报告2分类统计字符个数一、实验内容:通过分支程序设计实现字母、数字及其它字符的分类统计计数。二、实验要求:程序接受用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),并按字母、数字及其它字符分类计数,然后将结果存入以letter、digit和other为名的存储单元中。输出可以用十六进制数形式。可以进一步考虑更细节的统计分类。说明:数据变量的定义,单个字符的输入、字符串的输出、结果数字的输出,都是需要考虑的问题。分类主要是数字:’0’~’9’,字母’A’~’Z’和’a’~’z’,其它。对应的ASCII码为30H~39H,41H~5AH,61H~7

2、AH,...1、单个字符的输入,可以使用DOS中断功能01:MOVAH,01HINT21H;输入符号的ASCII代码在AL寄存器中2、字符串的输出,可以使用DOS中断功能09:LEADX,message;message需要事先定义好,必须是以’$’结尾的字符串MOVAH,09HINT21H3、字符串的输入,可以使用DOS中断功能0AH,但需要事先定义空间string,在数据段中有stringDB80,?,80DUP(?)LEADX,stringMOVAH,0AHINT21H4、计数得到的是二进制数值,在输出时要考虑转换成哪种进制形式的字符来显示。三、实验源代码如下:DAT

3、ASSEGMENTSTRING1DB'Pleaseinputastring:$';输入提示信息STRING2DB'Numberofchars:$';各类字符提示信息STRING3DB'Numberofdigits:$'STRING4DB'Numberofothers:$'CHARSDB0;字母DIGITDB0;数字OTHERSDB0;其他DATASENDSSTACKSSEGMENT;此处输入堆栈段代码STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXLEADX,S

4、TRING1;显示输入提示信息PleaseinputastringMOVAH,09HINT21HMOVCX,100;设置循环次数足够大L1:MOVAH,01H;中断调用,单字符输入INT21H;输入符号的ASCII代码在AL寄存器中CMPAL,0DH;若输入回车符则结束JZOVER2CMPAL,30H;若<30H(0),OTHERS++JBOTHERCMPAL,39H;若>39H(9),跳转进一步比较JAHIGHER1JMPDIGITAL;DIGIT++HIGHER1:CMPAL,41H;若IF<41H(A),OTHERS++JBOTHERCMPAL,5AH;若IF>5A

5、H(Z),跳转继续比较JAHIGHER2JMPCHAR;ALPHAU++HIGHER2:CMPAL,61H;若IF<61H(a),OTHERS++JBOTHERCMPAL,7AH;若IF>7AH(z),OTHERS++JAOTHERJMPCHAR;ALPHAU++JMPOVER;比较结束OTHER:INCOTHERS;OTHERS++JMPOVER;比较结束CHAR:INCCHARS;ALPHAL++JMPOVER;比较结束DIGITAL:INCDIGIT;DIGIT++JMPOVER;比较结束JMPOVER;比较结束OVER:NOPLOOPL1;循环,输入下一字符OVE

6、R2:CALLENDLINE;回车换行LEADX,STRING2;字符串的输出NumberofcharsMOVAH,09HINT21HXORAX,AXMOVAL,CHARS;将统计的数字送AXCALLDISPLAY;调用输出两位数字的子程序CALLENDLINELEADX,STRING3;字符串的输出NumberofdigitsMOVAH,09HINT21HXORAX,AXMOVAL,DIGIT;将统计的数字送AXCALLDISPLAY;调用输出两位数字的子程序CALLENDLINELEADX,STRING4;字符串的输出NumberofothersMOVAH,09HIN

7、T21HXORAX,AXMOVAL,OTHERS;将统计的数字送AXCALLDISPLAY;调用输出两位数字的子程序MOVAH,4CHINT21HENDLINEPROCNEAR;控制输出格式,输出回车换行子程序MOVAH,02HMOVDL,0AHINT21H;输出换行符MOVAH,02HMOVDL,0DHINT21H;输出回车符RETENDLINEENDPDISPLAYPROCNEAR;输出两位数字的子程序(输出两位数字为十进制)MOVBL,10DIVBL;AX/BL,AL=商,AH=余数PUSHAX;保存AX中的信息MOVD

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

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

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