|
|
|
|
|
by spc476
992 days 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. |
|