Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2010, 21:51   #1
Sobaka_ru
Пользователь
 
Регистрация: 09.12.2010
Сообщений: 44
По умолчанию Поясните прогу

Код:
start:
    invoke  GetModuleHandle,0
    invoke  DialogBoxParam,eax,37,HWND_DESKTOP,DialogProc,0
 
proc DialogProc wnd,msg,wparam,lparam
    xor eax,eax
    cmp [msg],WM_COMMAND
    jne wm_close
      cmp [wparam],1
      jne @2
        invoke IsDlgButtonChecked,[wnd],3
        test   eax,eax
        je @f
          invoke SendDlgItemMessage,[wnd],5,WM_SETTEXT,0,0
        @@:
        invoke SendDlgItemMessage,[wnd],4,WM_SETTEXT,0,0
        ret
      @2:
      cmp [wparam],2
      jne exit
        invoke SendDlgItemMessage,[wnd],4,WM_GETTEXT,32,Buffer
 
        fld1
        mov    esi,Buffer
        lea    ecx,[esi+eax]
        convert:xor    eax,eax
                xor    edx,edx
                @@:lodsb
                   lea edx,[edx*4+edx]
                   lea edx,[edx*2+eax-48]
                   cmp byte[esi],'0'
                jae @b
                mov    [esp-4],edx
                fild   dword[esp-4]
                inc    esi
                cmp    esi,ecx
        jna convert
        mov    edi,Buffer
        sub    ecx,edi
        mov    al,'.'
        repne  scasb
        jne @f
          neg    ecx
          fidiv  [power10+36+ecx*4]
          faddp  st1,st
        @@:
 
        fyl2x
        fldl2t
        fdivp  st1,st
        mov    edi,Buffer
        call   float2str
        invoke SendDlgItemMessage,[wnd],5,WM_SETTEXT,0,Buffer
        ret
    wm_close:
    cmp [msg],WM_CLOSE
    jne exit
      invoke ExitProcess,eax
    exit:
    ret
endp
 
float2str:
pushad
    fstcw [esp-2]
    or    word[esp-2],0000011100000000b
    fldcw [esp-2]
    fld1
    fld   st1
    fabs
    fyl2x
    fldl2t
    fdivp
    fistp dword[edi]
 
    mov   ebx,[edi]
    movzx ecx,bx
    sar   cx,15
    not   cx
    and   bx,cx
    lea   cx,[bx+1]
    sub   bx,8
    sbb   dx,dx
    not   dx
    and   bx,dx
    lea   ebp,[ebx*4]
    fimul [power10+ebp]
    fbstp [edi]
    fldcw [esp-2]
 
    mov   ebp,-9
    mov   esi,esp
    @1:movzx ax,byte[edi+ebp+9]
       shl   ax,4
       shr   al,4
       add   ax,3030h
       rol   ax,8
       push  ax
       inc   bp
    jne @1
 
    xchg esi,esp
    shl  byte[edi+9],1
    mov  byte[edi],'-'
    adc  di,0
 
    lea ebx,[ebx-9]
    sub si,cx
    add si,bx
    add si,18
    rep movsb
    mov byte[edi],'.'
    inc di
    sub cx,bx
    rep movsb
    std
    dec  di
    not  cx
    mov  al,'0'
    repe scasb
    cmp  [edi+1],al
    sbb  di,0
    mov  byte[edi+2],0
    cld
popad
ret
power10 dd 1000000000,100000000,10000000,1000000,100000,10000,1000,100,10,1
 
strfmt db '%i',0
Buffer rb 33

Последний раз редактировалось AlDelta; 16.12.2010 в 23:32.
Sobaka_ru вне форума Ответить с цитированием
Старый 16.12.2010, 22:13   #2
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Точно сказать не могу, но по моему эта прога получает доступ к рабочему столу, Читает/Устанавливает Заголовки окон, А потом что-то закрывает.
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 16.12.2010, 22:44   #3
Sobaka_ru
Пользователь
 
Регистрация: 09.12.2010
Сообщений: 44
По умолчанию

Цитата:
Сообщение от Ghost of Night Посмотреть сообщение
Точно сказать не могу, но по моему эта прога получает доступ к рабочему столу, Читает/Устанавливает Заголовки окон, А потом что-то закрывает.
Мне бы функции че обозначают основные
Sobaka_ru вне форума Ответить с цитированием
Старый 16.12.2010, 23:16   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

это АПИ, а значит есть в МСДН
p51x вне форума Ответить с цитированием
Старый 16.12.2010, 23:36   #5
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

Уроки для изучения ассемблера ссылка
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поясните по ассемблеру Namolem Помощь студентам 1 10.10.2010 12:11
Поясните код... Masip Общие вопросы Delphi 1 18.05.2010 07:22
Поясните по getdir AK BULLETS Общие вопросы Delphi 2 19.03.2010 14:16
С Поясните программу. vep Общие вопросы C/C++ 7 02.10.2009 19:17