cad补充例题.ppt

cad补充例题.ppt

ID:48181797

大小:177.50 KB

页数:15页

时间:2020-01-18

cad补充例题.ppt_第1页
cad补充例题.ppt_第2页
cad补充例题.ppt_第3页
cad补充例题.ppt_第4页
cad补充例题.ppt_第5页
资源描述:

《cad补充例题.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、【例题4.15】将5位ASCII码表示的十进制数(不大于65535)转换成两字节二进制数。如:‘12345’→11000000111001注:两字节无符号二进制数最大表示范围为65535,所以要求被转换的十进制数不大于65535。31H32H33H34H35H0011000000111001DS:RESULTRESULT+1DS:ASDEC‘12345’转换分为两步:1)把ASCII码转换为BCD数,方法是:各位减30H;2)将BCD数转换为二进制数。设5位十进制为d4d3d2d1d0,其中di为十进制数字,这样表示的数其值为:d4×104+d3×103+d2×102

2、+d1×101+d0=0×105+d4×104+d3×103+d2×102+d1×101+d0=((((0×10+d4)×10+d3)×10+d2)×10+d1)×10+d0由此可见,设最初部分和AX为0,最终结果是做5次AX乘以10+d→AX的运算。算法思想DSEGSEGMENTASDECDB‘12345’COUNTEQU$-ASDECRESULTDW?DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AXMOVSI,OFFSETASDECMOVCX,COUNT;循环计数器赋初值XORAX,A

3、X;部分和AX,初值为0AGAIN:ADDAX,AX;AX×10MOVBX,AXADDAX,AXADDAX,AXADDAX,BXMOVBH,0MOVBL,[SI];取ASCII码,转换成二进制数SUBBL,30HADDAX,BX;部分和计算INCSI;修改数据指针,指向下一个字节LOOPAGAINMOVRESULT,AXMOVAH,4CHINT21HCSEGENDSENDSTART【例4.26】写一个程序,它先接受一个字符串,然后显示其中数字字符的个数、英文字母的个数和字符串的长度。分析设计Step1:利用0AH号功能调用接受一个字符串;Step2:分别统计其中数字字

4、符、英文字母的个数;Step3:用十进制数的形式显示它们。注意:整个字符串的长度从0AH号功能调用的出口参数中取得。数据定义:MLENGTH=128;缓冲区长度DSEGSEGMENT;数据段BUFFDBMLENGTH;符合0AH号功能调用所需的缓冲区DB?;实际键入的字符数DBMLENGTHDUP(?)MESS0DB‘Pleaseinput:$’MESS1DB‘Length=$’MESS2DB‘X=$’MESS3DB‘Y=$’DSEGENDS分类统计流程SI←字符串首址,CX←字符个数AL←取1个字符,SI←SI+1AL<‘0’?AL>‘9’?AL<‘a’?AL>‘z

5、’?数字计数器BL+1字符计数器BH+1小写字符不变,大写字符转成小写CX←CX-1CX=0?NNYYYNN保存结果YYN程序结构程序代码较长,设计中采用子程序调用方式,形成模块结构。子程序名功能NEWLINE回车换行DISPMESS显示字符串DISPAL二进制数的十进制形式显示ECHOCH显示一个字符CSEGSEGMENT;ASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AX;设置DSMOVDX,OFFSETMESS0;显示提示信息CALLDISPMESSMOVDX,OFFSETBUFFMOVAH,10;接受一个字符串INT21

6、HCALLNEWLINE;回车换行MOVBH,0;清数字字符计数器MOVBL,0;清字母符计数器MOVCL,BUFF+1;取字符串长度MOVCH,0JCXZCOK;若字符串长度等于0,不统计MOVSI,OFFSETBUFF+2;指向字符串首AGAIN:MOVAL,[SI];取一个字符INCSI;调整数据指针,指向下一个数据CMPAL,‘0’;判断是否是数字字符JBNEXT;小于‘0’,不属于统计字符,CMPAL,’9’;大于‘9’,不是数字字符,JANODEC;转向字母字符判断INCBH;‘0’~‘9’,数字符计数加1JMPSHORTNEXT;转向取一个字符NODEC

7、:ORAL,20H;转小写CMPAL,‘a’;判断是否是字母符JBNEXTCMPAL,‘z’JANEXTINCBL;字母符计数加1NEXT:LOOPAGAIN;下一个COK:MOVDX,OFFSETMESS1CALLDISPMESSMOVAL,BUFF+1;取字符串长度XORAH,AHCALLDISPAL;显示字符串长度CALLNEWLINEMOVDX,OFFSETMESS2CALLDISPMESSMOVAL,BHXORAH,AHCALLDISPAL;显示数字符个数CALLNEWLINEMOVDX,OFFSETMESS3CALLDISPMESSMOV

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

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

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