- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
cad补充例题cad补充例题
第4章 汇编语言程序设计 【例题4.15】将5位ASCII码表示的十进制数(不大于65535)转换成两字节二进制数。 如:‘12345’→ 110000注:两字节无符号二进制数最大表示范围为65535,所以要求被转换的十进制数不大于65535。 31H 32H 33H 34H 35H 0011 0000 DS:RESULT RESULT+1 DS:ASDEC ‘12345’ 转换分为两步: 1)把ASCII码转换为BCD数,方法是:各位减30H; 2)将BCD数转换为二进制数。 设5位十进制为d4d3d2d1d0,其中di为十进制数字,这样表示的数其值为: d4 ×104 + d3 ×103 + d2 ×102 +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的运算。 算法思想 DSEG SEGMENT ASDEC DB ‘12345’ COUNT EQU $ - ASDEC RESULT DW ? DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START:MOV AX,DSEG MOV DS,AX MOV SI,OFFSET ASDEC MOV CX,COUNT ;循环计数器赋初值 XOR AX,AX ;部分和AX,初值为0 AGAIN:ADD AX,AX ;AX ×10 MOV BX,AX ADD AX,AX ADD AX,AX ADD AX,BX MOV BH,0 MOV BL,[SI] ;取ASCII码,转换成二进制数 SUB BL,30H ADD AX,BX ;部分和计算 INC SI ;修改数据指针,指向下一个字节 LOOP AGAIN MOV RESULT,AX MOV AH,4CH INT 21H CSEG ENDS END START 【例4.26】写一个程序,它先接受一个字符串,然后显示其中数字字符的个数、英文字母的个数和字符串的长度。 分析设计 Step1:利用0AH号功能调用接受一个字符串; Step2:分别统计其中数字字符、英文字母的个数; Step3:用十进制数的形式显示它们。 注意:整个字符串的长度从0AH号功能调用的出口参数中取得。 数据定义: MLENGTH =128 ;缓冲区长度 DSEG SEGMENT ;数据段 BUFF DB MLENGTH ;符合0AH号功能调用所需的缓冲区 DB? ? ;实际键入的字符数 DB MLENGTH DUP(?) MESS0 DB? ‘Please input:$’ MESS1 DB? ‘Length = $’ MESS2 DB? ‘X = $’ MESS3 DB? ‘Y = $’ DSEG ENDS 分类统计流程 SI←字符串首址,CX←字符个数 AL←取1个字符,SI←SI+1 AL ‘0’ ? AL ‘9’ ? AL ‘a’ ? AL ‘z’ ? 数字计数器BL+1 字符计数器BH+1 小写字符不变, 大写字符转成小写 CX←CX-1 CX=0? N N Y Y Y N N 保存结果 Y Y N 程序结构 程序代码较长,设计中采用子程序调用方式,形成模块结构。 子程序名 功 能 NEWLINE 回车换行 DISPMESS 显示字符串 DISPAL 二进制数的十进制形式显示 ECHOCH 显示一个字符 CSEG SEGMENT ; ASSUME CS:CSEG, DS:DSEG START: MOV AX,DSEG MOV DS,AX ;设置DS MOV
您可能关注的文档
最近下载
- DB37∕T 242-2021 建筑消防设施检测技术规程.docx
- PE管材验收标准(SDR17.6).docx VIP
- 复旦大学《计算机体系结构》期末考试两套试卷(含答案).pdf VIP
- 中国近现代史纲要知到课后答案智慧树章节测试答案2025年春海南大学.docx VIP
- 形考作业3:基于UML的大学图书馆图书信息管理系统设计实验.docx VIP
- 大学《地震工程学》课程课件.pptx
- 2024年二建继续教育-基于建筑信息模型、虚拟施工及网络的项目管理理论及实践1、2答案.docx VIP
- 2024年二建继续教育-剖析价值工程及如何运用价值工程优选设计方案1、2答案.docx VIP
- 茶颜悦色案例分析.pptx VIP
- yolov9论文中文翻译.docx VIP
文档评论(0)