Показать сообщение отдельно
  #1  
Старый 08.04.2011, 07:36
mkolmogorov mkolmogorov вне форума
Прохожий
 
Регистрация: 08.04.2011
Сообщения: 2
Репутация: 10
По умолчанию не понимаю асм в pascal

Здравствуйте!
Обнаружил на сайте http://www.delphisources.ru/pages/fa...ncryption.html исходник IDEA шифрования, пытаюсь перенести его на php.
Встретилась вставка на ассемблере, которую не могу понять:

Код:
function ROL(a, s: LongWord): LongWord;
asm
  mov    ecx, s //ecx больше нигде не используется. для чего?
  rol    eax, cl //eax и cl тоже. для чего?
end;

и далее идет использование этой функции

Код:
K1 := ROL(K1, K2) xor K2;

не понимаю, для чего в ней нужен неиспользуемый параметр a?
и вообще, функция вроде ничего не возвращает, а как тогда она используется?

Буду премного благодарен за ответы!
Ответить с цитированием