Files
assm-test/includes/opcodes.h
T

35 lines
565 B
C

#ifndef OPCODES_H
#define OPCODES_H
#include <string.h>
#include "lexer.h"
#define OPCODECOUNT 10
#define REGISTERCOUNT 8
typedef enum {
None = 0,
Reg,
Imm8,
Imm16
} ParameterType;
typedef struct {
char* lexeme;
TokenType op;
ParameterType parameter_one;
ParameterType parameter_two;
} OpCode;
typedef struct {
char* lexeme;
TokenType type;
} Register;
extern OpCode opcodes[OPCODECOUNT];
extern Register registers[REGISTERCOUNT];
int IsOpcode(const char*, TokenType*);
int IsRegister(const char*, TokenType*);
#endif