已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机原理与汇编语言设计报告题 目: 用汇编语言编写一个程序,在屏幕上接收一串带数字、字母及其它字符的字符串,然后统计其中数字、字母、单词的个数,并显示出来 专 业: 物联网工程 班 级: 学 号: 姓 名: 指导教师: 日 期: 2014年3月11日 目录1 课程设计的题目课程设计题目:用汇编语言编写一个程序,在屏幕上接收一串带数字、字母及其它字符的字符串,然后统计其中数字、字母、单词的个数,并显示出来2 设计目的设计目的:学习用汇编语言编写设计分支循环程序3 设计思路设计思路:通过循环比较输入的值,最后显示出相应十进制的比较结果。解决方案:分支循环4 设计原理设计原理:通过分支程序设计实现字母、数字及其它字符的分类统计计数。5 设计内容具体内容(1) 定义数据结构单个字符的输入、字符串的输出、结果数字的输出。分类主要是数字:09,字母AZ 和az ,其它。对应的ASCII码为 30H39H, 41H5AH, 61H7AH,.(2) 程序实现start: MOV AX,DATAS MOV DS,AX LEA DX,STRING1 ;显示输入提示信息Please input a string,LEA取指功能实现。 MOV AH,09H ;09H为字符串输出 INT 21H ;中断调用,INT 21H 中断为DOS中断 MOV CX,100 ;设置循环次数足够大,CX用来保存循环指令 L1:MOV AH,01H ;中断调用,单字符输入,01H带回显的键盘输入, INT 21H ;输入符号的ASCII代码在AL寄存器中。(3) 程序要求程序接受用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),并按字母、数字及其它字符分类计数,然后将结果存入以letter、digit和other为名的存储单元中6 实现步骤1. 实现步骤:先输入任意的字符、数字、其他。之后按Enter键,分别显示出输入字符的数量、数字的数量、其他的数量,都按十进制显示出来。2. 程序代码: DATAS SEGMENT STRING1 DBPlease input a string:$ ;输入提示信息 STRING2 DBNumber of chars:$ ;各类字符提示信息 STRING3 DBNumber of digits:$ STRING4 DBNumber of others:$ CHARS DB 0 ;字母 DIGIT DB 0 ;数字 OTHERS DB 0 ;其他DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSstart: MOV AX,DATAS MOV DS,AX LEA DX,STRING1 ;显示输入提示信息Please input a string,LEA取指功能实现。 MOV AH,09H ;09H为字符串输出 INT 21H ;中断调用,INT 21H 中断为DOS中断 MOV CX,100 ;设置循环次数足够大,CX用来保存循环指令 L1:MOV AH,01H ;中断调用,单字符输入,01H带回显的键盘输入, INT 21H ;输入符号的ASCII代码在AL寄存器中。 CMP AL,0DH ;若输入回车符则结束,CMP比较指令。 如果为数字:30H-39H JZ OVER2 ;JZ条件转移指令,根据ZF进位转移 CMP AL,30H ;若39H(9),跳转进一步比较 JA HIGHER1 ;JA条件转移指令。为高于/不低于指令。 JMP DIGITAL ;DIGIT+,JMP无条件转移指令, HIGHER1:CMP AL,41H ;若IF5AH(Z),跳转继续比较 JA HIGHER2 JMP CHAR ;ALPHAU+ HIGHER2:CMP AL,61H ;若IF7AH(z),OTHERS+ JA OTHER JMP CHAR ;ALPHAU+ JMP OVER ;比较结束 OTHER: INC OTHERS ;OTHERS+ 如果不满足以上三个条件的就按照其他字符个数直接输出 JMP OVER ;比较结束CHAR: INC CHARS ;ALPHAL+ JMP OVER ;比较结束DIGITAL:INC DIGIT ;DIGIT+ JMP OVER ;比较结束 JMP OVER ;比较结束 OVER:NOPLOOP L1 ;循环,输入下一字符OVER2:CALL ENDLINE ;回车换行 LEA DX,STRING2 ;字符串的输出Number of chars MOV AH,09H ;09H为字符串输出 INT 21H ;中断调用,INT 21H 中断为DOS中断 XOR AX,AX MOV AL,CHARS ;将统计的数字送AX CALL DISPLAY ;调用输出两位数字的子程序 CALL ENDLINE LEA DX,STRING3 ;字符串的输出Number of digits MOV AH,09H ;09H为字符串输出 INT 21H ;中断调用,INT 21H 中断为DOS中断 XOR AX,AX MOV AL,DIGIT ;将统计的数字送AX CALL DISPLAY ;调用输出两位数字的子程序 CALL ENDLINE LEA DX,STRING4 ;字符串的输出Number of others MOV AH,09H ;09H为字符串输出 INT 21H XOR AX,AX MOV AL,OTHERS ;将统计的数字送AX CALL DISPLAY ;调用输出两位数字的子程序 MOV AH,4CH ; 4CH带返回码结束 INT 21H ENDLINE PROC NEAR;控制输出格式,输出回车换行子程序 MOV AH,02H MOV DL,0AH ;0AH键盘输入至缓冲区 INT 21H ;输出换行符 MOV AH,02H MOV DL,0DH ;0DH键盘复位。 INT 21H ;输出回车符 RET ENDLINE ENDP DISPLAY PROC NEAR;输出两位数字的子程序(输出两位数字为十进制) MOV BL,10 DIV BL ;AX/BL,AL=商,AH余数 PUSH AX ;保存AX中的信息 MOV DL,AL ADD DL,30H MOV AH,02H ;显示一个字符 INT 21H ;输出十位数 POP AX ;出栈送AX MOV DL,AH ADD DL,30H MOV AH,02H ;显示一个字符 INT 21H ;输出个位数 RET DISPLAY ENDP CODES ENDS END START7 最终结果显示 结果显示:八总结 通过对本次汇编语言的课程设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育科研方法十年期末考试简答题题库(分学期版)
- 我设计的服装 教学设计
- 2025 年大学管理心理学(领导心理)试题及答案
- 新版江苏银行ai面试题库大全及答案
- 新闻记者专业技术水平考核试题及答案
- 晋中师范高等专科学校教师招聘考试笔试试题及答案
- 月嫂证的理论试题及答案
- 机关工会考试试题及答案
- 产科危重抢救应急预案(3篇)
- 2025年金融年终工作总结样本(5篇)
- BIM-建筑信息模型
- GB/T 22415-2008起重机对试验载荷的要求
- 火力发电工程建设标准强制性条文执行表格锅炉分册
- 中国地质大学武汉软件工程专业学位研究生实践手册
- 《投资银行》或《资本运营》风险投资业务课件
- DBJ50T-163-2021 既有公共建筑绿色改造技术标准 清晰正式版
- 低阶煤、褐煤干法制备气化用高浓度水煤浆技术
- GB∕T 37458-2019 城郊干道交通安全评价指南
- 盘锦浩业芳烃抽提装置操作规程
- DB33_T 2301-2020番茄水肥一体化技术规程(高清正版)
- 路面病害处理专项施工组织方案
评论
0/150
提交评论