From d05767d2801e8d339ed5098f9d3c08c65f0ef796 Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Sat, 19 Aug 2023 04:14:21 +0000 Subject: [PATCH] grammar.txt: initial --- dsp-notes.ods | Bin 38603 -> 39589 bytes grammar.txt | 101 ++++++++++++++++++++++ stmt.hpp | 226 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 327 insertions(+) create mode 100644 grammar.txt diff --git a/dsp-notes.ods b/dsp-notes.ods index 65db7bebaf456e1f812f795ce6bb1fbb623e18ae..5cbd3a99f017310b6e97a3bc0a6a38bd7f522b46 100644 GIT binary patch delta 37186 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 Hdkp;t#Y*o* delta 36209 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 pvCf5}1ljmU^W$U$CE +#include "expr.hpp" + +namespace dsp { + +/* struct assign_t : stmt_accept_t { assign_t(token_t name, expr_t * value) @@ -7,3 +13,223 @@ struct assign_t : stmt_accept_t const token_t name; const expr_t * value; }; +*/ + +template +struct imm_t { + const expr_t * expr; + + static constexpr bool sign = S; + static constexpr int bits = N; +}; + +template +using simm_t = imm_t; + +template +using uimm_t = imm_t; + +namespace op { + +enum alu_type_t { + andl, + orl, + xorl, + add, + sub, + ad2, + sr, + rr, + sl, + rl, + rl8, +}; + +struct alu_t { + const alu_type_t type; +}; + +enum struct xy_src_t { + mc0, mc1, mc2, mc3, + m0 , m1 , m2 , m3, +}; + +struct op_t { +}; + +struct mov_ram_x_t : op_t { + const xy_src_t src; +}; + +struct mov_mul_p_t : op_t { +}; + +struct mov_ram_p_t : op_t { + const xy_src_t src; +}; + +struct mov_ram_y_t : op_t { + const xy_src_t src; +}; + +struct clr_a_t : op_t { +}; + +struct mov_alu_a_t : op_t { +}; + +struct mov_ram_a_t : op_t { + const xy_src_t src; +}; + +enum struct d1_dest_t { + rx , pl , + ra0, wa0, + lop, top, + ct0, ct1, ct2, ct3, +}; + +enum struct d1_src_t { + mc0, mc1, mc2, mc3, + m0 , m1 , m2 , m3 , +}; + +struct mov_imm_d1 : op_t { + const simm_t<8> imm; + const d1_dest_t dest; +}; + +struct mov_ram_d1 : op_t { + const d1_src_t src; + const d1_dest_t dest; +}; + +struct instruction_t { + const std::vector ops; +}; + +} // op + +namespace load { + +enum struct dest_t { + mc0, mc1, mc2, mc3, + rx , pl , + ra0, wa0, + lop, pc , +}; + +enum struct cond_t { + z , nz , + s , ns , + c , nc , + t0, nt0, + zs, nzs, +}; + +struct mvi_t { + const uimm_t<25> imm; +}; + +struct mvi_cond_t { + const uimm_t<19> imm; +}; + +} // load + +namespace dma { + +enum struct add_mode_t { + _0 , + _1 , + _2 , + _4 , + _8 , + _16, + _32, + _64, +}; + +enum struct ingress_t { + m0, m1, m2, m3 +}; + +enum struct egress_t { + m0, m1, m2, m3, + prg, +}; + +struct ingress_imm_t { + const bool hold; + const ingress_t ingress; + const simm_t<8> imm; +}; + +struct egress_imm_t { + const bool hold; + const egress_t egress; + const simm_t<8> imm; +}; + +enum struct length_ram_t { + m0, m1, m2, m3, + mc0, mc1, mc2, mc3, +}; + +struct ingress_ram_t { + const bool hold; + const ingress_t ingress; + const length_ram_t ram; +}; + +struct egress_ram_t { + const bool hold; + const egress_t egress; + const length_ram_t ram; +}; + +} // dma + +namespace jump +{ + +enum struct cond_t { + z , nz, + s , ns, + c , nc, + t0, nt0, + zs, nzs, +}; + +struct jmp_t { + uimm_t<8> imm; +}; + +struct jmp_cond_t { + uimm_t<8> imm; + cond_t cond; +}; + +} // jump + +namespace loop { + +struct btm_t { +}; + +struct lps_t { +}; + +} // loop + +namespace end { + +struct end_t { +}; + +struct endi_t { +}; + +} // loop + +} // dsp