aboutsummaryrefslogtreecommitdiff
path: root/tasm/src/bits.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2023-10-28 11:48:28 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2023-10-28 11:48:28 +0300
commit8153447847aeaa0e1181cf62579cc3264ba44a8b (patch)
tree08d2d9992748e04c94f201acdccc28504d236df6 /tasm/src/bits.c
parentd96b8c7d12fc61ec609d6138627b9d6d18139a9a (diff)
downloadtri-8153447847aeaa0e1181cf62579cc3264ba44a8b.tar.gz
tri-8153447847aeaa0e1181cf62579cc3264ba44a8b.zip
add initial relocation stuff
Diffstat (limited to 'tasm/src/bits.c')
-rw-r--r--tasm/src/bits.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/tasm/src/bits.c b/tasm/src/bits.c
index 6397e2f..7a54632 100644
--- a/tasm/src/bits.c
+++ b/tasm/src/bits.c
@@ -36,10 +36,10 @@ tri_t build_i(tri_t opcode, tri_t rd, tri_t fn0, tri_t rs1, tri_t imm9)
void parse_i(tri_t i, tri_t *rd, tri_t *fn0, tri_t *rs1, tri_t *imm9)
{
- *rd = tri_mask(tri_sl(i, 5), 4);
- *fn0 = tri_mask(tri_sl(i, 9), 5);
- *rs1 = tri_mask(tri_sl(i, 14), 4);
- *imm9 = tri_mask(tri_sl(i, 18), 9);
+ *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)
@@ -54,11 +54,11 @@ tri_t build_s(tri_t opcode, tri_t imm4, tri_t fn0, tri_t rs1, tri_t rs2, tri_t i
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_sl(i, 5), 4);
- *fn0 = tri_mask(tri_sl(i, 9), 5);
- *rs1 = tri_mask(tri_sl(i, 14), 4);
- *rs2 = tri_mask(tri_sl(i, 18), 4);
- *imm5 = tri_mask(tri_sl(i, 22), 5);
+ *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)
@@ -70,6 +70,6 @@ tri_t build_u(tri_t opcode, tri_t rd, tri_t imm18)
void parse_u(tri_t i, tri_t *rd, tri_t *imm18)
{
- *rd = tri_mask(tri_sl(i, 5), 4);
- *imm18 = tri_mask(tri_sl(i, 9), 18);
+ *rd = tri_mask(tri_sr(i, 5), 4);
+ *imm18 = tri_mask(tri_sr(i, 9), 18);
}