欢迎来到天天文库
浏览记录
ID:6663805
大小:109.50 KB
页数:6页
时间:2018-01-21
《1235.visual masm 集成开发工具的设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、VisualMasm集成开发工具的设计--调试器模块的设计与实现摘要:本设计主要完成了16位汇编语言程序的集成开发环境VisualMasm的开发,改善现有的各种汇编程序开发环境并增加它们所不具有的功能。本文主要介绍了编译、调试两个功能部分,实现汇编代码的编译、链接、调试等功能,并提供友好的用户界面,为汇编语言的编译、链接、调试提供了可视化的开发环境,并详细介绍了管道管理模块、调试模块、寄存器管理模块。关键词:汇编调试器管道重定向DesignandRealizationofDebuggerinVisualMasmInte
2、gratedDevelopmentEnvironmentAbstract:ThisthesisdescribesthedesignandrealizationofdebuggerinVisualMasmintegrateddevelopmentenvironment(IDE)for16bits'assemblyprogramminglanguage,itimprovesthecurrentexistingIDEforassemblylanguageandaddsomenewfeature.TheVisualMasmIDEi
3、ntroducestwocoremodules,compilerandlinker.Itprovidesthefunctionsofcompiling,linkinganddebuggingtheassemblyprogram,withafriendlyuserinterface,suchastheautomaticlocatingofsourcecodewitherrors.Thesystemdescribedinthisthesiswasdesignedforprovidingavisualintegrateddeve
4、lopmentenvironmentforthecompiling,linkinganddebuggingofassemblyprogram,andtrytodescribethedetailofthepipemanagementmodule,debuggingmoduleandregistersmanagementmodule.Keywords:assemblylanguage;debugger;pipe;redirection1前言汇编语言是一种低级语言,它具有直接操纵硬件的能力,一直以来在底层开发应用得比较多,比如说
5、在单片机、板卡驱动程序、系统内核等领域。由于汇编语言与具体的机器指令有关,能直接操作硬件(例如:寄存器、端口、内存),而且没有结构化的控制语句,使得汇编语言难学难懂,用汇编语言来开发软件更难。传统的汇编语言开发工具一般是用一般的编辑工具,如:记事本、Edit等文本编辑工具来编写源文件,再在Dos下编译、连接成一个可执行文件。或者用Masm6.0来开发汇编语言程序。在这两种开发方式中,程序员要负责每一行代码的编写,工作量大又容易出错。这也是每一个汇编语言初学者惧怕汇编语言的一个方面。长期以来汇编语言被认为是一门枯燥难学的语言
6、,在入门时需要记忆大量的指令,而且往往需要对硬件的组成和运行机制有所了解,由于直接与系统底层打交道,要实现的每一部分功能都必须由程序员完全负责实现,哪怕是在高级语言里面看来是一行代码即可实现的最简单的一条语句,到了汇编语言则往往变成需要靠多行指令来完成。要解决这种问题,需要一个优秀的IDE(集成开发环境)来提高使用汇编语言学习和开发软件的效率。VisualMasm是一个集编辑,编译(masm),连接(link),调试(debug)于一体;具有自动初始化代码能力,并提供一些常见操作的开发包,可以自动产生常见操作的汇编语言代码
7、;拥有智能化的编辑环境;具有关键字高亮功能,并可标记行数,记行报错,提供的可视化的调试界面。2相关技术2.1多线程编程技术6多线程在各种流行的操作系统中都有实现,是一种是用来实现多种操作的并发执行的机制,它是操作系统代码的运行环境中的最小执行单位,每个进程都必须至少有一个线程,多线程编程在系统编程中属于较为复杂的技术,它涉及到对线程的控制问题。在本次设计中,必须运用多线程编程技术来配合管道技术实现调试模块的功能。2.2管道的使用要达到捕获其他程序的输出(标准输出stdout、标准错误输出stderr)和向其输入(标准输入s
8、tdin)的目的,实际上就是要实现进程间的信息交换,进程之间互相交换信息的工作称之为通信IPC(InterProcessCommunication)。管道是用于进程间通信的一段共享内存,创建管道的进程称为管道服务端(Server),而连接这个管道的进程则称为管道客户端(Client)。事实上,和我们日常
此文档下载收益归作者所有