/** * Assembler for the ULNAv2-C instruction set. * * Generates an image file suitable to be read by Logisim. * * Copyright(c) 2019-2021,2024 Jason Tang * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #pragma once #include void add_inst_a(unsigned int inst_num, unsigned int rw, unsigned int ra, unsigned int rb); void add_inst_b(unsigned int inst_num, unsigned int rw, unsigned int ra, unsigned long imm5, char *target); void add_inst_b_simm(unsigned int inst_num, unsigned int rw, unsigned int ra, long imm5, char *target); void add_inst_c(unsigned int inst_num, unsigned int rw, unsigned long imm8, char *target); void add_inst_d(unsigned int inst_num, unsigned long imm11, char *target); void add_label(char *label); void yyerrorv(bool show_token, const char *fmt, ...); extern bool input_parsed;