2
merciЦитата:
В каждой группе следующих подряд одинаковых литер оставить только одну из них
Элементарно. Достаточно написать процедуру посимвольного копирования вашего текста из одного буфера в другой. Идея в том, чтобы в отдельной переменной (или регистре) хранить предыдущий просмотренный символ исходного текста, и если текущий символ равен предыдущему, то копирование (добавление символа в выходной буфер) производить не нужно.
Псевдокод:
mov AL, 0 ; Or "call read_char_to_AL."
djvu:
mov BL, AL ; Save previous character.
call read_char_to_AL
cmp AL, BL ; RLE-like compression. :)
je djvu ; If AL==BL goto djvu.
call write_char_from_AL
jmp djvu