Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #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?
и вообще, функция вроде ничего не возвращает, а как тогда она используется?

Буду премного благодарен за ответы!
Ответить с цитированием
  #2  
Старый 08.04.2011, 08:37
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

cl это младший байт регистра ecx. в eax находиться значение параметра a. в нем же (eax) и будет находиться результат всей функциии ROL(a, s: LongWord): LongWord. для сдвига командой rol используются только 5 младших битов регистра cl. диапазон 0.31, думаю понятно почему.
__________________
Пишу программы за еду.
__________________

Последний раз редактировалось NumLock, 08.04.2011 в 08:39.
Ответить с цитированием
  #3  
Старый 08.04.2011, 08:46
mkolmogorov mkolmogorov вне форума
Прохожий
 
Регистрация: 08.04.2011
Сообщения: 2
Репутация: 10
По умолчанию

спасибо!
только ассемблера не знаю абсолютно
есть ли возможность проделать такую же операцию на php?
подскажите, хотя бы в какую сторону копать)
Ответить с цитированием
  #4  
Старый 08.04.2011, 08:59
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

http://angry-web.blogspot.com/2010/02/php.html
rol это сдвиг влево (как работает не проверял)
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:23.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter