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 of debug code, wherein the execution of the debug code operates to save processor state information and data values to the external device; to 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 to restore the processor to a processor state that existed at the point in the program where stalling occurred and to resume execution of the program from said point.