Files

14 lines
607 B
C
Raw Permalink Normal View History

2026-07-09 13:28:07 -04:00
#include "assembler.h"
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
const char *input = NULL; const char *output = "a.gobj";
for (int i = 1; i < argc; i++) { if (strcmp(argv[i], "-o") == 0 && i + 1 < argc) output = argv[++i]; else input = argv[i]; }
if (!input) { printf("Usage: %s <file.gasm> -o <out.gobj>\n", argv[0]); return 1; }
Assembler as; asm_init(&as);
if (asm_assemble(&as, input) != 0) return 1;
if (asm_write_gobj(&as, output) != 0) return 1;
printf("Assembled %s -> %s (%u instructions)\n", input, output, as.code_len);
return 0;
}