1235.Visual Masm 集成开发工具的设计.doc
《1235.Visual Masm 集成开发工具的设计.doc》由会员分享,可在线阅读,更多相关《1235.Visual Masm 集成开发工具的设计.doc(6页珍藏版)》请在三一办公上搜索。
1、Visual Masm 集成开发工具的设计-调试器模块的设计与实现摘要:本设计主要完成了16位汇编语言程序的集成开发环境Visual Masm的开发,改善现有的各种汇编程序开发环境并增加它们所不具有的功能。本文主要介绍了编译、调试两个功能部分,实现汇编代码的编译、链接、调试等功能,并提供友好的用户界面,为汇编语言的编译、链接、调试提供了可视化的开发环境,并详细介绍了管道管理模块、调试模块、寄存器管理模块。关键词: 汇编 调试器 管道 重定向Design and Realization of Debugger in Visual Masm Integrated Development Envir
2、onment Abstract: This thesis describes the design and realization of debugger in Visual Masm integrated development environment (IDE) for 16 bits assembly programming language, it improves the current existing IDE for assembly language and add some new feature. The Visual Masm IDE introduces two cor
3、e modules, compiler and linker. It provides the functions of compiling, linking and debugging the assembly program, with a friendly user interface, such as the automatic locating of source code with errors. The system described in this thesis was designed for providing a visual integrated developmen
4、t environment for the compiling, linking and debugging of assembly program, and try to describe the detail of the pipe management module, debugging module and registers management module.Key words: assembly language; debugger; pipe; redirection1 前言汇编语言是一种低级语言,它具有直接操纵硬件的能力,一直以来在底层开发应用得比较多,比如说在单片机、板卡驱
5、动程序、系统内核等领域。由于汇编语言与具体的机器指令有关,能直接操作硬件(例如:寄存器、端口、内存),而且没有结构化的控制语句,使得汇编语言难学难懂,用汇编语言来开发软件更难。传统的汇编语言开发工具一般是用一般的编辑工具,如:记事本、Edit等文本编辑工具来编写源文件,再在Dos下编译、连接成一个可执行文件。或者用Masm 6.0来开发汇编语言程序。在这两种开发方式中,程序员要负责每一行代码的编写,工作量大又容易出错。这也是每一个汇编语言初学者惧怕汇编语言的一个方面。长期以来汇编语言被认为是一门枯燥难学的语言,在入门时需要记忆大量的指令,而且往往需要对硬件的组成和运行机制有所了解,由于直接与系
6、统底层打交道,要实现的每一部分功能都必须由程序员完全负责实现,哪怕是在高级语言里面看来是一行代码即可实现的最简单的一条语句,到了汇编语言则往往变成需要靠多行指令来完成。要解决这种问题,需要一个优秀的IDE(集成开发环境)来提高使用汇编语言学习和开发软件的效率。Visual Masm是一个集编辑,编译(masm),连接(link),调试(debug)于一体;具有自动初始化代码能力,并提供一些常见操作的开发包,可以自动产生常见操作的汇编语言代码;拥有智能化的编辑环境;具有关键字高亮功能,并可标记行数,记行报错,提供的可视化的调试界面。2相关技术2.1 多线程编程技术多线程在各种流行的操作系统中都有
7、实现,是一种是用来实现多种操作的并发执行的机制,它是操作系统代码的运行环境中的最小执行单位,每个进程都必须至少有一个线程,多线程编程在系统编程中属于较为复杂的技术,它涉及到对线程的控制问题。在本次设计中,必须运用多线程编程技术来配合管道技术实现调试模块的功能。2.2 管道的使用要达到捕获其他程序的输出(标准输出stdout、标准错误输出stderr)和向其输入(标准输入stdin)的目的,实际上就是要实现进程间的信息交换,进程之间互相交换信息的工作称之为通信IPC(Inter Process Communication)。管道是用于进程间通信的一段共享内存,创建管道的进程称为管道服务端(Ser
8、ver),而连接这个管道的进程则称为管道客户端(Client)。事实上,和我们日常生活中的水管类似,管道这一术语非常形象地描绘了它在概念上的特征:通常它具有两端,用以连接两个进程;其中一个进程向管道写入数据,另外一个进程则从管道中读取数据。共享文件(数据)进程A写进程B读图1 管道的通信机制2.3进程的控制由于需要引用别的程序(MASM汇编器、链接器、debug)来实现编译链接功能和调试功能,那么在通过管道来重定向他们的输入输出之前必须要先解决一个问题:那就是先让这些程序运行起来,此外为了便于控制,也必须要将它们作为程序的一个子进程来创建,只有这样才能用管道将子进程和用户的程序连接起来,并且能
9、有效管理子进程,给用户提供了在执行操作的过程中取消操作的机会。3 系统设计3.1 系统架构整个系统的架构如下图所示:图2 整体系统架构Visual Masm开发工具具有三大模块:编辑器、编译链接、调试器。其中有很大一部分工作在底层是依靠外部程序来完成的。编译程序使用masm.exe,链接程序使用link.exe,调试程序使用debug.exe。这些外部程序并非特别为本系统而设计,需要对它们进行进一步的封装,使它们能融入Visual Masm开发工具。3.2 调用外部程序实现编译/链接/调试在Windows系列操作系统下,控制台程序可使用系统提供的IO库来实现对硬件设备的流式输入/输出,程序员可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1235.Visual Masm 集成开发工具的设计 1235. Visual 集成 开发 工具 设计

链接地址:https://www.31ppt.com/p-2389696.html