ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:217.78KB ,
资源ID:3270452      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3270452.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汇编分类统计字符个数.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

汇编分类统计字符个数.docx

1、汇编分类统计字符个数汇编分类统计字符个数部门: xxx 时间: xxx整理范文,仅供参考,可下载自行编辑分类统计字符个数1、实验目的通过编程实现字符进行分类统计。利用DOS功能调用INT 21H的100Ah)号功能,掌握进行键盘输入字符串的方法以及数据区设置。掌握8086指令: CMP、JB、JA、SHL、INC、LEA、INT、JNZ、SCASB、LOOPE/LOOPNE等。b5E2RGbCAP2、实验内容1、编写一个程序实现将数据段中存储在STRING处到NUM处的字符串进行分类统计,然后将结果存入以letter、digit和other为名的存储单元中。查找字符串STRING中是否有空格,

2、如有找出第一个出现的位置先用十六进制显示,后修改为十进制显示),否则输出N。p1EanqFDPw2、修改前述1的程序,实现从键盘输入一个以回车键作为结束符的字符串字符个数不超过80个),存入BUF中,分类统计BUF中字符串,将结果存入以letter、digit和other为名的存储单元中,屏幕输出大小写字母个数、数字个数和其它字符个数,并查找字符串BUF中是否有空格,如有找出第一个出现的位置用十进制显示),否则输出N。=(1.”屏幕显示:N对存储区STRING的内容12ABCD E#! Y(78=(1.”屏幕显示:Place=7对第2部分,如键盘输入12ABCDE# 3456789143!Y(

3、78=(1.回车输出结果:Letter=6Digit=15Other=9Place=93、分析与体会本次实验我花了较长的时间来完成。初略的程序花了5个多小时完成。后来遇到转换为十进制的时候就卡住了。后来在第六周周三的时候听了课以后才会做。RTCrpUDGiT第一个代码很长,有340多行代码。其实核心代码不多。主要是每一次转换为16进制以及10进制的时候,重复了相同的代码。还有换行也重复了几次。5PCzVD7HxA第二个代码不同的是自己输入字符。我自学了子程序。然后把转换为10进制和输出换行设置成了子程序。精简了代码。jLBHrnAILg4、代码键盘输入字符串,分类统计 STACKS SEGME

4、NT STACK DW 128 DUP(? STACKS ENDS DATAS SEGMENT STRING DB 100 DUP(? NUM DW ? STR1 DB Letter=$ STR2 DB Digit=$ STR3 DB Other=$ STR4 DB Place=$ DIGIT DW 0 OTHER DW 0 LETTER DW 0 PLACE DW ? FLAG DW 0 DATAS ENDS CODES SEGMENT MAIN PROC FAR ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX MOV SI,0

5、INPUT: MOV AH,1 INT 21H 。输入一个字符,存到AL CMP AL,0DH 。判断是否是回车 JE NEXT0 。是回车输入就结束 MOV STRINGSI,AL INC SI JMP INPUT NEXT0: MOV NUM,SI MOV BX,NUM LEA SI,STRING NEXT: MOV AL,SI CMP AL,30H JB COTHER 。小于 30H 是其他字符 CMP AL,3AH JBE CDIGIT 。30H-3AH 是数字 CMP AL,41H JB COTHER 。 3AH-40H是其他字符 CMP AL,5AH JBE CLETTER 。 4

6、1H-5AH是大写字母 CMP AL,61H JB COTHER 。5BH-60H是其他字符 CMP AL,7AH JBE CLETTER 。61H-7AH是小写字母 。大于 7AH 是其他字符 COTHER: INC OTHER JMP P2 CDIGIT: INC DIGIT JMP P2 CLETTER: INC LETTER JMP P2 P2: DEC BX JZ OUTPUT INC SI JMP NEXT OUTPUT: CALL PRIENTER MOV AH, 9 。letter MOV DX, SEG STR1 MOV DS, DX MOV DX, OFFSET STR1

7、INT 21H MOV BX,LETTER CALL TOTEN 。调用转换为十进制的子程序 CALL PRIENTER 。调用换行 MOV AH, 9 。digit MOV DX, SEG STR2 MOV DS, DX MOV DX, OFFSET STR2 INT 21H MOV BX,DIGIT CALL TOTEN CALL PRIENTER MOV AH, 9 。other MOV DX, SEG STR3 MOV DS, DX MOV DX, OFFSET STR3 INT 21H MOV BX,OTHER CALL TOTEN CALL PRIENTER MOV AH, 9 。

8、space MOV DX, SEG STR4 MOV DS, DX MOV DX, OFFSET STR4 INT 21H MOV BX,NUM 。找第一个空格的位置 LEA SI,STRING AGAIN: MOV AL,20H CMP AL,SI JE P1 DEC BX JZ OVER INC SI JMP AGAIN OVER: MOV PLACE,4EH 。4EH 为 N ,找不到输出 N MOV DX,PLACE MOV AH,2 INT 21H JMP EXIT 。退出 结束 P1: INC SI 。下标与位置的转换 ,需加 1 MOV PLACE,SI MOV BX,PLACE

9、 CALL TOTEN CALL PRIENTER JMP EXIT。十进制输出的子程序,小于十六位二进制的数可以输出。原理是把原数除10000,取值,余数除1000,取值,再次得到的余数。除100,取值,再将余数除10,取值,取余 TOTEN PROC NEAR CMP BX,0 JG P111 MOV DL,30H MOV AH,2 INT 21H JMP RETURN P111: MOV FLAG,0 MOV DI,10000 P15: MOV DX,0 MOV AX,BX DIV DI MOV BX,DX MOV DL,AL CMP DL,0 JE P101 MOV FLAG,1 P1

10、02: ADD DL,30H MOV AH,2 INT 21H P16: MOV AX,DI MOV DX,0 MOV CX,10 DIV CX MOV DI,AX CMP DI,0 JG P15 JMP RETURN P101: CMP FLAG,0 JE P16 JMP P102 RETURN: RET TOTEN ENDP PRIENTER PROC NEAR 。回车换行 MOV DL,0DH MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21H RET PRIENTER ENDP EXIT: MOV AX,4C00H INT 21H MAIN ENDP CODES ENDS END START申明:所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。

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

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