casm.l |
casm.y |
casm.h |
Makefile
/*command types*/
#define j_type 0
#define r_type 1
#define i_type 2
#define v_type 3
#define d_type 4
/*opcodes*/
#define op_NUL 0x00
#define op_PDI 0x01
#define op_PDO 0x02
#define op_HI 0x03
#define op_SET 0x04
#define op_ADD 0x05
#define op_SUB 0x06
#define op_MUL 0x07
#define op_DIV 0x08
#define op_MOD 0x09
#define op_PCA 0x0A
#define op_PCS 0x0B
#define op_AND 0x0C
#define op_OR 0x0D
#define op_XOR 0x0E
#define op_SHL 0x0F
#define op_SHR 0x10
#define op_RTL 0x11
#define op_RTR 0x12
#define op_FBS 0x13
#define op_CBS 0x14
#define op_CST 0x15
#define op_CGT 0x16
#define op_CE 0x17
#define op_JMP 0x18
#define op_JMR 0x19
#define op_BEZ 0x1A
#define op_BGZ 0x1B
#define op_ISP 0x1C
#define op_LDA 0x1D
#define op_SVA 0x1E
#define op_DTA 0x1F
/*subcodes*/
#define sc_LW 0x30
#define sc_SW 0x31
#define sc_PDI 0x01
#define sc_PDO 0x02
#define sc_HI 0x03
#define sc_SET 0x04
#define sc_XCH 0x32
#define sc_ADD 0x05
#define sc_SUB 0x06
#define sc_MUL 0x07
#define sc_DIV 0x08
#define sc_MOD 0x09
#define sc_PCA 0x0A
#define sc_PCS 0x0B
#define sc_AND 0x0C
#define sc_OR 0x0D
#define sc_XOR 0x0E
#define sc_SHL 0x0F
#define sc_SHR 0x10
#define sc_RTL 0x11
#define sc_RTR 0x12
#define sc_FBS 0x13
#define sc_CBS 0x14
#define sc_CST 0x15
#define sc_CGT 0x16
#define sc_CE 0x17
#define sc_JMP 0x18
#define sc_JMR 0x19
#define sc_BEZ 0x1A
#define sc_BGZ 0x1B
#define sc_ISP 0x1C
#define sc_ISD 0x33
#define sc_IRD 0x34
#define sc_IRE 0x35
#define sc_LDA 0x1D
#define sc_SVA 0x1E