开源且独立的ARM和RISC-V汇编器

问题描述 投票:0回答:1

我正在创建一个项目,我需要独立的并在 Windows 和 Linux 上运行的 INTEL、ARM 和 RISC-V 汇编器。对于INTEL架构,我找到了NASM汇编器,它满足了我的所有要求,但是我找不到ARM和RISC-V的汇编器。

我发现的唯一 ARM 和 RISC-V 汇编器来自 GNU。但要安装它,您需要整个 GNU 工具链,这似乎不是一个好主意。此外,该工具链在 Windows 上不可用。

NASM 之外是否有任何开源、独立的 ARM 和 RISC-V 汇编器可用(NASM 风格只是一个独立的汇编器,仅此而已)?

Edit1:GNU/MinGW 不是独立的,它带有许多其他功能,例如 C 和 C++ 链接器和编译器,与 NASM 不同。另外,据我所知,MinGW 没有 ARM 和/或 RISC-V 汇编器,只有 INTEL 汇编器,这对我来说没有用,因为我已经使用 NASM。

Edit2:分析有相当多的适用于 Windows 的 ARM 和 RISC-V 的 gnu 工具链,但是有没有任何应用程序只是 ARM 和 RISC-V 的汇编程序?我不需要 gnu 和 clang,而只是一个汇编器(一个例子是 NASM,它是针对 INTEL 的)。

assembly arm open-source intel riscv
1个回答
2
投票

嗯,据我所知,显然没有专门关注 ARM 汇编器和 RISC-V 的开源项目。但我的问题有 3 个解决方案。

(1):在 Windows 上使用 WSL2,在 Linux 上使用 GNU 或 LLVM。因为他们有多种工具,例如 ARM 和 RISC-V 的多平台汇编器。如果您使用 Windows 为 Linux 进行编译,此解决方案特别有用

(2):使用LLVM,更具体地说是clang,它可以编译RISC-V和ARM汇编代码。这些选项用于此目的:

riscv32 -->

clang -target riscv32 -c foo.s

riscv64 -->

clang -target riscv64 -c foo.s

arm32 -->

clang -target arm -c foo.s

arm64 -->

clang -target arm64 -c foo.s

(3):使用 GNU,在 Windows 中使用 https://gnutoolchains.com/,在 Linux 上使用 apt 或类似工具下载 ARM 和 RISC-V 工具链,其中包含汇编器。

(Windows 的额外):微软本身提供了在 Windows 中使用的汇编器等工具,例如用于 INTEL 的 MASM 和用于 ARM 的 ARMASM。因为您还没有适用于 RISC-V 的 Windows,所以您还没有 Microsoft RISCVASM。

MASM --> (https://learn.microsoft.com/en-us/cpp/assembler/masm/masm-for-x64-ml64-exe?view=msvc-170)

ARMASM --> (https://learn.microsoft.com/en-us/cpp/assembler/arm/arm-assembler-reference?view=msvc-170)

© www.soinside.com 2019 - 2024. All rights reserved.