目 录摘 要 1Abstract 2前 言 3第一章 概述 41.1 开发背景 41.2 相关的同类软件分析 41.2 本设计任务与目标 51.3 本设计所做的工作 6第二章 8051的软硬件特性和编程接口 72.1 硬件特性 72.2 MCS-51指令系统 72.3 A51汇编语言 9第三章 软件系统模型的建立 113.1建立环境与平台说明 113.2 模型说明 113.2.1 静态模型 113.2.2 模拟器工作过程的总体描述 153.3 模型模块 16第四章 模拟器引擎的设计与实现 184.1 模拟器引擎的对外接口 184.2 硬件的软件模型 184.3 存储器 204.4 译码器的实现 21第五章 51反汇编器的实现 235.1反汇编器的接口与功能 235.2 反汇编器的工作流程实现 23第六章 总结与改进 28参考文献 30致 谢 31摘 要 当今,嵌入式计算机在各行各业得到了广泛应用,它是软件和硬件的结合体,具有软件代码小,高度自动化,响应速度快等特点。嵌入式系统是目前蓬勃发展的行业之一。但是嵌入式系统的特点使得其软件受到时间和空间的严格限制,由于运行环境的复杂,嵌入式软件在开发过程中的调试与模拟变得十分困难。本文从面向对象的开发方法和虚拟机的角度,以MCS-51指令集为基础,实现了虚拟的嵌入式计算机模型。着重从可扩展,可重用的方面特性考虑出发阐述了这一模拟器模型的分析与设计过程,并以C/C++在Win32平台上实现了这一模型。关键字:面向对象,MCS-51指令集,虚拟机模型,重用。 作 者:王正华 指导老师:王 辉Abstract Nowadays, embedded computers have been widely used in various industries and they are still currently in rapid evolution. Technically, as the combination of software and hardware components, embedded computers are well known for the size of their software code, and its immediate responses, However, the key features of Embedded systems makes software become time-and-memory-constrained. And further more, due to the complexity of the environment in which the software was developed to resident in, it becomes very difficult for embedded software developers to debug and simulate the software they are working on. This article is written to develop a virtual machine model of to micro controllers, it is designed through the Object-Oriented approach based on the MCS-51 Instruction set. During the process of analysis and designing the model focuses on the ability of changing and reusing. And finally a real version of the model is implemented on Windows Operating System.Written by Wang ZhenghuaSupervised by Wang HuiKeywords: Object-Oriented-Developing, MCS-51 Instruction Set, Virtual Machine Model, Reusing. 前 言计算机自问世以来,其发展日新月异。一方面向着高速,智能化的巨型机方向发展,另一方面向着微型机的方向发展。在微型机的大家族中单片微型计算机(单片机)异军突起发展迅速。然而近年来,由于嵌入式软件的规模越来越大,软件的复杂度越来越高,嵌入式软件在开发过程中所需要进行的模拟仿真和调试对软件的按期发布与质量保障所产生的影响越来越大。因而研究嵌入式软件的模拟与仿真,具有相当重要的意义。 对嵌入式软件的模拟仿真,是伴随着嵌入式系统软件的发展而发展 起来的。各大嵌入式产品提供商,均推出了与各自产品相对应的仿真环境。但是这些仿真环境一般需要用操纵复杂的软件系统和昂贵的硬件仿真设备结合,才能完成指定的仿真任务,而且它们往往只适用于某一系列的单片机芯片。对于在模拟过程中的通用部分往往是重复开发,难以实现不同系列的仿真环境的联合使用。 本论文依据在8051的指令系统的单片机模拟器设计与实现过程中所做的工作,讨论了用面向对象的方法设计与实现单片机模拟器的方法,并从可扩展的特性要求,和虚拟机的角度阐述了一个对指令系统开放的模拟器模型的设计与实现过程。最终采用MCS-51的指令系统在Win32环境下,用C/C++实现了这一模型。 本论文共分为六章,第一章概述,说明了本设计所需完成的任务及相关方面的工作。第二章简要地说明了51系列单片机的软件和硬件特性编程接口,和A51汇编语言。第三章详细地分析了模拟器虚拟机模型的结构,抽象层次和动态模型。并就系统的实现给出了具体的模块划分。第四章对具体地叙述了单片机模拟器模型的实现过程。第五章讨论了基于MCS-51指令集的反汇编器的实现。第六章为本文的总结与分析部分。