From bf157cf09b8b0888c54a165b887309a4e801f608 Mon Sep 17 00:00:00 2001 From: hachem Date: Thu, 10 Sep 2026 04:42:33 +0200 Subject: feat: add aarch64 as target --- src/args.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src/args.c') diff --git a/src/args.c b/src/args.c index b31def5..beb4c5d 100644 --- a/src/args.c +++ b/src/args.c @@ -6,21 +6,26 @@ #define HDASS_VERSION "0.1.0" -static bool match_assembler(const char* name, enum Assembler* out) +static bool match_target(const char* name, enum Target* out) { if (strcmp(name, "nasm") == 0) { - *out = ASSEMBLER_NASM; + *out = TARGET_NASM; return true; } if (strcmp(name, "fasm") == 0) { - *out = ASSEMBLER_FASM; + *out = TARGET_FASM; return true; } if (strcmp(name, "masm") == 0) { - *out = ASSEMBLER_MASM; + *out = TARGET_MASM; + return true; + } + if (strcmp(name, "arm64") == 0) + { + *out = TARGET_ARM64; return true; } return false; @@ -37,7 +42,7 @@ void print_usage(const char* program) printf("usage: %s [options]\n\n", program); printf("options:\n"); printf(" -o, --output write output to (default: stdout)\n"); - printf(" -t, --target target assembler: nasm, fasm, masm (default: nasm)\n"); + printf(" -t, --target target: nasm, fasm, masm, arm64 (default: nasm)\n"); printf(" -h, --help print this help and exit\n"); printf(" -v, --version print version and exit\n"); } @@ -48,7 +53,7 @@ enum ParseResult parse_args(int argc, char** argv, struct Args* args) args->input_path = NULL; args->output_path = NULL; - args->target = ASSEMBLER_NASM; + args->target = TARGET_NASM; for (int i = 1; i < argc; i += 1) { @@ -86,7 +91,7 @@ enum ParseResult parse_args(int argc, char** argv, struct Args* args) fprintf(stderr, "error: '%s' requires an argument\n", arg); return PARSE_ERROR; } - if (!match_assembler(argv[i], &args->target)) + if (!match_target(argv[i], &args->target)) { fprintf(stderr, "error: unknown target '%s'\n", argv[i]); return PARSE_ERROR; -- cgit v1.3