Font Size: a A A

Design And Implementation Of Visual Virtual Machine X86VVM2

Posted on:2012-02-10Degree:MasterType:Thesis
Country:ChinaCandidate:B HuangFull Text:PDF
GTID:2178330335974388Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
As a branch of scientific visualization, program visualization is mainly characterized in two aspects:visual programming and operating environment. Visual programming tools have become the mainstream of modern software development tools. However, the current mainstream of visual programming tools in Assembly language mostly focus on visual editor, not taking the implementation process visually into consideration, and the program designer still can't know the implementation process deeply. This thesis realizes a visual virtual machine --- X86VVM2, with X86 Assembly language as the research project. The main work is as follows:Firstly, this thesis summarizes the character and disadvantage of the main assembly integrated development environment and the current Assembly visual virtual machine. And according to the basic principles of the virtual machine designing method, rebuild X86VVM visual virtual machine kernel, and realize X86VVM2 virtual machine kernel. The kernel resolves a lot of problems.Such as the resolution of dup pseudo code in data area, the identification of program-block and addressing types, function calls and exception handling with error correction mechanism.Then, this thesis follows the object-oriented designing method, taking run-time human-computer interaction into account, visualizes the virtual machine core, and develops X86VVM2 visual virtual machine. This visual virtual machine visualizes dynamic CPU internal register's data change and the exchange process between these registers, program's data (the variables, functions, symbol tables), edit, debug, code tracing, kernel stack, human-computer interaction and flow chart.In order to make the flow chart visualization process much better, this thesis presents the flow chart of automatic page generation algorithm. Firstly, it divides the source code into various basic modules, and then generates the corresponding abstract node based on different types of the modules. And according to the address information of these nodes, draw the main program's flow chart. When function calls, put the start of the current flow chart node into the main stack, then draw the sub-function's flow chart, when function returns, get the node stored in the stack firstly, and draw the main flow chart with the node as the beginning of the main flow chart. This kind of method achieves the automatic switch between the main function and the sub-function.Finally, the realization of X86VVM2 and the test for X86VVM2 kernel is summarized. This thesis takes an example to test the overall functions of this visual virtual machine. It illustrates the accuracy not only the kernel but also the visual effects. At the end of the paper, the main work of this subject is summarized, and the work of follow-up is discussed.
Keywords/Search Tags:Visualization, Virtual Machine, Code Tracing, Flow Chart, X86VVM2
PDF Full Text Request
Related items