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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2019, 13:20   #1
Mishka_M
Пользователь
 
Регистрация: 11.05.2018
Сообщений: 32
По умолчанию Проблема с созданием .exe

Добрый день. Заранее благодарен за помощь.
Суть проблемы.
Имеется код.
Код:
.386
.model flat, stdcall
option casemap : none

include C:\masm32\include\kernel32.inc
include C:\masm32\include\msvcrt.inc

includelib C:\masm32\lib\kernel32.lib
includelib C:\masm32\lib\msvcrt.lib

CRLF equ 13, 10

.data
    cmpStr db "The string of text for compare with entered symbol ascii code", 0
    cmpStrComment db "The string for comparement is: ", 0
    msgInviteInput db CRLF, "Enter any char for comparement: ", 0
    msgRes db "Result is ", 0
    msgFinal db CRLF, "Enter any char and press 'Enter' for exit", CRLF, 0
    
    formatInt db '%d',0
    formatStr db '%s',0
.data?             
    cmpChar db ?
.code
start:
    
    invoke crt_printf, ADDR formatStr, ADDR cmpStrComment
    invoke crt_printf, ADDR formatStr, ADDR cmpStr
    invoke crt_printf, ADDR formatStr, ADDR msgInviteInput 
    invoke crt_scanf, ADDR formatStr, ADDR cmpChar
    mov al, cmpChar
    mov edi, offset cmpStr
    mov ecx, offset cmpStrComment
    sub ecx, edi
    sub ecx, 1 
    xor ebx, ebx
    cld  
    lp1:
        scasb 
        ja skip
        inc ebx
        skip:
    loop lp1
    invoke crt_printf, ADDR formatStr, ADDR msgRes
    invoke crt_printf, ADDR formatInt, ebx
    invoke crt_printf, ADDR formatStr, ADDR msgFinal
    invoke crt_scanf, ADDR formatStr, ADDR cmpChar
    invoke ExitProcess, 0
end start
Собираю его в exe при помощи батника с кодом:
Код:
set filename=ipr1
c:\masm32\bin\ml /c /Cp /coff %filename%.asm
c:\masm32\bin\link /SUBSYSTEM:WINDOWS %filename%.obj
del %filename%.obj
Все отлично, компилируется exe, но при запуске что то быстро выполняется и тишина, а по-идее должен высветить запрос на ввод символа. Не могу залить скрин, какая-то проблема с вложениями, постоянно пишет неудачная загрузка.

Так вот, кто может подсказать, в чем все-таки дело? В коде или я как-то не так собираю exe?
Mishka_M вне форума Ответить с цитированием
Старый 22.05.2019, 18:10   #2
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

/SUBSYSTEM:console
или инициализировать собственную консоль обращением к WinAPI
FPaul вне форума Ответить с цитированием
Старый 22.05.2019, 20:40   #3
Mishka_M
Пользователь
 
Регистрация: 11.05.2018
Сообщений: 32
По умолчанию

Цитата:
Сообщение от FPaul Посмотреть сообщение
/SUBSYSTEM:console
или инициализировать собственную консоль обращением к WinAPI
огромное спасибо, именно то, что и надо было
Mishka_M вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с созданием radiobutton -COREY- Win Api 3 10.05.2011 02:32
Проблема с созданием php галереи ZvEr_HaCkEr PHP 2 11.03.2011 17:49
Проблема с созданием пользователя shtep PHP 0 19.12.2010 16:38
Проблема с созданием класса Arkuz Общие вопросы Delphi 10 18.04.2010 14:18
Проблема с созданием CButton st1q Общие вопросы C/C++ 5 14.09.2008 13:57