kit

kit
git clone https://git.ryansepassi.com/git/kit.git
Log | Files | Refs | README

asm.h (785B)


      1 #ifndef KIT_ARCH_ARM32_ASM_H
      2 #define KIT_ARCH_ARM32_ASM_H
      3 
      4 #include "arch/arch.h"
      5 #include "asm/asm_lex.h"
      6 #include "core/core.h"
      7 
      8 typedef struct AsmDriver AsmDriver;
      9 typedef struct Arm32Asm Arm32Asm;
     10 
     11 enum {
     12   ARM32_INLINE_OPK_REG = 0xf0u,
     13   ARM32_INLINE_OPCLS_INT = 0u,
     14   ARM32_INLINE_OPCLS_FP = 1u,
     15 };
     16 
     17 ArchAsm* arm32_arch_asm_new(Compiler*);
     18 
     19 Arm32Asm* arm32_asm_open(Compiler* c);
     20 void arm32_asm_close(Arm32Asm*);
     21 void arm32_asm_insn(Arm32Asm*, AsmDriver*, Sym mnemonic);
     22 
     23 void arm32_inline_bind(Arm32Asm*, const AsmConstraint* outs, u32 nout,
     24                        Operand* out_ops, const AsmConstraint* ins, u32 nin,
     25                        const Operand* in_ops, const Sym* clobbers, u32 nclob);
     26 void arm32_asm_run_template(Arm32Asm*, MCEmitter* mc, const char* tmpl);
     27 
     28 #endif