Главная страница
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.046 c
2-1149081285
Nikolaich
2006-05-31 17:14
2006.06.18
узнать сколько в n-минутах, часов, дней


2-1148990281
Setor
2006-05-30 15:58
2006.06.18
Как связать переменную с опр. кнопкой, зная Name этой кнопки?


11-1128890490
DillerXX
2005-10-10 00:41
2006.06.18
Центр экрана


15-1148402721
vrem
2006-05-23 20:45
2006.06.18
Программирование не как ремесло.


1-1147191120
Teddy24
2006-05-09 20:12
2006.06.18
Вопрос о создании ресурса проекта. (RC)