可视虚拟机X86VVM2的设计与实现

来源 :广东工业大学 | 被引量 : 2次 | 上传用户:sss03157017633
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序设计可视化作为科学可视化的一个分支,它的特点主要体现在编程以及运行环境可视化两方面。可视化编程开发工具已经成为现代软件开发行业的主流工具。然而,目前主流汇编语言的可视化编程开发工具大多还停留在编辑可视化上,没有考虑其执行过程的可视化,使得程序设计者不能深入了解程序的执行过程。本文以X86汇编语言为研究对象,实现了一个X86汇编语言的可视虚拟机---X86VVM2。本文的主要工作如下:首先,总结了主流汇编集成开发环境及现有的汇编可视虚拟机的特点和不足,并按照虚拟机设计的基本原理,重新设计X86VVM可视虚拟机内核,得到新的X86VVM2内核,该内核解决了数据区dup伪指令的解析、程序段及寻址方式的识别、函数的调用和带纠错功能的异常处理等问题。然后,采用面向对象的设计思路,同时考虑到运行时的人机交互,实现了内核的可视化,开发出X86VVM2可视虚拟机。X86VVM2具有CPU内部寄存器数据及寄存器之间数据动态交互可视化、程序数据(数据变量、函数、符号表)可视化、内核栈可视化、编辑可视化、调试可视化、代码跟踪可视化、人机交互可视化及流程图可视化的功能。为了更好地实现流程图可视化,本文提出了翻页效果的流程图自动生成算法。该算法首先将源程序划分为各个基本模块,然后根据不同类型的模块,生成对应的抽象节点,最后根据节点内存放的地址信息,画出主程序的流程图。函数调用时,先将主程序的开始节点进栈,然后画出子函数的流程图;函数返回时,取得保存在栈中的节点,画出以此节点开始的主程序流程图,从而实现主程序流程图与子程序流程图自动切换。最后,总结了X86VVM2的实现及对内核的测试,同时选取一个实例对X86VVM2的整体功能进行测试。试验结果表明,内核执行结果正确及各可视化功能运行正常。在论文结尾处,总结了本课题的主要工作并对后续工作进行展望。
其他文献
随着信息网络的发展和技术的革新,远程控制不再是指局域网中的远程控制,而是基于信息网的远程控制。信息网与控制网相比具有更大的优势,将两者结合起来,借助信息网的优势发展
随着网络的发展,信息获取变得越来越容易,人们日常所需要处理的信息量也越来越大。如何从众多的文档中提取出重要的信息,以帮助人们做快速的浏览和撷取,是一项迫切的任务。多
无线Mesh网络是一种不依赖大型固定基础设施、无中心的分布式新型无线宽带网络结构,具有自组织、自愈和、高可靠性、覆盖范围广、可扩展性强、成本低且组网灵活等优点,这些优
随着网络和多媒体技术的飞速发展,如何保护多媒体信息技术的安全成为国际上研究的热点。数字水印技术为数字化产品的版权保护和信息安全提供一种有效可用的方法。数字水印技
神经网络是人工智能的核心内容之一。由于具备特有的学习和自适应能力,使得神经网络一直是人工智能研究领域的热点。从最初的如何构建神经网络到现在的如何构建高效稳定的神
无线多媒体传感器网络是在传统的无线传感器网络基础上引入音频、视频、图像、声音等大容量信息的新型传感器网络,在智能家居、战场监控、交通监控等领域具有广阔的应用前景
功能性磁共振成像(fMRI)对于探索大脑内部运作是脑认知研究的最重要工具,fMRI采集的数据是在一段时间内,对于特定刺激事物,大脑不同区域产生特定的反映变化图像,明显的特点是
随着现代网络技术的不断发展,人们对信息传输质量的要求也越来越高。在有限的网络资源条件下,如何提高资源利用率、降低系统通信错误概率和系统通信复杂度及无线传输时延等问
随着互联网技术的发展和多媒体技术的不断完善,多媒体信息呈现爆炸式的增长,每天都有大量的视频产生,流传和被编辑。基于内容的视频拷贝检测作为视频的组织管理和版权保护的
图像分割是一种重要的图像分析技术,它是指把图像分解成局部特征(纹理、颜色、亮度等)相一致的各个区域,并将人们感兴趣的目标提取出来的过程和技术。它是图像处理上升到图像