Add print string from memory interrupt
This commit is contained in:
@@ -8,9 +8,18 @@ namespace Execute
|
||||
return std::vector<InterruptFn>
|
||||
{
|
||||
// 0 print char
|
||||
[](Execute::Registers & registers) { std::putc(registers.A, stdout); },
|
||||
[](Execute::Registers & registers, std::vector<std::uint8_t> & memory) { std::putc(registers.A, stdout); },
|
||||
// 1 print decimal integer
|
||||
[](Execute::Registers & registers) { std::printf("%i", registers.A); }
|
||||
[](Execute::Registers & registers, std::vector<std::uint8_t> & memory) { std::printf("%i", registers.A); },
|
||||
// 2 print string from memory
|
||||
[](Execute::Registers & registers, std::vector<std::uint8_t> & memory)
|
||||
{
|
||||
unsigned const end = registers.A + registers.B;
|
||||
for(unsigned i = registers.A; i < end; ++i)
|
||||
{
|
||||
std::putc(memory[i], stdout);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user