Описание системы:
есть два массива по 81920 байт.
ЗАДАЧА: Необходимо произвести сравнение двух массивов, и сгенерировать последовательность команд для некоего устройства, описывающих разницу между массивами.
Команды есть двух типов:
1) выдача адреса следующей выводимой последовательности байтов. Обзовем ее ADDR(<value>)
2) выдача последовательности одинаковых байтов указанной длины. Обзовем ее BYTE(<value>,<count>). Количество одновременно выдаваемых байтов с помощью этой команды ограничено значением 12. При выдаче последовательности байтов текущий адрес выдачи смещается автоматически. Адрес необходимо выдавать, только если выдается последовательность байтов, не примыкающая к предыдущей выданной.
Задача: разработать алгоритм решения описанной задачи=)
Как продолжение задачи могу указать, что этот алгоритм должен быть реализован на С в процедуре драйвера ядра Linux на 486 процессоре. Команды подаются путем выдачи значения в 16-ти разрядный порт.
Задача мной решена, но хотел бы узнать какие-либо новые варианты.