![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 25.04.2011
Сообщений: 1
|
![]()
Ребята! Помогите плиз разобраться, что выполняет фрагмент программы:
var_28 =byte ptr -28h var_18 =byte ptr -18h var_E =byte ptr -0Eh var_D =byte ptr -0Dh var_4 =byte ptr -4 var_2 =byte ptr -2 push si push di lea ax, [bp+var_28] push ss push ax push ds push offset unk_16978 mov cx, 10h call N_SCOPY@ xor dx, dx jmp short loc_102B5 loc_102AC: lea bx, [bp+var_18] add bx, dx mov byte ptr [bx], 0 inc dx loc_102B5: cmp dx, 0Ah jl short loc_102AC mov [bp+var_2], 0Ah jmp short loc_102D4 loc_102C1: mov bx, 0Ah sub bx, [bp+var_2] lea ax, [bp+var_E] add bx, ax mov al, byte ptr [bp+var_2] mov [bx], al dec [bp+var_2] loc_102D4: cmp [bp+var_2], 0 jge short loc_102C1 mov [bp+var_2], 3 xor si, si jmp short loc_10328 loc_102E3: mov al, [bp+si+var_E] cbw mov dx, ax mov cl, byte ptr[bp+var_2] shl dx, cl and dx, 0FFh mov al, [bp+si+var_D] cbw mov [bp+var_4], ax xor di, di jmp short loc_1031F loc_102FD: mov bx, di add bx, bx lea ax, [bp+var_28] add bx, ax mov ax, [bp+var_4] test [bx], ax jz short loc_1031E mov bx, 8 sub bx, [bp+var_2] add bx, di add bx, bx lea ax, [bp+var_28] add bx, ax or dx, [bx] loc_1031E: inc di loc_1031F: cmp di, [bp+var_2] jl short loc_102FD mov [bp+si+var_18], dl inc si loc_10328: cmp si, 0Ah jl short loc_102E3 pop di pop si return 0 N_SCOPY@ proc near arg_0 = dword ptr 4 arg_4 = dword ptr 8 push bp mov bp,sp push si push di push ds lds si, [bp+arg_0] les di, [bp+arg_4] cld shr cx, 1 rep movsw adc cx,cx rep mowsb pop ds pop di pop si pop bp return 8 N_SCOPY@ endp Особенно интересует инициализация: почему указатели минусовые? Пожалуйста помогите девушке... |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,829
|
![]()
Сразу виден дизассемблер. Минусовые потомучто это переменные в стеки.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 01.05.2011
Сообщений: 23
|
![]()
Точнее сказать пока не могу
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Опишите что делает программа на каждом шаге( | 1Илья1 | Помощь студентам | 0 | 07.04.2011 07:53 |
Обьясните, что делает это программа??? | ~Леди~ | Общие вопросы Delphi | 2 | 05.04.2011 10:47 |
Что делает программа (забыл) С\С++ | Айдар | Помощь студентам | 6 | 27.06.2010 12:39 |
Как работает программа и что делает | dragun4ik | Помощь студентам | 0 | 23.05.2010 15:51 |
что делает эта программа и где ошибка? | дангер | Паскаль, Turbo Pascal, PascalABC.NET | 27 | 28.01.2008 13:38 |