#include #include namespace Execute { std::vector GetInterrupts() { return std::vector { // 0 print char [](Execute::Registers & registers, std::vector & memory) { std::putc(registers.A, stdout); }, // 1 print decimal integer [](Execute::Registers & registers, std::vector & memory) { std::printf("%i", registers.A); }, // 2 print string from memory [](Execute::Registers & registers, std::vector & memory) { unsigned const end = registers.A + registers.B; for(unsigned i = registers.A; i < end; ++i) { std::putc(memory[i], stdout); } } }; } }