Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

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


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

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

Выпуск № 756
от 20.05.2007, 20:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 388, Экспертов: 32
В номере:Вопросов: 4, Ответов: 7


Вопрос № 86914: я обращаюсь за готовым решением, поэтому прошу многих не сильно злиться. Хотя буду рад если и пошлете меня.... да нет не так далеко. Или посоветует где и чего почитать на тему включение=отключение пина(одного любого) Порта LP...
Вопрос № 86945: Как в игре для ДОС можно организовать обработку нажатий клавиш, чтобы два игрока имели возможность одновременно играть на одной клавиатуре, т.е. каждый игрок имеет несколько своих клавиш управления и перемещает своего человечика на экране, не мешая п...
Вопрос № 87001: Есть ли возможность писать ассемблеровские программы в Mandriva Linux? Если есть то где об этом можно узнать?...
Вопрос № 87032: Здравствуйте!У меня такой вопрос.Когда с окна моей программы уходит POPUP-меню, то сообщение WM_PAINT не вырабатывается. Это место восстанавливает DefWindowProc запомненным изображением. Но мне нужно самому в своей программе восстанавливать это ...

Вопрос № 86.914
я обращаюсь за готовым решением, поэтому прошу многих
не сильно злиться.

Хотя буду рад если и пошлете меня....
да нет не так далеко.
Или посоветует где и чего почитать на тему
включение=отключение пина(одного любого) Порта LPT Или(и)
последовательного.
Работать в среде windows
время в секундах включения задавать как параметр строки.

Хочу приделать реле.
Есть ли возможность через vbs (VSH) это реализовать?
Отправлен: 14.05.2007, 22:53
Вопрос задал: Oll Bell (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: ramok
Здравствуйте, Oll Bell!

информации в интернете множество. вот некоторые ссылки:
http://www.emanual.ru/download/www.eManual.ru_42.html
http://www.relib.com/forums/RssFeed1-905436-0-2.aspx
http://www.vbrussian.com/Article.asp?ID=101
Ответ отправил: ramok (статус: Практикант)
Ответ отправлен: 15.05.2007, 03:11
Оценка за ответ: 5


Вопрос № 86.945
Как в игре для ДОС можно организовать обработку нажатий клавиш, чтобы два игрока имели возможность одновременно играть на одной клавиатуре, т.е. каждый игрок имеет несколько своих клавиш управления и перемещает своего человечика на экране, не мешая при этом другому ?
Отправлен: 15.05.2007, 06:12
Вопрос задал: Alexei_FAQ (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Бертыш Андрей Владимирович
Здравствуйте, Alexei_FAQ!
Мне кажется что точно так же как и с одним игроком. Просто проверяя нажатие клавиш вы будете передавать управление в одну или другую ветку своего кода. Главное что бы код был оптимален и вы успевали обрабатывать нажатия клавиш быстрее чем вас завалят скан-кодами :)
---------
Каждый мнит себя стратегом видя бой со стороны
Ответ отправил: Бертыш Андрей Владимирович (статус: 1-ый класс)
Ответ отправлен: 15.05.2007, 09:40

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Alexei_FAQ!

При нажатии на клавишу клавиатура передает контроллеру PC скан-код этой клавиши. При отпускании - сначала префикс 0F0h, а потом скан-код отпущенной клавиши. Функции автоповтора возлагаются на саму клавиатуру - через определенное время, если клавиша не отпущена, то клавиатура посылает еще один точно такой же скан-код. Если в это время нажать еще одну клавишу, то к контроллеру PC "полетит" уже другой скан-код и будет считаться, что нажата только одна клавиша. В играх эта проблема решена элементарно - клавиша считается нажатой, пока не прийдет соответствующий скан-код с префиксом 0F0h.
Протокол обмена информацией между клавиатурой и РС Вы можете посмотреть тут.
Удачи!
---------
И только наступив на грабли мы преобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Студент)
Ответ отправлен: 16.05.2007, 13:11
Оценка за ответ: 4


Вопрос № 87.001
Есть ли возможность писать ассемблеровские программы в Mandriva Linux?
Если есть то где об этом можно узнать?
Отправлен: 15.05.2007, 15:34
Вопрос задал: Сковородников Сергей Павлович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: lupus campestris
Здравствуйте, Сковородников Сергей Павлович!
Конечно можно!
Главное отличие - существуюи две разновидности компиляторов. Одни поддерживают привычный Intel'овский синтаксис, а другие - синтаксис AT&T, к которому нужно еще привыкнуть (хотя это и не так сложно).
Начинать лучше с nasm (http://nasm.sourceforge.net), скорее всего и в пакетах в дистрибутиве он будет.
Почитать:
http://asm.sourceforge.net/
http://lowlevel.ru/articles.old/
http://www.wasm.ru/publist.php?list=28
Удачи!
---------
«С кем тяжело молчать, с тем не о чем говорить» (Метерлинк)
Ответ отправила: lupus campestris (статус: Профессор)
Россия, Москва
Тел.: +79060429689
Организация: http://www.orange-business.ru
WWW: http://lupus-campestris.blogspot.com/
ICQ: 193918889
----
Ответ отправлен: 17.05.2007, 21:21
Оценка за ответ: 5
Комментарий оценки:
Благодарю за информацию, очень все по делу!


Вопрос № 87.032
Здравствуйте!У меня такой вопрос.Когда с окна моей программы уходит POPUP-меню,
то сообщение WM_PAINT не вырабатывается. Это место восстанавливает DefWindowProc запомненным изображением. Но мне нужно самому в своей программе восстанавливать это место обновлённым изображением. Как это сделать? Какое при этом сообщение вырабатывает Windows? Как его обработать?(Горбаш Олег)
Отправлен: 15.05.2007, 18:17
Вопрос задал: Горбаш Олег Константинович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лысков Игорь Витальевич
Здравствуйте, Горбаш Олег Константинович!
Вызови InvalidateRect и WM_PAINT придет.
---------
Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Практикант)
Ответ отправлен: 15.05.2007, 18:28

Отвечает: Евгений Иванов
Здравствуйте, Горбаш Олег Константинович!

WM_ERASEBKGND обрабатывай.

Успехов.
---------
Знания - сила
Ответ отправил: Евгений Иванов (статус: Профессор)
Россия, Нижний Новгород
Тел.: +79519145721
Организация: M2Media.ru
Адрес: Нижний Новгород, ул.Малая Ямская
WWW: Eugene Ivanov
ICQ: 214889076
----
Ответ отправлен: 15.05.2007, 19:14

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Горбаш Олег Константинович!

Вызываете функцию InvalidateRect или InvalidateRgn указываете область которую Вы хотите перерисовать и потом функцией UpdateWindow или RedrawWindow вызываете WM_PAINT. При выборе пунтка меню вырабатывается сообщение WM_MENUCOMMAND или WM_MENUSELECT.
Удачи!
---------
И только наступив на грабли мы преобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Студент)
Ответ отправлен: 15.05.2007, 20:07


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

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100

В избранное