版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与汇编技术课程设计(论文)查找字符串中的指定字符程序设计 院(系)名称 专业班级 学号 学生姓名 指导教师起 止 时 间: 2015.12.212015.12.31课程设计(论文)任务及评语院(系): 教研室: 学 号学生姓名专业班级课程设计(论文)题目查找字符串中的指定字符程序设计课程设计(论文)任务设计内容设计一个程序,能够按要求查找字符串中的字符并按要求显示。性能指标及技术要求1、设计一个操作界面,提示操作,如:输入一串字符串、输入所查找的字符或字符串等;2、显示出查找到的数目;3、用不同颜色或闪烁标示出所找到的字符或字符串。指导教师评语及成绩平时成绩: 答辩成绩: 论文成绩:
2、总成绩: 指导教师签字: 年 月 日注:平时成绩占20%,答辩成绩占40%,论文成绩占40%。摘 要汇编语言(Assembly Language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。汇编语言是直接面向处理器的程序设计语言。处理器是在指令的控制下工作的,处理器可以识别的每一条指令称为机器指令。每一种处理
3、器都有自己可以识别的一整套指令,称为指令集。处理器执行指令时,根据不同的指令采取不同的动作,完成不同的功能,既可以改变自己内部的工作状态,也能控制其它外围电路的工作状态。汇编语言所操作的对象不是具体的数据,而是寄存器或者存储器,也就是说它是直接和寄存器和存储器打交道,这也是为什么汇编语言的执行速度要比其它语言快,但同时这也使编程更加复杂,因为既然数据是存放在寄存器或存储器中,那么必然就存在着寻址方式,也就是用什么方法找到所需要的数据。汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实
4、时运行程序都需要汇编语言。关键词:汇编语言;机器指令;寄存器;存储器 目 录第1章 前言11.1背景11.2基本功能要求1第2章 程序设计22.1题目的基本内容22.2总体流程图22.3详细说明32.4 主要程序段及其设计分析32.5 运行结果8第3章 课程设计总结10参考文献11附录12第1章 前言1.1背景信息检索是指根据一定的策略、运用特定的计算机程序从互联网上或指定文件中搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。信息检索是获取知识、信息的基本手段。如何有效、快速、准确地在信息海洋中找到人们所需要的信息,使之成为重要资源,已是信息时代人
5、们的重要需求,因而,信息检索技术在信息社会中将发挥越来越重要的作用。主要体现在以下几个方面: 第一,能够全面地掌握有关的必要信息,增强决策的科学性。掌握一定量的必要信息,是进行研究、搞好工作的首要条件,也是进行正确决策必不可少的前提条件。科学的决策,源于对信息资料的充分了解与认识,信息检索是国家、部门、单位和个人等决策者获取信息的重要途径。因此,信息检索会使国家、部门、单位和个人的决策建立在科学基础之上,大大增加了决策的科学性,减少了决策的盲目性。第二,提高信息利用的效率,缩短获取信息的时间。信息检索可以使用户在短时间内获取有需求紧密相关的信息,使用户有更多的时间去完成更重要的工作,从而大大提
6、高了工作效率。第三,有利于信息用户获取所需的全部信息。信息检索工作往往依存于一个或多个很大的信息库,信息库中存储着很全面的各种信息。通过信息检索工作,一次就可查获信息用户所需要的全部信息。1.2基本功能要求设计一个程序,能够按要求查找字符串中的字符并按要求显示。(1)设计一个操作界面,提示操作,如:输入一串字符串等;(2)显示出查找到的数目;(3)用不同颜色或闪烁标示出所找到的字符或字符串。第2章 程序设计2.1题目的基本内容任务要求:设计一个程序,能够按要求查找字符串中的字符并按要求显示。 技术要求:(1)设计一个操作界面,提示操作,如:输入一串字符串等;(2)显示出查找到的数目;(3)用不
7、同颜色或闪烁标示出所找到的字符或字符串。2.2总体流程图开始定义段设置显示器设置光标位置键盘输入字符串结束?清屏结束5?1?是否2.3详细说明通过字符串比较查找字符串,并在查找过程中计数并作为光标的偏移量,以光标偏移量控制变色位置。程序开始,设置操作窗口,设置光标位置,通过键盘选择确定功能“退出”或“查找字符串”,选择“1”时,进入“查找字符串”模块,选择“5”时,直接退出程序。2.4 主要程序段及其设计分析段定义:STACK SEGMENT STACKDB 256 DUP (?)TOP LABEL WORDSTACK ENDSDATA SEGMENT ;定义数据段TABLE DW G1,G5
8、STRING1 DB '1.Find the specified character string',0DH,0AH,'$'STRING5 DB '5.Exit',0DH,0AH,'$'STRINGN DB 'Input the number you select(1 OR 5):$'INF1 DB 0DH,0AH,'please input string:$'INF2 DB 0DH,0AH,0DH,0AH,'please input a word:$'INF3 DB 0DH,0AH
9、,0DH,0AH,'result:$'BUFF DB 255DB ?DB 255 DUP(?)OVER DB 1DB ?DB 1 DUP(?)DATA ENDSCODE SEGMENT ;定义代码段ASSUME DS:DATA,CS:CODE功能选择模块:BEGIN:MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV SP,OFFSET TOPMAIN: CALL FAR PTR MENU ;设置显示器AGAIN0:MOV AH,2MOV BH,0 ;页号MOV DL,41 ;列号MOV DH,10 ;行号INT 10H ;光标位置设置MO
10、V AH,1INT 21HCMP AL,'1'JB AGAIN0CMP AL,'5'JA AGAIN0SUB AL,'1' ;N-1SHL AL,1 ;(N-1)*2CBW ;AL->AXLEA BX,TABLEADD BX,AXJMP WORD PTR BXG1:CALL FAR PTR CHGLTRMOV AH,8INT 21HCMP AL,1BHJZ MAINJMP G1G5:MOV AH,4CHINT 21HMENU PROC FAR ;显示主界面;设置显示方式MOV AH,0MOV AL,3MOV BL,0INT 10H ;清屏M
11、OV AH,2MOV BH,0 ;页号MOV DL,5 ;列号MOV DH,5 ;行号INT 10H ;光标位置设置MOV AH,9LEA DX,STRING1INT 21HMOV AH,2MOV DL,5 ;列号MOV DH,6 ;行号INT 10H ;光标位置设置MOV AH,9LEA DX,STRING5INT 21HMOV AH,2MOV DL,5 ;列号MOV DH,10 ;行号INT 10H ;光标位置设置MOV AH,9LEA DX,STRINGNINT 21HRETMENU ENDP清屏:MOV AH,0MOV AL,3MOV BL,0INT 10H ;清屏输入字符:LEA D
12、X,INF1 ;提示输入字符串MOV AH,9INT 21HLEA DX,BUFF ;从键盘输入字符串,按Enter结束MOV AH,0AHINT 21HLEA DX,INF2 ;提示输入查询字符MOV AH,9INT 21HLEA DX,OVERMOV AH,1 ;从键盘输入查询字符INT 21H查找字符并计数:MOV CL,BUFF+1 ;字符总数XOR CH,CHLEA SI,BUFF+2 ;字符串首地址XOR DH,DHXOR BX,BX ;取字符串的字符与查询字符循环比较AGAIN:CMP AL,SIJNZ NEXTINC BL ;查询结果个位放在BLCALL DISPCMP BL,
13、0AHJNZ NEXTINC BH ;查询结果十位放在BHCALL DISPXOR BL,BLCMP BH,0AHJNZ NEXTINC DH ;查询结果百位放在DHCALL DISPXOR BH,BHNEXT: INC SILOOP AGAINMOV CH,DHLEA DX,OVER ;按Enter结束查询字符的输入MOV AH,0AHINT 21HLEA DX,INF3 ;提示输出结果MOV AH,9INT 21HXOR CL,CLCMP CH,CLJZ ER ;若输出结果为两位,则不显示百位MOV DL,CHADD DL,30H ;百位转成ASCII码MOV AH,2 ;输出百位INT
14、21HJNZ SAN ;但结果为三位数跳转ER: CMP BH,CLJZ YI ;结果为一位数,则十位为0SAN: MOV DL,BHADD DL,30H ;十位转成ASCII码MOV AH,2 ;输出十位INT 21HYI: MOV DL,BLADD DL,30H ;个位转成ASCII码MOV AH,2 ;输出个位INT 21HLEA DX,OVER ;按Enter继续MOV AH,0AHINT 21HMOV AH,4CHINT 21H变色程序:DLY_QRTR PROC NEAR ;延时程序PUSH CXPUSH DXMOV DX,60000D11: MOV CX,4000D12: LOO
15、P D12DEC DXJNZ D11POP DXPOP CXRETDLY_QRTR ENDPDISP PROC NEAR ;变色程序PUSH AX ;保护现场PUSH BXPUSH CXPUSH DXPUSH DIPUSH SIMOV BH,0MOV DH,0MOV AL,BUFF+1 ;字符串总长度ADD AL,100SUB AL,CLMOV DL,AL ;变色MOV AH,03INT 10HMOV AL,SIMOV BL,20MOV CX,1MOV AH,09INT 10HCALL DLY_QRTR ;调用延时程序POP SIPOP DI ;恢复现场POP DXPOP CXPOP BXPO
16、P AXRETDISP ENDPCHGLTR ENDPCODE ENDSEND BEGIN退出程序:MOV AH,4CHINT 21H2.5 运行结果图2.1 功能选择界面图2.2 查找到结果界面图2.3 未查找到结果界面第3章 课程设计总结通过本次课程设计,让我更加深刻地理解了课本知识,对以往疏忽的知识得到了补充,加深了对一些概念和专业术语的理解程度。在课程设计中遇到了很多问题,都过查找资料一一得以解决,我相信这本书中还有很多我没有搞清楚的问题,但是这次的课程设计及给了我相当扎实的基础知识,为我以后工作打下了坚实的基础。虽然这次课程设计是那么短暂的两周时间,但我感觉这些天我的所学胜过我这一学
17、期所学,让我对课本知识得到了熟悉和应用,是我做事的耐心和仔细程度得以提高。课程设计是培训学生运用本专业所学的理论知识和专业知识来分析解决实际问题的重要教学环节,是对所学知识的复习和巩固。同样,也促进了同学们的相互探讨、相互学习。因此,我们必须认真、谨慎、踏实、一步一步的完成设计。课程设计是一个重要的教学环节,通过课程设计使我们了解到一些实际与理论之间的差异。通过课程设计不仅可以巩固专业知识,为以后的工作打下坚实的基础,而且还可以培养和熟练使用资料,运用工具书的能力,把我们所学的课本知识与实践结合起来,起到温故而知新的作用。在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂
18、得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。只有在不断的尝试中,经历失败,从失败中总结经验,然后再不断的尝试,才能获得成功。 本人签字:参考文献1 周杰英,张萍等编著.微机原理、汇编语言与接口技术.北京:人民邮电出版社,20112 沈美明,温冬婵.IBM-PC汇编语言程序设计.北京:清华大学出版社,20123 钱晓捷.基于Windows环境的汇编语言程序设计.北京:清华大学出版社,20124 Peter Abel. IBM-PC汇编语言程序设计.北京:人民邮电出版社,20025 傅德胜,孙文静.高级汇编语言程序设计及应用.南京:东南大学出版社,2
19、009附录源程序代码STACK SEGMENT STACKDB 256 DUP (?)TOP LABEL WORDSTACK ENDSDATA SEGMENT ;定义数据段TABLE DW G1,G5STRING1 DB '1.Find the specified character string',0DH,0AH,'$'STRING5 DB '5.Exit',0DH,0AH,'$'STRINGN DB 'Input the number you select(1 OR 5):$'INF1 DB 0DH,0AH,&
20、#39;please input string:$'INF2 DB 0DH,0AH,0DH,0AH,'please input a word:$'INF3 DB 0DH,0AH,0DH,0AH,'result:$'BUFF DB 255DB ?DB 255 DUP(?)OVER DB 1DB ?DB 1 DUP(?)DATA ENDSCODE SEGMENT ;定义代码段ASSUME DS:DATA,CS:CODEBEGIN:MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV SP,OFFSET TOPMAIN: C
21、ALL FAR PTR MENU ;设置显示器AGAIN0:MOV AH,2MOV BH,0 ;页号MOV DL,41 ;列号MOV DH,10 ;行号INT 10H ;光标位置设置MOV AH,1INT 21HCMP AL,'1'JB AGAIN0CMP AL,'5'JA AGAIN0SUB AL,'1' ;N-1SHL AL,1 ;(N-1)*2CBW ;AL->AXLEA BX,TABLEADD BX,AXJMP WORD PTR BXG1:CALL FAR PTR CHGLTRMOV AH,8INT 21HCMP AL,1BHJZ
22、MAINJMP G1G5:MOV AH,4CHINT 21HMENU PROC FAR ;显示主界面;设置显示方式MOV AH,0MOV AL,3MOV BL,0INT 10H ;清屏MOV AH,2MOV BH,0 ;页号MOV DL,5 ;列号MOV DH,5 ;行号INT 10H ;光标位置设置MOV AH,9LEA DX,STRING1INT 21HMOV AH,2MOV DL,5 ;列号MOV DH,6 ;行号INT 10H ;光标位置设置MOV AH,9LEA DX,STRING5INT 21HMOV AH,2MOV DL,5 ;列号MOV DH,10 ;行号INT 10H ;光标
23、位置设置MOV AH,9LEA DX,STRINGNINT 21HRETMENU ENDPCHGLTR PROC FARMOV AH,0MOV AL,3MOV BL,0INT 10H ;清屏LEA DX,INF1 ;提示输入字符串MOV AH,9INT 21HLEA DX,BUFF ;从键盘输入字符串,按Enter结束MOV AH,0AHINT 21HLEA DX,INF2 ;提示输入查询字符MOV AH,9INT 21HLEA DX,OVERMOV AH,1 ;从键盘输入查询字符INT 21HMOV CL,BUFF+1 ;字符总数XOR CH,CHLEA SI,BUFF+2 ;字符串首地址XOR DH,DHXOR BX,BX ;取字符串的字符与查询字符循环比较AGAIN:CMP AL,SIJNZ NEXTINC BL ;查询结果个位放在BLCALL DISPCMP BL,0AHJNZ NEXTINC BH ;查询结果十位放在BHCALL DISPXOR BL,BLCMP BH,0AHJNZ NEXTINC DH ;查询结果百位放在DHCALL DISPXOR BH,BHNEXT: INC SILOOP AGAINMOV CH,DHLEA DX,OVER ;按E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度生态公园车位租赁与休闲娱乐服务协议4篇
- 2025年度艺术品代理合同终止及展览策划协议4篇
- 二零二五版跨行业企业战略合作保密及数据共享协议3篇
- 离婚2025年度子女监护权变更合同3篇
- 2025年农业大棚租赁与农产品质量安全检测服务协议4篇
- 2025年度园林景观虫害防治与植物保护合同4篇
- 家庭中医急救技能普及工作汇报
- 现代家庭教育的新篇章-从理论到操作的全面解读与实践探索
- 探索创新型康复治疗在医疗教育中的价值
- 科技小能手的培养计划观察与思考的融合
- 三级人工智能训练师(高级)职业技能等级认定考试题及答案
- 华为全屋智能试题
- 第三单元名著导读《经典常谈》知识清单 统编版语文八年级下册
- 第十七章-阿法芙·I·梅勒斯的转变理论
- 焊接机器人在汽车制造中应用案例分析报告
- 合成生物学在生物技术中的应用
- 中医门诊病历
- 广西华银铝业财务分析报告
- 无违法犯罪记录证明申请表(个人)
- 大学生劳动教育PPT完整全套教学课件
- 继电保护原理应用及配置课件
评论
0/150
提交评论