WMmail.ru - сервис почтовых рассылок

воскресенье, 20 июня 2010 г.

RFpro.ru: Ассемблер? Это просто! Учимся программировать

Если выпуск не отображается корректно, то вы можете прочесть его на сайте

Звонок, изменяющий жизнь! Позвони в "Битву экстрасенсов"!
 
Реклама Отказаться от рекламы
 
Subscribe.Ru

RFpro.ru: Ассемблер? Это просто! Учимся программировать

Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Boriss
Статус: Академик
Рейтинг: 2480
• повысить рейтинг »
_Ayl_
Статус: Профессионал
Рейтинг: 1903
• повысить рейтинг »
vladisslav
Статус: 6-й класс
Рейтинг: 1227
• повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / Assembler (Ассемблер)

Номер выпуска:1364
Дата выхода:21.06.2010, 05:00
Администратор рассылки:Лысков Игорь Витальевич, Старший модератор
Подписчиков / экспертов:236 / 63
Вопросов / ответов:1 / 1
IRC-канал по теме:#assembler

Вопрос № 179143: Здравствуйте, уважаемые эксперты! Моя третья ассемблерная программа (приложение). Ассемблер: NASM 2.03 ОС: Win32 (программа в приложении), Linux Что ожидалось: что программа выведет сообщение, подождёт, пока пользователь нажмёт какую-либо...



Вопрос № 179143:

Здравствуйте, уважаемые эксперты!
Моя третья ассемблерная программа (приложение).
Ассемблер: NASM 2.03
ОС: Win32 (программа в приложении), Linux
Что ожидалось: что программа выведет сообщение, подождёт, пока пользователь нажмёт какую-либо клавишу, и лишь потом завершится.
Что происходит: программа выводит сообщение и завершается, не ожидая нажатия на клавишу.
Вопрос: Что не так и как поправить?
Заранее спасибо.

Отправлен: 19.06.2010, 09:57
Вопрос задал: Dr_Andrew, Старший модератор
Всего ответов: 1
Страница вопроса »


Отвечает Лысков Игорь Витальевич, Старший модератор :
Здравствуйте, Dr_Andrew.
gcc у меня нет, поэтому переделал пример под link из пакета masm32
Код:
nasm -f win32 179143.asm
\MASM32\BIN\Link.exe /SUBSYSTEM:CONSOLE /libpath:c:\masm32\lib 179143.obj

Как правильно указал в мини-форуме Airyashov, совершенно лишний ret, который и приводил к преждевременному выходу
Допускаю, что простой ret при сборке при помощи gcc корректно завершает программу,
но под Windows, мне кажется, необходимо все таки завершать ExitProcess-ом
int 16h - так вообще некорректный (у нас 32-битные системы, а не 16-битный ДОС)
Функция в masm-овской библиотеке называется __getch (с двумя подчеркиваниями)
Сама пр ограмма:
Код:
global _mainCRTStartup
extern _printf
extern __getch
extern _ExitProcess@4

section .drectve info
db '/defaultlib:user32.lib /defaultlib:msvcrt.lib /defaultlib:kernel32.lib'

section .data
message:
db 'Нажмите любую клавишу...', 10d, 13d

section .text
_mainCRTStartup:
push message
call _printf
add esp, 4
call __getch
push 0
call _ExitProcess@4

-----
Удачи!

Ответ отправил: Лысков Игорь Витальевич, Старший модератор
Ответ отправлен: 20.06.2010, 02:29
Номер ответа: 262182
Украина, Кировоград
Тел.: +380957525051
ICQ # 234137952
Mail.ru-агент: igorlyskov@mail.ru
Абонент Skype: igorlyskov

Оценка ответа: 5
Комментарий к оценке:
Большое спасибо! Решение было простым, поиск сложным, но с Вашей помощью всё разрешилось.

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 262182 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.16 от 26.05.2010
    Обсудить выпуск
     
     Как вам этот выпуск ?  Дайте свой отзыв  или  Оцените   5    4    3    2    1,   можно письмом:  5    4    3    2    1
     
    Реклама Отказаться от рекламы
    Скачай журнал "Ногтевой сервис" Скачай журнал "Ногтевой сервис"
    20 пошаговых мастер-классов. 100 идей для дизайна.

      Надоела сутулая спина и обвислый живот? Надоела сутулая спина и обвислый живот?
    Тренажер Ab Rocket - великолепный пресс всего за несколько недель!

      Вспомни детство! Вспомни детство!
    Аппарат для приготовления сахарной ваты - отличное угощение!

     
     
    Реклама Отказаться от рекламы
    Гипермаркет по безопасности
    Подбери любую продукцию по безопасности по лучшей цене в России!<>shop.sec.ru

    Ведущий портал по безопасности
    Все, что Вы хотите знать о рынке безопасности, есть на Sec.ru.<>www.sec.ru

    Учим писать скрипты
    Сценарии для администрирования (BAT-ники и VB Script)<>www.sysengineering.ru

     
      Рассылки
    Оплата по Результату. Идеальная мотивация.
    Тематика рассылки: оплата сотрудников по результатам, управление персоналом. Статьи и консультации Александра Литягина, стенограммы выступлений топ-менеджеров компаний, работающих по GOAL-технологии, отчеты о проведенных проектах и мероприятиях и др.

    Подписаться:   на сайте    по почте

     
      Группы
    «Литература от А до Я»
    Группа для всех интересующихся литературой. Всеми её вопросами и нюансами: от теории до практики. Для графоманов и профессионалов.
    «Русские на Украине-взгляд на Россию!»
    Пишем обо всем: когда и как оказались вне России, проблемные семейные, религиозные, политические, денежные, любовные... За Россией наблюдаем, сопереживаем, любим, радуемся, осуждаем..... Хотим быть вместе...
    «Будущий Президент России»
    Группа тех,кто готов поддержать на Президентских выборах.
     
    Подписан адрес: admin10383.deep@blogger.com
    Код этой рассылки: comp.prog.assembler
    Архив рассылки
    Отписаться:  На сайте  Почтой
    Поддержка подписчиков
    Убрать рекламу
    Другие рассылки этой тематики
    Другие рассылки этого автора
    Рассылка производится: Subscribe.Ru / ЗАО «Интернет-Проекты» / О компании / Политика конфиденциальности

    Комментариев нет:

    Отправить комментарий