Главная страница
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-1148897500
Влад
2006-05-29 14:11
2006.06.18
WinAPI


2-1148914109
0_o
2006-05-29 18:48
2006.06.18
Обращение к родительской ветке древа


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


3-1145948685
Patrick
2006-04-25 11:04
2006.06.18
Макроподстановки в SQL.


3-1145967793
Express
2006-04-25 16:23
2006.06.18
TDBGrid - номер текущей записи и всего записей в таблице