A method of processing an interrupt routine by a digital instruction processor control having an instruction pipeline, which cyclically executes instructions from a set, including an interrupt procedure call instruction, a "branch delay" instruction and a plurality of branch instructions each determining a "branch condition", stored in an instruction cache having a plurality of locations each with a designator, wherein said interrupt routine is to be processed between a branch instruction placed in said pipeline one cycle prior to occurrence of said interrupt, and having a branch target address and a branch delay instruction placed in said pipeline to two cycles prior to the occurence of said interrupt, comprising steps of:
- (a) saving a location designator of a branch target instruction;
- (b) saving said branch target address;
- (c) processing said interrupt routine;
- (d) prior to returning from said interrupt routine fetching for said pipeline an instruction located at the location designator saved at step (a);
- and
- (e) prior to returning from said interrupt routine fetching for said pipeline the instruction located at the location designator saved at step (b).