ezswift, не знаю насколько эффективно это можно перевести на ассемблер, но для сигналов энкодера есть такой алгоритм обработки:
if(Bit0!=Old0 || Bit1!=Old1){
if(Bit0!=Old1)
++Coo;
else
--Coo;
Old0=Bit0; Old1=Bit1;
}