diff options
author | Roland Reichwein <mail@reichwein.it> | 2020-10-17 14:16:46 +0200 |
---|---|---|
committer | Roland Reichwein <mail@reichwein.it> | 2020-10-17 14:16:46 +0200 |
commit | f86999e137f43372236f2dccd1fe3572a85c0dcd (patch) | |
tree | fedfeec810d22dde57073c5b51ecf1a4253a9c61 /asm/assembler.cpp | |
parent | 85e9768c6a083165ef8376d2924f5d82ce91d118 (diff) |
Separate-out assembler
Diffstat (limited to 'asm/assembler.cpp')
-rw-r--r-- | asm/assembler.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/asm/assembler.cpp b/asm/assembler.cpp new file mode 100644 index 0000000..275bd4a --- /dev/null +++ b/asm/assembler.cpp @@ -0,0 +1,17 @@ +#include "assembler.h" + +std::unordered_map<std::string, FactoryFunction> ops; + +bool registerOp(const std::string& mnemonic, FactoryFunction f) +{ + if (ops.contains(mnemonic)) { + std::cout << "Warning: mnemonic |" << mnemonic << "| already registered." << std::endl; + return false; + } + + std::cout << "Registering mnemonic |" << mnemonic << "|." << std::endl; + + ops[mnemonic] = f; + + return true; +} |