Homework_2011:一个实现自定义机器语言的玩具虚拟机和一个到 x86_64 的提前翻译器-源码

上传者: 42125192 | 上传时间: 2021-07-07 12:03:22 | 文件大小: 93KB | 文件类型: ZIP
C++
自述文件 又一个翻译平台 这实际上只是一个解释器平台——也就是说,一个类似于 LLVM 的模块化虚拟机(虽然简单得多)。 它通过使用多个读取器插件读取一个或多个输入文件来运行,这些插件将源代码转换为字节码,链接生成的字节码图像并在基于堆栈的虚拟机或主机 CPU 本身中执行生成的图像( JIT 编译主机 CPU 架构的字节码)。 除此之外,平台的所有组件都旨在完全可移植且独立于平台。 该平台分为一个不变的核心和多个模块。 核心为模块提供最终用户 API 和接口(包括模块用于相互通信的所有定义,例如数据类型)。 该平台支持两种数据类型:有符号整数和浮点数。 指向数据的指针可以以整数格式存储。 支持的功能 目前支持的核心功能: 将源文件读入所谓的“上下文” (字节码图像) 将上下文合并在一起(带有链接支持) 使用源文件插件将上下文转储到文件中 将上下文翻译成原生 CPU 机器码 在基于

文件下载

资源详情

[{"title":"( 56 个子文件 93KB ) Homework_2011:一个实现自定义机器语言的玩具虚拟机和一个到 x86_64 的提前翻译器-源码","children":[{"title":"Homework_2011-master","children":[{"title":"Executor_int.h <span style='color:#111;'> 1.33KB </span>","children":null,"spread":false},{"title":"APIImplementation.cpp <span style='color:#111;'> 9.44KB </span>","children":null,"spread":false},{"title":"BytecodeIO.h <span style='color:#111;'> 1.84KB </span>","children":null,"spread":false},{"title":"build.h <span style='color:#111;'> 887B </span>","children":null,"spread":false},{"title":"Linker.h <span style='color:#111;'> 1.28KB </span>","children":null,"spread":false},{"title":"MMU.cpp <span style='color:#111;'> 16.13KB </span>","children":null,"spread":false},{"title":"AssemblyIO.cpp <span style='color:#111;'> 17.46KB </span>","children":null,"spread":false},{"title":"CommandSet_original.cpp <span style='color:#111;'> 6.93KB </span>","children":null,"spread":false},{"title":"CommandSet_original.h <span style='color:#111;'> 1.52KB </span>","children":null,"spread":false},{"title":"API.h <span style='color:#111;'> 720B </span>","children":null,"spread":false},{"title":"README.architecture <span style='color:#111;'> 1.77KB </span>","children":null,"spread":false},{"title":".gitmodules <span style='color:#111;'> 86B </span>","children":null,"spread":false},{"title":"Executor_int.cpp <span style='color:#111;'> 4.19KB </span>","children":null,"spread":false},{"title":"backend_x86","children":[{"title":"SIB.h <span style='color:#111;'> 2.92KB </span>","children":null,"spread":false},{"title":"build.h <span style='color:#111;'> 762B </span>","children":null,"spread":false},{"title":"Codegen.cpp <span style='color:#111;'> 19.60KB </span>","children":null,"spread":false},{"title":"Defs.h <span style='color:#111;'> 1.66KB </span>","children":null,"spread":false},{"title":"Backend.cpp <span style='color:#111;'> 17.94KB </span>","children":null,"spread":false},{"title":"CMakeLists.txt <span style='color:#111;'> 347B </span>","children":null,"spread":false},{"title":"Backend.h <span style='color:#111;'> 5.49KB </span>","children":null,"spread":false},{"title":"REX.h <span style='color:#111;'> 1.17KB </span>","children":null,"spread":false},{"title":"Registers.h <span style='color:#111;'> 2.05KB </span>","children":null,"spread":false},{"title":"Insn.h <span style='color:#111;'> 8.63KB </span>","children":null,"spread":false},{"title":"Interfaces.h <span style='color:#111;'> 1.14KB </span>","children":null,"spread":false},{"title":"ModRM.h <span style='color:#111;'> 6.03KB </span>","children":null,"spread":false}],"spread":false},{"title":"Precompiled.cmake <span style='color:#111;'> 3.06KB </span>","children":null,"spread":false},{"title":"Miscellaneous.cpp <span style='color:#111;'> 5.15KB </span>","children":null,"spread":false},{"title":"Defs.h <span style='color:#111;'> 4.38KB </span>","children":null,"spread":false},{"title":"Executor.h <span style='color:#111;'> 1.39KB </span>","children":null,"spread":false},{"title":"Utility.h <span style='color:#111;'> 8.52KB </span>","children":null,"spread":false},{"title":"stdafx.h <span style='color:#111;'> 465B </span>","children":null,"spread":false},{"title":"Linker.cpp <span style='color:#111;'> 11.38KB </span>","children":null,"spread":false},{"title":"Executor_service.h <span style='color:#111;'> 1.05KB </span>","children":null,"spread":false},{"title":"test_application","children":[{"title":"CMakeLists.txt <span style='color:#111;'> 411B </span>","children":null,"spread":false},{"title":"ssb.c <span style='color:#111;'> 5.16KB </span>","children":null,"spread":false},{"title":"main.cpp <span style='color:#111;'> 15.34KB </span>","children":null,"spread":false},{"title":"ssb.h <span style='color:#111;'> 3.30KB </span>","children":null,"spread":false}],"spread":false},{"title":"Executor.cpp <span style='color:#111;'> 4.76KB </span>","children":null,"spread":false},{"title":"CMakeLists.txt <span style='color:#111;'> 2.59KB </span>","children":null,"spread":false},{"title":"AssemblyIO.h <span style='color:#111;'> 2.10KB </span>","children":null,"spread":false},{"title":"Libs","children":[{"title":"uXray","children":null,"spread":false}],"spread":false},{"title":"BytecodeIO.cpp <span style='color:#111;'> 7.04KB </span>","children":null,"spread":false},{"title":"Logic.h <span style='color:#111;'> 1.76KB </span>","children":null,"spread":false},{"title":"Homework_2011.kdev4 <span style='color:#111;'> 70B </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 11.92KB </span>","children":null,"spread":false},{"title":"README.multipletypes <span style='color:#111;'> 1.13KB </span>","children":null,"spread":false},{"title":"Executor_service.cpp <span style='color:#111;'> 4.72KB </span>","children":null,"spread":false},{"title":"Value.h <span style='color:#111;'> 5.71KB </span>","children":null,"spread":false},{"title":"MMU.h <span style='color:#111;'> 4.59KB </span>","children":null,"spread":false},{"title":"Interfaces.cpp <span style='color:#111;'> 8.09KB </span>","children":null,"spread":false},{"title":"Logic.cpp <span style='color:#111;'> 10.49KB </span>","children":null,"spread":false},{"title":"JIT_checklist.txt <span style='color:#111;'> 885B </span>","children":null,"spread":false},{"title":"mingw32.cmake <span style='color:#111;'> 638B </span>","children":null,"spread":false},{"title":"Interfaces.h <span style='color:#111;'> 14.59KB </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 51B </span>","children":null,"spread":false},{"title":"Common.cmake <span style='color:#111;'> 10.47KB </span>","children":null,"spread":false},{"title":"CMakeConfigureProduction.cmake <span style='color:#111;'> 37B </span>","children":null,"spread":false}],"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明