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