А если вызывать стороннюю процедуру, необходимо будет сохранить все, что может менять процедура огласно применяемым правилам вызова. Если-бы был механизм, позволяющий наделять процедуру частью свойств процедуры прерывания (сохранение и восстановление контекста), но без записи вызова в таблицу векторов и возврат по ret, а не reti - получилось-бы замечательно, а так эти два подхода оказваются примерно равнозначными.