Fixed issue where sometimes vm_print_registers wouldn't work for bytes

Happened because we weren't printing all relevant words due to
naturally flooring the result of division.  Here I ceil the division
to ensure we get the maximal number of words necessary.
This commit is contained in:
2023-11-01 22:54:45 +00:00
parent 101d7d372d
commit b6e359f5eb
2 changed files with 2 additions and 2 deletions

View File

@@ -371,7 +371,7 @@ void vm_print_registers(vm_t *vm, FILE *fp)
vm->registers.available / HWORD_SIZE,
vm->registers.available / WORD_SIZE);
fprintf(fp, "Registers.reg = [");
for (size_t i = 0; i < (reg.used / WORD_SIZE); ++i)
for (size_t i = 0; i < ceil((long double)reg.used / WORD_SIZE); ++i)
{
fprintf(fp, "{%lu:%lX}", i, VM_NTH_REGISTER(reg, i));
if (i != reg.used - 1)