ПРо МК затрудняюсь сказать, но для процессоров, у которых указатель стека есть существо аппаратное, это был самый шустрый способ передачи данных в/из процедуру/функцию. ПУШ и ПОП, никаких указаний адресов. Если еще проц умеет производить операции с данными на верхушке стека - тоже экономия. Может, оттуда ноги растут?