1. In a microprogrammed data processing system providing for the concurrent execution of a plurality of tasks, the combination comprising: program control means for generating a plurality of tasks, each task being performable by the execution of one or more task microinstructions; microinstruction storage means for storing selectably addressable task microinstructions for use in performing said tasks; task control means coupled to said program control means for activating a plurality of different tasks and for selectively addressing said microinstruction storage means in order to provide for the concurrent execution of a plurality of different activated tasks; microinstruction execution means operating in a multi-phased staged manner for concurrently executing a plurality of different task microinstructions selected from said microinstruction storage means and for producing microinstruction execution results for each executed microinstruction; microinstruction sequencing control means responsive to microinstructions selected from said microinstruction storage means and to said microinstruction execution results for providing indications to said task control means for use in determining the selective addressing of said microinstruction storage means; said microinstruction sequencing control means also being operative to provide a subroutine entry indication and a task identification indication when a task enters a subroutine and a subroutine return indication and a task identification indication when the task exits a subroutine; and subroutine control means operating in a multi-phased staged manner in synchronism with said microinstruction execution means, said subroutine control means being responsive to said subroutine entry and return indications and to said task identification indications for determining and storing multiple levels of return addresses for subroutines entered by each task and for providing a corresponding return address to said sequencing control means when a task exits a subroutine.