diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-01-21 23:10:36 +0200 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-01-21 23:10:36 +0200 |
| commit | a152fbd956cc9cb9c05a233abe004ba3d12767a0 (patch) | |
| tree | 458a7812ae3c4d5c4999d7f9650e2ee1c05c9ba6 /tasm/src/assembler.c | |
| parent | 910ad02d86672cc3020cc5df0fa451ef4dd69bfd (diff) | |
| download | tri-a152fbd956cc9cb9c05a233abe004ba3d12767a0.tar.gz tri-a152fbd956cc9cb9c05a233abe004ba3d12767a0.zip | |
start working on virtual memory
Diffstat (limited to 'tasm/src/assembler.c')
| -rw-r--r-- | tasm/src/assembler.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/tasm/src/assembler.c b/tasm/src/assembler.c index ba61045..0e06a1e 100644 --- a/tasm/src/assembler.c +++ b/tasm/src/assembler.c @@ -1,3 +1,4 @@ +#include <triscv/csr.h> #include <tasm/assembler.h> #include <tasm/parser.h> #include <bits.h> @@ -555,8 +556,19 @@ tri_t check_nop3(const char *nop) tri_t check_csr(const char *csr) { /** @todo only mpower supported for now, will have to work on this */ - assert(strcmp(csr, "mpower")); - return tri_from(-9841); + if (strcmp(csr, "mpower")) + return tri_from(CSR_MPOWER); + + if (strcmp(csr, "satpp")) + return tri_from(CSR_SATPP); + + if (strcmp(csr, "satpo")) + return tri_from(CSR_SATPO); + + if (strcmp(csr, "satpn")) + return tri_from(CSR_SATPN); + + assert(0); } tri_t check_width(const char *width) |
