Так уж повелось что появились эти ярлыки "подпрограмма/функция/процедура" в связи с call/int ret/iret, главное что ничего страшного бы не произошло, если бы эти три термина и вовсе не придумали. Главное что есть эти инструкции и ты знаешь как они работают, а следовательно знаешь где и когда их можно/нужно применять. Ведь call не обязательно входит куда-то с последующим выходом... Закрутить можно как угодно.