diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2023-07-04 22:17:01 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2023-07-04 22:17:01 +0300 |
| commit | 55df6ea5d5754cd0501d7df5e206f1e35d580f59 (patch) | |
| tree | 9684e9b4d40122ff717e74315476e8507b0a8540 /README.md | |
| download | bcgen-55df6ea5d5754cd0501d7df5e206f1e35d580f59.tar.gz bcgen-55df6ea5d5754cd0501d7df5e206f1e35d580f59.zip | |
init
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..1bb5875 --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +# Byte code generator + +Separate project for now, but essentially create a program that takes some input +(for example) +``` +addr(_GGG_) +{ + R0 = R1 + R2; + return NEXT_INSN; +} + +addi(_GGi_) +{ + R0 = R1 + IMM; + return NEXT_INSN; +} + +beqi(RGi__) +{ + if (R0 == IMM) + return BRANCH; + + return NEXT_INSN; +} +``` + +and generates implementations with registers fixed and some kind of muxing +compilation functions that selects the correct implementation from some runtime +`compile_addr(1, 2, 3);`. |
