Задача:
Если два одинаковых символа стоят подряд,то второй символ заменяется на '*'.
Название Размерность Тип
In 8 вход
S 1 вход
Out 8 выход
In - входной символ
S - по переднему фронту читаем входной символ; по заднему выдаем выходной
Out - выходной символ
unsigned char __in In;
unsigned char __in S;
unsigned char __out Out;
void main()
{
while(S); // задержка для того, что поймать первый передний фронт
unsigned char last = 0; // запоминаем последний символ
for (;;)
{
while (!S); // ждем передний фронт
unsigned char cout = In;
if (last == cout)
{
cout = '*';
last = 0;
}
else last = cout;
while(S); // ждем задний фронт
Out = cout;
}
}