# HG changeset patch # User František Kučera # Date 1514072854 -3600 # Node ID f049c3d3244d20f0176164ef6d1e11ae9d72f2d1 # Parent 10d6964e7b4a27fd4e1cd806c50f4402ec3672ae comments, formatting diff -r 10d6964e7b4a -r f049c3d3244d c++/rgb-assembler/rgb-assembler.cpp --- a/c++/rgb-assembler/rgb-assembler.cpp Sun Dec 24 00:30:54 2017 +0100 +++ b/c++/rgb-assembler/rgb-assembler.cpp Sun Dec 24 00:47:34 2017 +0100 @@ -40,6 +40,7 @@ setlocale(LC_ALL, ""); + // TODO: wrap in a class with read(), write() and setAddress() methods octet_t * memory = (octet_t*) malloc(MEMORY_SIZE); // Sample program / data: @@ -76,17 +77,20 @@ write(memory, a, CMD_END); } + // Supported commands + // TODO: dynamic reconfiguration unordered_map> commands = { {CMD_GOTO, make_shared()}, {CMD_GOTO_COMPARE, make_shared()}, {CMD_SLEEP, make_shared()}, {CMD_END, make_shared()}, {CMD_COLOR, make_shared()}, - {CMD_INCREMENT, make_shared < commands::IncrementDecrement>(true, 1)}, - {CMD_DECREMENT, make_shared < commands::IncrementDecrement>(false, 1)}, + {CMD_INCREMENT, make_shared (true, 1)}, + {CMD_DECREMENT, make_shared (false, 1)}, }; + // Main loop / interpreter: for (address_t i = 0; i < MEMORY_SIZE;) { wprintf(L"command %*d = ", 4, i); command_t commandCode = read(memory, i);