2 ms·
As i_don_t_know stated, if the CPU has the ability to single step an instruction, you use that. Otherwise: * Restore the original instruction byte. * Find th
by spc476 3y ago
As i_don_t_know stated, if the CPU has the ability to single step an instruction, you use that. Otherwise:
* Restore the original instruction byte.
* Find the next instruction, and set a temporary software
breakpoint there.
* Resume the one instruction
* Restore the original instruction byte at the temporary software breakpoint.
* Set the software breakpoint in the original instruction
* Resume running
The other thing to keep in mind is dealing with JMP, CALL and conditional branch instructions. It can get pretty messy pretty quick, which is why I find low level debuggers on old 8-bit CPUs a marvel as they had to deal with only software breakpoints.