Особенности реализации 16-ти разрядной версии

Все ассемблерные подпрограммы и функции используют команды только процессора 8088, что позволяет использовать предлагаемую библиотеку на любых   IBM совместимых компьютерах.

Номера бит в массиве последовательности битов (битовая переменная) задаются переменной в формате WORD (16-ти разрядное целое без знака), могут принимать значения от 0 до 65520.

Контроль индексов и размерностей битовых переменных осуществляется при трансляции модуля с опцией {$R+}, при этом, в случае возникновения несоответствий, производится изменение состояния константы Error_Str_bit, и осуществляется необходимая коррекция параметров операции. В дальнейшем правильное выполнение операций не обнуляет состояние константы Error_Str_bit. Это позволяет определить правильность выполнения всех битовых операций в конце работы программы и, при необходимости, найти место ошибки методом трассировки.

Внимание!   При трансляции модуля с опцией {$R–} контроль выхода номера обрабатываемого бита за границы распределенной памяти не производится, что может привести к ошибкам в работе программы, однако в этом случае несколько повышается быстродействие работы откомпилированной программы.

Для ускорения обмена данных с накопителем, при обработке битовых файлов, рекомендуется размер буфера выбирать кратным 512 байтам. Максимальный размер буфера не должен превышать 7680 байт (в случае попытки задания буфера большего размера его размер уменьшается до указанной величины, что связано с особенностями реализации передачи данных из буфера в область данных битовой переменной). Наибольшая скорость записи (считывания) достигается при размере буфера кратном размеру кластера накопителя информации (512, 1024, … в зависимости от размера логического диска накопителя).

Внимание!   Не забывайте в обязательном порядке перед завершением программы закрывать обрабатываемые файлы с помощью функции CloseBitFile.  При несоблюдении этого правила возможна потеря данных в обрабатываемых файлах.

Функции обработки операций битового обмена с файлами возвращают в качестве результата код, определяющий успешность выполнения операции, который может принимать следующие значения:

Объект "битовая переменная", оформленный в виде модуля, приведен в файле strbit16.pas (для компиляции модуля дополнительно необходимы файлы: Psp_8, Psp32, Sum_ed, Orderbit, которые прилагаются в объектном и ассемблерном виде). Контрольная программа, показывающая интегральный пример использования предлагаемых объектов и позволяющая осуществить контроль правильности функционирования, приведен в файле otl.pas.