#ifndef EMUL_INST_DECIPHER__ #define EMUL_INST_DECIPHER__ #include "emul_inst_isa.h" #include "emul_reg.h" #define LOAD_LINE_MAX 1024 #define LOAD_TOKEN_MAX 32 typedef struct { EMUL_ISA opecode; char string[32]; } emul_isa_t; typedef struct { EMUL_REG operand; char string[32]; } emul_reg_t; void emul_inst_dec_init(); int emul_inst_dec_load(char *filename); void emul_inst_dec_close(); int emul_inst_dec_get_token(char *token); // Example: // ASM: add St0, Ss0, Ss1 // RETURN: add int emul_inst_dec_get_opecode(char *); int emul_inst_dec_get_next_opecode(); // Example: // ASM: add St0, Ss0, Ss1 // RETURN: St0 // RETURN: Ss0 // RETURN: Ss1 int emul_inst_dec_get_operand(char *); int emul_inst_dec_get_next_operand(); // immediate int emul_inst_dec_get_next_immediate(); #endif