MaxIkar

Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Приветствую всех! У меня проблема. Имеется задача (Win32): Создать приложение-ревизор, осуществляющее постановку на учет и последующую проверку файлов на предмет модификации (контроль целостности) с помощью подсчета контрольной суммы файла (CRC) и последующего сравнения с хранящимся эталоном. Замечание. Необходимо реализовать механизм, регистрирующий модификацию одного бита. Интерфейс пользователя необходимо создать в среде Delphi, механизм проверки целостности файла реализовать на языке Assembler (ассемблерные вставки). Проблема именно с ассемблерной составляющей. У самого такие идеи: писать ассемблерными вставками в Delphi, сделать dll или включить в состав проекта obj-файл с процедурами. В архиве http://www.thequietplace.net/godstower/asm.rar + один рабочий алгоритм (working), там одна асмовская процедура, в которую всключена готовая таблица crc. + dos - 3 досовские + yurov - чистый ассемблер + my - попытка заставить алгоритм Юрова работать под win32 В чем заключается проблема? Рабочий алгоритм вычисляет другую crc (подозреваю, что там используется другой полином) чем досовкие варианты. И мне кажется, что лучше использовать не готовую таблицу, а генерировать ее, как это сделано у Юрова. Что я и попытался сделать. Но у меня ничего не выходит. Пока попытался проинициализировать таблицу (InitTbl), храня ее в глобальном массиве. Дальше же хотел заюзать нижнюю часть алгоритма но учитывая то, что файл буду читать кусками и надо накапливать уже вычисленную crc. Пытался это оформить dll (думаю, что это хорошая практика на будущее - потом использовать код в других проектах), но и из этого ничего не вышло. Может кто-нибудь даст советы по поводу портирования 16-битного кода в 32-битный и использования его в Delphi? Интересует все: от того, как передавать параметры до того, какого типа лучше брать переменные, как хранить данные. Спасибо |