У меня была подобная задача. Решал так:
http://abzac.retropc.ru/content?id=813

Смотреть начало процедуры MKFASTPUT и функцию FINDMX соответственно