Алгоритм сжатия "Unbuffered RLE"
Категория реферата: Рефераты по информатике, программированию
Теги реферата: образ реферат, доклад 2011
Добавил(а) на сайт: Savinian.
Предыдущая страница реферата | 1 2 3 4 5 6 | Следующая страница реферата
Выходной_поток = Текущий_байт
Если Текущий_байт = Предыдущий_байт тогда
Счетчик = Взять_байт_из_входного_потока
Цикл Счетчик раз Выходной_поток = Текущий_байт
Конец если
Предыдущий_байт = Текущий_байт
Конец цикла
И на всякий случай привожу ассемблерный код алгоритма декодирования. Код, естественно, рассчитан опять под аппаратное устройство, то есть дешевую плату с микропроцессором (нет памяти, используются три регистра, работа через порты ввода-вывода), которое находится на противоположной стороне транспортной магистрали и занимается банальным декодированием приходящего из транспортной магистрали потока. Тут входной порт микропроцессора подключен к транспортной магистрали, а выходной порт - к чему-нибудь еще, куда затем направляется раскодированный поток.
Decode_Unbuffred_RLE: // -----------------------
//
in al, Number_of_InputPort // AL = первый байт из входного потока
out Number_of_OutputPort, al // записать байт в выходной поток
mov ah, al // этот байт теперь становится предыдущим
//
Get_from_InputStream: // -----------------------
//
in al, Number_of_InputPort // AL = следующий байт из входного потока
out Number_of_OutputPort, al // записать байт в выходной поток
cmp al, ah // равен ли он предыдущему байту?
mov ah, al // этот байт теперь становится предыдущим
jnz Get_from_InputStream // если байты не одинаковы, взять следующий байт
//
in al, Number_of_InputPort // AL = следующий байт из входного потока
mov bl, al // BL = счетчик повторов
mov al, ah // восстановить в AL текущий байт
Рекомендуем скачать другие рефераты по теме: антикризисное управление предприятием, банк курсовых работ бесплатно.
Предыдущая страница реферата | 1 2 3 4 5 6 | Следующая страница реферата