Instrukcja return powoduje, że wykonanie opuszcza bieżący podprogram i wznawia działanie w punkcie kodu bezpośrednio po wywołaniu podprogramu, znanym jako jego adres zwrotny. Adres zwrotny jest zapisywany, zwykle na stosie wywołań procesu, jako część operacji wykonywania wywołania podprogramu. Niektóre języki programowania pozwalają funkcji na określenie jednej lub więcej wartości zwracanych, które mają być przekazane z powrotem do kodu, który wywołał funkcję.