portYIELD_FROM_ISR

hello all, I am working on atmel at91sam7s256 base on IAR workbench 5.00. the semaphore example which appears in FreeRtos Web site uses portYIELD_FROM_ISR macro, its being called after xSemaphoreGiveFromISR and if xHigherPriorityTaskWoken was set to true. first of all, I would like to understand, what is the Yield macro role ? is it uses in order to force a context switch after the interrupt routine is ended? second, I didn’t found portYIELD_FROM_ISR macro at all, so I was trying to use "taskYIELD" but the OS was crashed. what am I doing wrong? does any one can help me with that problem? thanks, 

portYIELD_FROM_ISR

There is an example given under "interrupt service routines" on this page http://www.freertos.org/portsam7iar.html and most likely in the demo for your port as well.