java - 如何用 Java 编写程序来编译 .asm(汇编语言)文件?
问题描述
是否可以编写一个可以编译 x86 .asm(汇编语言)文件的 Java 程序(我不介意它是否依赖外部库)?如果是,我将如何去做(我需要使用哪些库以及我将如何去做)?
我研究过Java和Assembly组装,但找不到任何相关结果。我是否必须使用已经制作的汇编程序,例如nasm?
解决方案
是否可以编写一个可以编译 .asm ... 文件的 Java 程序...?
您可以(几乎)使用任何能够读取文本文件和写入二进制文件的编程语言。
因此,您可以为此使用 Java - 至少在理论上是这样。
如果是,我将如何去做这件事......?
我研究过Java和Assembly组装......
不幸的是,汇编器和编译器通常不是用 Java 编写的。
您很有可能必须从头开始开发所需的所有功能!
我是否必须使用已经制作的汇编程序,例如 nasm?
这里的问题是为什么要在 Java 中使用汇编程序。
您可以用 Java 编写汇编程序,但这将是很多工作。
如果您想将汇编程序包含在您将在商业上销售的 Java 程序中,则可能需要编写您自己的汇编程序,因为许可不允许您将产品与“nasm”一起发布。
如果您想编写一个汇编程序只是为了练习(因为您想获得编译器开发经验),那么为此花费 100 个小时甚至更多时间也是有意义的。
在所有其他情况下,我可以想象花一个月的时间来开发一个可以从互联网上免费下载的软件是没有意义的。
推荐阅读
- javascript - 用Javascript中的数组值替换字符串
- python-3.x - 如何将字符串中的列表变为 Python 中的真实列表?
- php - 如何阻止 WordPress 插入帖子创建重复的帖子
- amazon-web-services - 如何使用 AWS Lambda 函数访问启用了 VPC 的 Elasticsearch
- mysql - 无法连接到在 WSL 中运行的 mysql
- python - Pyspark:之前已经购买的产品的标志
- django - 根据 URL 切换 django 缓存后端
- powershell - 为什么转换后的批处理没有运行我的 powershell 脚本?
- sql-server - 在 MSSQL 中,如何检查列的值是否是另一列的子字符串?
- facebook-graph-api - 无法使用 Graph API 在 Facebook 页面上发帖