Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод на консоль, не выводит на консоль 
V
    Опции темы
PascalC
Дата 8.9.2009, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 19.10.2008

Репутация: нет
Всего: нет



Начал изучать ассемблер по самоучителю Александра Крупника, дошел до программы вывода слов:
Код

.386
.model flat, stdcall
option casemap:none
ExitProcess proto :DWORD
GetStdHandle proto :DWORD
WriteConsoleA proto :DWORD,:DWORD,\
:DWORD,:DWORD,:DWORD
includelib d:\masm32\lib\kernel32.lib
.data
stdout DWORD ?
msg BYTE "Hello World!",0dh,0ah
cWritten DWORD ?
.code
start:
invoke GetStdHandle, -11
mov stdout, eax
invoke WriteConsoleA, stdout, ADDR msg,\
sizeof msg, ADDR cWritten, 0
invoke ExitProcess, 0
end start

Код скомпилился, но при запуске экзешника из консоли ничего не происходит, выводит пустую строку.
Хотя по книжке все должно работать, подскажите, в чем может быть проблема?
Или стоит сменить учебник?
PM MAIL   Вверх
Goodwin98
Дата 8.9.2009, 13:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 1.7.2009
Где: Deeptown

Репутация: 4
Всего: 5



При линковке указываете /subsystem:console   ?
PM MAIL ICQ   Вверх
PascalC
Дата 8.9.2009, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 19.10.2008

Репутация: нет
Всего: нет



Цитата(Goodwin98 @  8.9.2009,  13:39 Найти цитируемый пост)
При линковке указываете /subsystem:console   ? 

Спасибо, действительно линковал в обычном режиме, 
Еще такой вопрос если все программы линковать в режиме консоли, на работоспособность программы это никак не должно повлиять? 
Т.е. если мне не нужна консоль, а слинкую с консолью, то результат будет таким же, только вылезет консоль на экран на время выполнения программы?
PM MAIL   Вверх
Goodwin98
Дата 8.9.2009, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 1.7.2009
Где: Deeptown

Репутация: 4
Всего: 5



Цитата

Т.е. если мне не нужна консоль, а слинкую с консолью, то результат будет таким же, только вылезет консоль на экран на время выполнения программы?

Да она не будет мешать. К тому же ее можно использовать, напр, для выдачи сообщений отладки, а когда прога будет готова просто слинковать ее, как обычно.
PM MAIL ICQ   Вверх
PascalC
Дата 8.9.2009, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 19.10.2008

Репутация: нет
Всего: нет



Цитата(Goodwin98 @  8.9.2009,  14:19 Найти цитируемый пост)
Да она не будет мешать. К тому же ее можно использовать, напр, для выдачи сообщений отладки, а когда прога будет готова просто слинковать ее, как обычно. 

Еще раз большое спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0397 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.