diff options
Diffstat (limited to 'mnems.py')
-rwxr-xr-x | mnems.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/mnems.py b/mnems.py new file mode 100755 index 0000000..db00fbc --- /dev/null +++ b/mnems.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 + +mnems = """ +nop +rot +nrt +dup +swp +ovr +drp +tck +nip +equ +neq +add +sub +mul +div +neg +slt +ult +sle +ule +lod +sto +psh +pop +hlt +put +""".split() +mnems.extend(['???']*(64-len(mnems))) +def opws(kw): + for k in range(16): + mnems.append(kw + str(k)) +opws("mark") # who is mark +opws("loc") +opws("ret") +opws("lit") + +if __name__ == "__main__": + print("type op = enum u8 {") + for opc,mnem in enumerate(mnems): + if mnem != "???": + print(f"\t{mnem.upper()} = {opc},") + print("};") |