Для программирования я использую Delphi 7. У меня нет возможности проверить все исходники с другими версиями Delphi. Скорее всего, в поздних версиях не потребуется изменений исходного кода, а в ранних версиях (обычно начиная с Delphi 4) изменения будут незначительными. Если вы любите программировать и немного знакомы с Delphi и BASM, то легко справитесь с этим, руководствуясь общими замечаниями.
В ранних версиях Delphi не существовало директив компилятора, управляющих генерацией предупреждений о небезопасном коде, например:
{$WARN UNSAFE_TYPE OFF} {$WARN UNSAFE_CODE OFF} {$WARN UNSAFE_CAST OFF}
Закомментируйте эти директивы, если они служат причиной сообщений об ошибках.
Ранние версии Delphi при использовании BASM требовали явного указания размера операндов, расположенных в оперативной памяти (в тексте программы такие операнды заключены в квадратные скобки). Поэтому в каждом операторе, для которого компилятор генерирует сообщение об ошибке ”Invalid combination of opcode and operands”, перед операндом, расположенным в оперативной памяти, явно укажите его размер, соответствующий размеру другого операнда. Т.е., например, вставьте перед ним:
- byte ptr, если другой операнд равен al, bl, cl, dl, ah, bh, ch, dh,
- word ptr, если другой операнд равен ax, bx, cx, dx, si, di, bp,
- dword ptr, если другой операнд равен eax, ebx, ecx, edx, esi, edi, ebp, esp, или если другой операнд отсутствует.