From 80d78c5589d42f81b04e671b28c103a2112458d1 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Sun, 29 Oct 2023 13:16:25 +0200 Subject: move common stuff to core + Might have to come up with a better name, but works for now --- tasm/src/assembler.c | 2 +- tasm/src/bits.c | 75 ---------------------------------------------------- tasm/src/parser.y | 4 +-- 3 files changed, 3 insertions(+), 78 deletions(-) delete mode 100644 tasm/src/bits.c (limited to 'tasm/src') diff --git a/tasm/src/assembler.c b/tasm/src/assembler.c index 9f6dc95..3faf1fb 100644 --- a/tasm/src/assembler.c +++ b/tasm/src/assembler.c @@ -1,6 +1,6 @@ #include #include -#include +#include #include #include diff --git a/tasm/src/bits.c b/tasm/src/bits.c deleted file mode 100644 index 7a54632..0000000 --- a/tasm/src/bits.c +++ /dev/null @@ -1,75 +0,0 @@ -#include - -tri_t parse_opcode(tri_t i) -{ - /* opcode is lowest five trits */ - return tri_mask(i, 5); -} - -tri_t build_r(tri_t opcode, tri_t rd, tri_t fn0, tri_t rs1, tri_t rs2, tri_t fn5) -{ - return opcode - | tri_sl(rd , 5) - | tri_sl(fn0, 9) - | tri_sl(rs1, 14) - | tri_sl(rs2, 18) - | tri_sl(fn5, 22); -} - -void parse_r(tri_t i, tri_t *rd, tri_t *fn0, tri_t *rs1, tri_t *rs2, tri_t *fn5) -{ - *rd = tri_mask(tri_sr(i, 5), 4); - *fn0 = tri_mask(tri_sr(i, 9), 5); - *rs1 = tri_mask(tri_sr(i, 14), 4); - *rs2 = tri_mask(tri_sr(i, 18), 4); - *fn5 = tri_mask(tri_sr(i, 22), 5); -} - -tri_t build_i(tri_t opcode, tri_t rd, tri_t fn0, tri_t rs1, tri_t imm9) -{ - return opcode - | tri_sl(rd , 5) - | tri_sl(fn0 , 9) - | tri_sl(rs1 , 14) - | tri_sl(imm9, 18); -} - -void parse_i(tri_t i, tri_t *rd, tri_t *fn0, tri_t *rs1, tri_t *imm9) -{ - *rd = tri_mask(tri_sr(i, 5), 4); - *fn0 = tri_mask(tri_sr(i, 9), 5); - *rs1 = tri_mask(tri_sr(i, 14), 4); - *imm9 = tri_mask(tri_sr(i, 18), 9); -} - -tri_t build_s(tri_t opcode, tri_t imm4, tri_t fn0, tri_t rs1, tri_t rs2, tri_t imm5) -{ - return opcode - | tri_sl(imm4, 5) - | tri_sl(fn0 , 9) - | tri_sl(rs1 , 14) - | tri_sl(rs2 , 18) - | tri_sl(imm5, 22); -} - -void parse_s(tri_t i, tri_t *imm4, tri_t *fn0, tri_t *rs1, tri_t *rs2, tri_t *imm5) -{ - *imm4 = tri_mask(tri_sr(i, 5), 4); - *fn0 = tri_mask(tri_sr(i, 9), 5); - *rs1 = tri_mask(tri_sr(i, 14), 4); - *rs2 = tri_mask(tri_sr(i, 18), 4); - *imm5 = tri_mask(tri_sr(i, 22), 5); -} - -tri_t build_u(tri_t opcode, tri_t rd, tri_t imm18) -{ - return opcode - | tri_sl(rd , 5) - | tri_sl(imm18, 9); -} - -void parse_u(tri_t i, tri_t *rd, tri_t *imm18) -{ - *rd = tri_mask(tri_sr(i, 5), 4); - *imm18 = tri_mask(tri_sr(i, 9), 18); -} diff --git a/tasm/src/parser.y b/tasm/src/parser.y index 559cbba..64418d1 100644 --- a/tasm/src/parser.y +++ b/tasm/src/parser.y @@ -13,8 +13,8 @@ #include #include -#include -#include +#include +#include #include %} -- cgit v1.3