1. A method for debug interrupt processing, the method comprising: stalling a processor, at a point in a program where a debug interrupt is accepted from a device external to the processor, until the external device writes a branch to debug code instruction in a debug instruction register in the processor; executing by the processor the branch to debug code instruction written by the external device to initiate execution by the processor of debug code comprising a plurality of debug instructions stored on the processor, wherein the execution of the debug code operates to save processor state information and data values to the external device; setting a debug interrupt is pending indication active as programmed by the debug code; stalling the processor, after the debug code has completed execution, until the external device writes a return from interrupt instruction to the debug instruction register; and executing by the processor the return from interrupt instruction written by the external device and one instruction from the program as a single step of the program at a processor state that existed at the point in the program where stalling occurred and to return to a debug interrupt mode of operation in response to the debug interrupt is pending indication.