[ Assembler ] — начинающим: задаем вопросы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by !_filin_!, 25 May 2007.

  1. Actor

    Actor New Member

    Joined:
    10 Jan 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    ? На RadAsm-e. Мм, сначала assemble, потом link. В результате получал 2 файла - .obj и .exe.

    Чтобы посмотреть, выводит ли в консоль, я запустил консоль)))
    win+r -> cmd -> [перешел в папку в ехе-шником] -> запустил ехе-шник)

    Вместо текста программа просто пропускает строку и все.
     
  2. Ruskey

    Ruskey New Member

    Joined:
    16 Nov 2006
    Messages:
    11
    Likes Received:
    4
    Reputations:
    0
    У тебя метка cWritten (12 строка) с двумя "t", в функцию WriteConsoleA ты передал с одной "t".

    Собирать этот код так:
    C:\masm32\bin\ml.exe /c /coff lol.asm
    C:\masm32\bin\link.exe /subsystem:console lol.obj

    lol.asm - имя исходника.
     
  3. Actor

    Actor New Member

    Joined:
    10 Jan 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    thx, заработало)

    Кстати, нашел второй способ решения проблемы - вызвать процедуру AllocConsole.
     
  4. 1ten0.0net1

    1ten0.0net1 Time out

    Joined:
    28 Nov 2005
    Messages:
    473
    Likes Received:
    330
    Reputations:
    389
    Опрашиваю все съёмные носители и далее использую функцию CreateFile вот таким образом
    invoke CreateFile, drive, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_HIDDEN, 0
    ;проверка на INVALID_HANDLE_VALUE - тогда на exit
    ; ОШИБКА НА ДИСКЕ, оставшемся из-за Alcohol или DAEMON TOOLS. MSDN - This error can occur if the CD-R drive or CD-RW drive is not recognized as a recordable device.

    cmp eax, 0
    je next

    На одном устройстве выпадает окошко с ошибкой There is no disk in the drive (это остаток виртуального диска от DAEMON TOOLS) - если нажать далее - то всё ок.

    Как мне сделать так, чтобы оно не выскакивало вообще (без программного нажатия кнопки далее). В случае, если так нереально сделать - то как сделать програмнное нажатие кнопки далее - я имею ввиду - перехватить хэндл появившего окна и отослать диспетчеру что-то типа MB_OK?
     
  5. xlinux

    xlinux Banned

    Joined:
    11 Mar 2007
    Messages:
    8
    Likes Received:
    33
    Reputations:
    4
    Code:
    //Функция проверки готовности диска, нужна для дискет и компакт-дисков
          BOOL IsDriveReady(char drive)
          {
          BOOL res;
          char path[4];
          asm
            {
    //заполняем path
            mov al,drive
       lea ebx,path
       mov [ebx],al
       mov [ebx+1], byte ptr':'
       mov [ebx+2], byte ptr'\'
       mov [ebx+3], byte ptr 0
       push SEM_FAILCRITICALERRORS
       call SetErrorMode            //устанавливаем минимальный уровень ошибок
       push eax                                     //сохраняем страрый ErrorLevel
       push ebx
       call SetCurrentDirectory     //пытаемся обратиться к приводу
       mov res,eax
       call SetErrorMode                    //возвращаем старый Errorlevel
             }
          return res;
          }
    Короче, надо вызвать SetErrorMode с параметром SEM_FAILCRITICALERRORS
     
    1 person likes this.
  6. 1ten0.0net1

    1ten0.0net1 Time out

    Joined:
    28 Nov 2005
    Messages:
    473
    Likes Received:
    330
    Reputations:
    389
    Всё сработало отлично, благодарю. Правда, FASM отказался опознавать SEM_FAILCRITICALERRORS - пришлось заменять на 1.
     
    1 person likes this.
  7. TrueBit

    TrueBit Member

    Joined:
    21 Nov 2009
    Messages:
    71
    Likes Received:
    19
    Reputations:
    4
    Как сделать так чтоб кнопка была по центру окна?
    ps masm32
     
  8. StFooz

    StFooz Banned

    Joined:
    3 Jan 2010
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Подскажите литературу для программирования PIC16f676
     
  9. Folc

    Folc Elder - Старейшина

    Joined:
    12 Feb 2007
    Messages:
    245
    Likes Received:
    72
    Reputations:
    14
    Есть программа написанная на асм(имеется только *.exe)- умеет отправлять введенные в поле данные на мыло. Адрес мыла знаю.
    Как разложить прогу на программный код, найти там мыло и поменять на свое?

    PS дисасемблер не помог...
    знания ассемблера- 0
     
  10. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Искать людей, которые разбираются
     
    _________________________
  11. Folc

    Folc Elder - Старейшина

    Joined:
    12 Feb 2007
    Messages:
    245
    Likes Received:
    72
    Reputations:
    14
    да ладно чего сложного?
    разложить, и найти в коде yandex.ru
    другой вопрос чем разложить экзешник? =)
     
  12. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    hiew в помощь
     
    _________________________
  13. BastardFromHell

    Joined:
    5 Feb 2010
    Messages:
    50
    Likes Received:
    18
    Reputations:
    6
    только учти что длинна нового почтового ящика должна быть такой же как старого
     
  14. Hiro Protagonist

    Joined:
    26 Aug 2009
    Messages:
    132
    Likes Received:
    24
    Reputations:
    -2
    2BastardFromHell
    зависит от проги, в общем случае не больше.
    2Folc
    Чето я добрый, стукни - помогу.
     
  15. fluffylion

    fluffylion Member

    Joined:
    22 Feb 2010
    Messages:
    55
    Likes Received:
    10
    Reputations:
    0
    Folc? если еще актуально могу помочь
     
  16. cheater_man

    cheater_man Member

    Joined:
    13 Nov 2009
    Messages:
    651
    Likes Received:
    44
    Reputations:
    7
    не факт.
     
  17. Explode

    Explode Member

    Joined:
    20 Jun 2009
    Messages:
    25
    Likes Received:
    5
    Reputations:
    0
    Где взять aplib.lib для TASM'а?
     
  18. igorf()x

    igorf()x Elder - Старейшина

    Joined:
    17 Oct 2007
    Messages:
    138
    Likes Received:
    53
    Reputations:
    5
    http://usar.pp.ru/download/
    http://www.programmersheaven.com/download/20144/download.aspx
    http://www.ibsensoftware.com/products_aPLib.html
     
  19. Taktik

    Taktik Member

    Joined:
    27 Jun 2008
    Messages:
    27
    Likes Received:
    10
    Reputations:
    5
    mov eax,20
    mov ebx,20
    xor eax,ebx
    Чему равно eax, десятичной цифрой?
     
  20. nMonkn

    nMonkn Member

    Joined:
    4 Jan 2010
    Messages:
    16
    Likes Received:
    5
    Reputations:
    0
    Нулю
     
    1 person likes this.