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

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


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

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

Выпуск № 657
от 16.01.2007, 14:05

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


Вопрос № 70370: Приветствую вас уважаемые эксперты! Извиняюсь за то что раньше называл вас "кодерами", впредь этого не повторится! Опять у меня вопрос по железу, с клавой я разобрался, а вот с мышью никак, подскажите где можно найти информацию о работе...
Вопрос № 70386: Здравствуйте ! Не могли бы вы подсказать как пользоваться функцией CreateToolhelp32Snapshot. Я имею ввиду как вывести список процессов на экран. Или завершить один из этих процессов ? ...
Вопрос № 70397: Ув. эксперты! Подскажите, пожалуйста, как организовать сортировку ASCII-символов в строке по убыванию либо возрастанию спомощью TASM 5.0? Очень интересует данный вопрос....
Вопрос № 70416: Доброго времени суток!В программе задается переменнная Handle dw 0 В отладчике передача ей значения выглядит так: mov [0130],ax а из нее nov bx,[0130] помогите мне выяснить 3 вопроса: 1.Где (как) найти в памяти потом то,что я загн...

Вопрос № 70.370
Приветствую вас уважаемые эксперты! Извиняюсь за то что раньше называл вас "кодерами", впредь этого не повторится!
Опять у меня вопрос по железу, с клавой я разобрался, а вот с мышью никак, подскажите где можно найти информацию о работе с мышью на уровне потров в/в (in/out), НЕ хочется использовать int 33h, оч. люблю работать на самом низком уровне :D
Огросное спасибо!
Отправлен: 10.01.2007, 21:47
Вопрос задал: Code_master (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Евгений Иванов
Здравствуйте, Code_master!

Мышь на уровне портов - это обычный COM-обработчик.
Узнай адрес com-порта, и подпишись на прерывания аппаратные от него (тоже узнай его номер). При приходе прерывания читай данные. Обычно там идут данные с величинами относительного смещения мыши.

http://eugene-ivanov.narod.ru/rar/mou3.rar (2.5 Kb)

Но я всё же посоветовал не тратить время, а пользоваться готовым обработчиком сидящим внутри int 51, по сути он там ничего и не делает, кроме взятия и поддержки (преобразования) координат из порта. Да ещё и курсор рисует, не придётся тебе изучать видео. :o)

Удачи.

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Что имеем - не храним, потерявши - плачем

Ответ отправил: Евгений Иванов (статус: Профессор)
Россия, Нижний Новгород
Тел.: +78313145721
Организация: M2Media.ru
Адрес: Нижний Новгород, ул.Малая Ямская
WWW: Eugene Ivanov
ICQ: 214889076
----
Ответ отправлен: 10.01.2007, 21:59
Оценка за ответ: 3

Отвечает: Лысков Игорь Витальевич
Здравствуйте, Code_master!
Согласен с Ивановым, в данном случае это абсолютно не оправдано.
Могут возникнуть куча лишних проблем, например,
кроме рисования курсора, можно назвать возможность
наличия какой-то специфичной мыши (а родной драйвер все ньюансы учитывает!)
Плюс необходимо не нарушить работу родного драйвера мыши
Да мало ли что!
Откопал в архиве свою давнишнюю тестовую программку, которая показывает на экране
принимаемые данные по порту COM2. (Для COM1 поменять вектор на 0ch, порты 2fx на 3fx)

Приложение:

---------
Удачи!

Ответ отправил: Лысков Игорь Витальевич (статус: Практикант)
Ответ отправлен: 11.01.2007, 12:08
Оценка за ответ: 4
Комментарий оценки:
Спасибо, но не помешало бы побольше комментариев :D


Вопрос № 70.386
Здравствуйте ! Не могли бы вы подсказать как пользоваться функцией CreateToolhelp32Snapshot. Я имею ввиду как вывести список процессов на экран. Или завершить один из этих процессов ?
Отправлен: 10.01.2007, 23:23
Вопрос задал: Whiteman (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Boriss
Здравствуйте, Whiteman!
Высылаю по Вашей просьбе статьи в архиве. Если что не понятно будет, спрашивайте на минифоруме. Но, по-моему, нет особых трудностей :))

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Вывод - то место в тексте, где вы устали думать

Ответ отправил: Boriss (статус: Профессор)
Россия, Саранск
Организация: mte
WWW: Программирование на Паскале
----
Ответ отправлен: 12.01.2007, 09:35


Вопрос № 70.397
Ув. эксперты! Подскажите, пожалуйста, как организовать сортировку ASCII-символов в строке по убыванию либо возрастанию спомощью TASM 5.0? Очень интересует данный вопрос.
Отправлен: 11.01.2007, 00:23
Вопрос задал: Gagarin (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Евгений Иванов
Здравствуйте, Gagarin!

Проходишь по строке и берёшь самый первый символ (а), переносишь его в новую строку, удаляешь из исходной. И так далее для остальных символов.

---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Россия, Нижний Новгород
Тел.: +78313145721
Организация: M2Media.ru
Адрес: Нижний Новгород, ул.Малая Ямская
WWW: Eugene Ivanov
ICQ: 214889076
----
Ответ отправлен: 11.01.2007, 00:32

Отвечает: Лысков Игорь Витальевич
Здравствуйте, Gagarin!
Вот простейший алгоритм метода пузырька:
1) В цикле от первого до предпоследнего берем очередной символ A
2) В цикле от следующего за взятым A и до последнего ищем минимальный( или
максимальный) B и меняем местами символы A и B.
Очередной символ как бы "всплывает", как пузырек воздуха, отсюда и название
метода. Дерзай.
PS Или проблема в реализации? Пиши в мини-форум результаты, подправим...
---------
Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Практикант)
Ответ отправлен: 11.01.2007, 10:45


Вопрос № 70.416
Доброго времени суток!В программе задается переменнная Handle dw 0
В отладчике передача ей значения выглядит так:
mov [0130],ax а из нее
nov bx,[0130]
помогите мне выяснить 3 вопроса:
1.Где (как) найти в памяти потом то,что я загнал в переменную?
2.что значит 0 в этой переменной?
3.Buffer equ $.Я правильно понимаю, что это типа метки, означ. конец программы в памяти и что за ней память свободна?

Приложение:

Отправлен: 11.01.2007, 04:16
Вопрос задал: ATZATZ (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Лысков Игорь Витальевич
Здравствуйте, ATZATZ!
1) Вот по адресу 130h и ищи
2) Команда dw означает резервирование двух байт в памяти.
Причем в данном случае происходит инициализация (на этапе ассемблирования)
этого слова указанным значением, т.е. нулем
Другими словами, если посмотреть на файл программы в hex-редакторе, то
на соответствующем месте будут два нулевых байта
3) $ означает текущий адрес
equ означает указание считать выражение слева равным выражению справа
В данном случае, строка "Buffer" будет соответствовать числу, численно равному
текущему адресу.
Все последующие коментарии относятся к формату COM-файла.
Для EXE все несколько сложнее.
Если данное выражение будет стоять в конце программы, то да, адрес, соответствующий
выражению "Buffer" будет соответствовать концу программы в памяти.
Понятно, что подобное выражение внутри текста программы, никак нельзя
считать адресом именно конца программы.
В принципе, да, вся память, расположенная за последним байтом программы,
является свободной. За исключением того, что в конце сегмента размещается стек.
---------
Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Практикант)
Ответ отправлен: 11.01.2007, 11:22
Оценка за ответ: 4


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.40 beta от 14.01.2007
Яндекс Rambler's Top100

В избранное