а как быть с разными версиями одних и тех же кусочков кода? например, васе пупкину нужны самые быстрые процедуры а его корешу вове тяпкину нужны самые маленькие?
динамическая линковка подразумевает возможность подгрузить эти недостающие кусочки мозаики.для системного диска с кучей программ можно позволить себе хранить на нем с десяток разных драйверов, а как быть с одной программой? статическая линковка только...
имхо реализация предложенного варианта может быть более-менее прилично выполнена только на ЯВУ (тот же С). отметается вопрос о формате вызова (все юзают один и тот же компилер естесно) и о приоритете (размер/скорость) - все решается опциями компилятора

а для ассемблера- оставить как есть, но расширить и углубить %) зачем писать с нуля драйвер чего-то там, если можно полистать кодерские разделы в прессе и взять что тебе надо? я начал собирать некотрую информацию по этому поводу, но пока нет времени пополнить сборник.