46 lines
682 B
C
46 lines
682 B
C
|
/* Copyright (c) 2024 Freya Murphy */
|
||
|
|
||
|
#ifndef __MASM_H__
|
||
|
#define __MASM_H__
|
||
|
|
||
|
// isa to asemble for
|
||
|
enum isa {
|
||
|
ISA_MIPS1, // a.k.a mipsR2000
|
||
|
ISA_MIPS32R2,
|
||
|
ISA_MIPS32R6,
|
||
|
};
|
||
|
|
||
|
// abi to mark output object
|
||
|
enum abi {
|
||
|
ABI_O32, // mips o32 abi
|
||
|
ABI_NONE, // no flag output
|
||
|
};
|
||
|
|
||
|
// format for the object file
|
||
|
enum format {
|
||
|
FORMAT_ELF32,
|
||
|
};
|
||
|
|
||
|
// defines arguments
|
||
|
struct arguments {
|
||
|
// files to read from and
|
||
|
// write to
|
||
|
char *in_file;
|
||
|
char *out_file;
|
||
|
|
||
|
// if undefined symbols should
|
||
|
// be treated as extern
|
||
|
bool extern_undefined;
|
||
|
|
||
|
// isa to assemble for
|
||
|
enum isa isa;
|
||
|
|
||
|
// abi to mark object
|
||
|
enum abi abi;
|
||
|
|
||
|
// format to output
|
||
|
enum format format;
|
||
|
};
|
||
|
|
||
|
#endif /* __ASM_H__ */
|