From 02153da4d5954261f6649e2980bc88f6d29e45a6 Mon Sep 17 00:00:00 2001 From: Roland Reichwein Date: Sat, 31 Aug 2024 18:29:58 +0200 Subject: ARM assembler (WIP) --- asm/arm/main.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 asm/arm/main.cpp (limited to 'asm/arm/main.cpp') diff --git a/asm/arm/main.cpp b/asm/arm/main.cpp new file mode 100644 index 0000000..20e67ab --- /dev/null +++ b/asm/arm/main.cpp @@ -0,0 +1,41 @@ +#include +#include + +#include + +#include + +#include "assembler.h" +#include "instruction.h" + +void dump(const code_sequence& c) +{ + for (size_t i = 0; i < c.size(); ++i) { + if ((i % 16) == 0) { + if (i > 0) + std::cout << std::endl; + } else { + std::cout << " "; + } + std::cout << fmt::format("{:02x}", c[i]); + } + std::cout << std::endl; +} + +int main(int argc, char* argv[]) +{ + try { + if (argc == 2) { + Assembler assembler; + std::string source {Reichwein::File::getFile(argv[1])}; + code_sequence result {assembler.encode(source)}; + dump(result); + } + return 0; + } catch (const std::exception& ex) { + std::cerr << "Error: " << ex.what() << std::endl; + return 1; + } + return 2; +} + -- cgit v1.2.3