微机原理实验.docxVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理实验 1、实验目的: 应用学过的汇编语言编写简单程序,将汇编语言在编程中实际应用。 掌握汇编语言的编辑、汇编、连接、调试等基本方法。 灵活应用各种语句实现要求的程序功能。 在实验中进一步掌握并熟练应用汇编语言,理解常用指令、伪指令及存储空间分配等 2、实验内容: 从键盘取得一串字符显示在屏幕上,然后将这串字符以输入的反序再显示一遍,并统计这字符串中 ‘A’的个数,显示在屏幕上。 附加要求:可以从键盘输入需要统计的字符,并统计这字符串中这个字符的个数,显示在屏幕上。 3、流程图: 设置循环次数 CX 为输入 设置循环次数 CX 为输入的字 符个数 设置 CX 循环次数即字符串的字符数 指针指向第一个字符 开 始 输出提示“输入字符串” ‘SHU RU ZI FU CHUAN ’ 输入字符串 输出提示“反转后字符” ‘FAN ZHUAN HOU ZI FU ’ 输入要查找的字符 CX=0? 和输入字符比较是否相同 是 指向下一个字符 否 4、实验程序: DATAS SEGMENT PASS DB 20 ;预留 20 个字节的空间存放输入的字符 BLK1 DB SHU RU ZI FU CHUAN: $ ;在屏幕上要显示的提示语句 BLK2 DB SHU RU ZI FU : $ BLK3 DB SHU LIANG SHI: $ BLK4 DB FAN ZHUAN HOU: $ DATAS ENDS ;********以上是数据段定义,下面开始代码段************ CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX ;实现 ASSUME 中的承诺 ;**************************************************** MOV AH,09H ;字符串输出功能 09H LEA DX,BLK1 INT 21H ;**********显示第一句提示语************************* MOV AH,0AH ;字符串输入功能 0AH LEA DX,PASS INT 21H ;********以上完成字符串输入并显示出来*************** MOV AH,2 MOV DL,0DH INT 21H MOV DL,0AH INT 21H ;*********以上实现回车换行*************************** MOV AH,09H LEA DX,BLK4 INT 21H ;*******输出 BLK4 中定义的内容,提示为反转后字符串*************** MOV CL,PASS+1 ;PASS+1 处是实际输入的字符个数 MOV CH,0 ;CH 置 0,CX 为循环的次数也就是输入的字符个数 MOV DL,PASS+1 MOV DH,0 ;DX 同样是字符个数,用于后面的加法运算 LEA SI,PASS+2 ;PASS+2 处为实际输入字符的开始位置; ADD SI,DX ;用加法实现了将 SI 的指针指向了字符串的最后一个字符 S0: DEC SI ;SI 不断减 1,指针指向地址不断前移,也就反向了输出刚才输入的字符串 MOV AH,02H ;显示输出功能 02H MOV DL,[SI] ;输出指针所指向单元中的内容 INT 21H LOOP S0 ;**********以上用循实现了字符串的反转后输出功能*************** MOV AH,2 MOV DL,0DH INT 21H MOV DL,0AH INT 21H ;***********回车换行******************* MOV AH,09H LEA DX,BLK2 INT 21H ;**********显示提示语 BLK2 输入要查找的字符的提示语输出************************ MOV AH,01H ; 有回显的输入,显示的是输入的要查找字符 INT 21H MOV CL,PASS+1 XOR CH,CH LEA SI,PASS+2 XOR DL,DL ;和前面相同 CX 设置了循环次数,SI 指向第一个字符 S1: CMP AL,[SI] ;进行字符比较,是和 Al 比较,若相同则计数加 1,不同则比较下一个 JNZ NEXT INC DL ;DL 记录的是比较过程中相同的字符数 NEXT: INC SI ;指向下一个字符 1 ,DL ;DL 记录的数量给 BL 后面语句输出之前要用到 DL ;*******通过以上循环将所有字符比较一遍得到数量******************************* MOV AH,02H MOV DL,0

您可能关注的文档

文档评论(0)

xiaoluping2000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档