Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.18;
Скачать: CL | DM;

Вниз

ASM и DELPHI   Найти похожие ветки 

 
rihtich   (2006-05-23 05:40) [0]

Здравствуйте
Помогите разобраться с ASM, объясните, что делает следующая функция:

  procedure decritt(var s:string; key:integer);
   asm
   mov ecx, key
   mov dl, cl
   shr ecx, 20
   mov dh, cl
 
   mov esi, s
   mov esi, [esi]
   or  esi, esi    // nil string
   jz  @OUT
   
   // now esi points to the first character of the string
   
   mov ah, 10111000b
 
   mov ecx, length(s)
   or  ecx, ecx
   jz  @OUT
 @IN:
   mov al, [esi]
   xor al, ah
   rol al, 3
   xor al, dh
   sub al, dl
 
   mov [esi], al
   inc esi
   ror ah, 3
   dec ecx
   jnz @IN
 @OUT:
   end; // decritt


 
balepa ©   (2006-05-23 07:44) [1]

Не отсюда ли взято ?
И это не функция, а процедура
http://andrq.org/forum/viewtopic.php?t=660&lighter=


 
БарЛог ©   (2006-05-23 08:21) [2]

> mov ecx, key
Народ, а чем отличается ecx от cx?
В нем два слова чтоли?

ЗЫ Отстал от жизни.


 
Marser ©   (2006-05-23 08:31) [3]

> [2] БарЛог ©   (23.05.06 08:21)
> > mov ecx, key
> Народ, а чем отличается ecx от cx?
> В нем два слова чтоли?

Да. 32-разрядный регистр.


 
balepa ©   (2006-05-23 08:32) [4]


> БарЛог ©   (23.05.06 08:21) [2]


32-битные EAX – EDX появились с введением 32-битной архитектуры в 80386. Кроме этого, отдельные байты в 16-битных регистрах AX – DX тоже имеют свои имена и могут использоваться как 8-битные регистры. Старшие байты этих регистров называются AH, BH, CH, DH, а младшие — AL, BL, CL, DL

"Ассемблер для DOS, Windows и Unix"
1999 Издательство «ДМК Пресс»


 
БарЛог ©   (2006-05-23 08:44) [5]

Так и думал, спасибо :)



Страницы: 1 вся ветка

Текущий архив: 2006.06.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
2-1149239089
Trabl
2006-06-02 13:04
2006.06.18
Cannot focuse a disable or invisible window


2-1148683470
yaro
2006-05-27 02:44
2006.06.18
Даже не знаю как написать


3-1145770856
Express
2006-04-23 09:40
2006.06.18
Стандартное исключение каскадного удаления


1-1147537027
varfolomey
2006-05-13 20:17
2006.06.18
Баг с клавой


15-1148286283
Fin
2006-05-22 12:24
2006.06.18
Правила в фаерволе для ограничения