A task switch from a first data processing task to a second data
processing task can be accomplished by the first task calling a function
which saves the first task's context, restores the second task's context
and then returns. Because the second task's context has been restored,
the called function actually returns to the second task, thereby
completing the task switch.