Форум: "Прочее";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c