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

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 493
от 25.02.2003, 07:20

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 2650
Отправлено ответов: 7956
Активность: 300.2 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Maverick
Статус: Профессиональный
Общий рейтинг: 139.28
URL: Задачи по ассемблеру
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]
Broken Sword
Статус: Профессиональный
Общий рейтинг: 125.89
URL: моя рассылка по Protected Mode
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 107.89
[Подробней >>]
 
Ayl
Статус: Профессиональный
Общий рейтинг: 118.37
[Подробней >>]
Joy
Статус: Доверительный
Общий рейтинг: 121.27
[Подробней >>]
DiGiT[old]
Статус: Профессиональный
Общий рейтинг: 109.9
[Подробней >>]
 
ASMодей
Статус: Профессиональный
Общий рейтинг: 117.33
[Подробней >>]
baldr
Статус: Профессиональный
Общий рейтинг: 113.86
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
keleb-glin
Статус: Опытный
Общий рейтинг: 110.91
[Подробней >>]
 
Igoryk
Статус: Профессиональный
Общий рейтинг: 137.04
URL: IgorykSoft
[Подробней >>]
masquer
Статус: Профессиональный
Общий рейтинг: 145.01
[Подробней >>]
Andrew Vext
Статус: Опытный
Общий рейтинг: 107.29
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 2622. Привет. У меня глупый вопрос как работать с мышью? На каком она порте, как отловить нажатие кнопочек... (ответов: 10)
Вопрос № 2623. Доброе время суток, читатели и эксперты! Приятно снова видеть rusfaq живым! Так что всех с новым год... (ответов: 2)
Вопрос № 2624. Здравствуйте, товарищи эксперты! Есть машина Sun Blade 100 на SPARK прецессоре. Есть дока по архитек... (ответов: 1)
Вопрос № 2625. Здравствуйте, Посмотрите где проблема - программа на данной процедуре вылетает. Текст этой процедуры... (ответов: 1)
Вопрос № 2626. Здравствуйте эксперты! У меня к вам такой вопрос: как мне в графическом режиме 640x480 - 16 цветов(1... (ответов: 4)
Вопрос № 2627. Недавно наткнулся на рассылку "Ассемблер - это просто". Откуда можно скачать все выпуски р... (ответов: 3)
Вопрос № 2628. Привет всем !! Если этот вопрос пройдет, значит русфак работает... :)) Раз уж это спам, то задам хот... (ответов: 6)

Вопросов: 7, ответов: 27


 Вопрос № 2622

Привет.
У меня глупый вопрос как работать с мышью? На каком она порте, как отловить нажатие кнопочек, перемещение и текущие координаты... Или где про это можно почитать... Пишу под Dos.
За ранее спасибо.



Вопрос отправлен: 20.02.2003, 10:47
Отправитель: Mystique

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Добрый день, Mystique!
Следующий раз оставляй мыло, куда док-ю слать.
Гляди в приложении.


Приложение:

Ответ отправлен: 20.02.2003, 11:08
Отправитель: Maverick


Отвечает Broken Sword

Добрый день, Mystique!
Даже не представляешь как ты обрадовал всех экспертов своим глупым вопросом! int 31 по моему

Ответ отправлен: 20.02.2003, 11:14
Отправитель: Broken Sword


Отвечает vitya

Добрый день, Mystique!
под ДОС есть такое замечательное прерывание 33h Вся работа идет через него. Параметры передаешь через ax.

Ответ отправлен: 20.02.2003, 12:08
Отправитель: vitya


Отвечает Ayl

Добрый день, Mystique!
Лучше всего с мышой работать через прерывание 33h. Смотри его описания.

Ответ отправлен: 20.02.2003, 13:03
Отправитель: Ayl


Отвечает Joy

Добрый день, Mystique!
Никакой порт отлавливать не надо. Просто под ДОС загрузи мышиный драйвер и пользуйся ДОСовским int 33h. Почитать про это можно в справочниках. Если нужен таково - пиши joy@stsland.ru (только у меня он на англицком). А вкраце смотри в приложении.

Приложение:

Ответ отправлен: 20.02.2003, 14:00
Отправитель: Joy


Отвечает DiGiT[old]

Добрый день, Mystique!
Под дос прерывание int 33h.
А вообще мышь может быть подсоединена разными интерфейсами: через COM порт , PS/2 и USB и др. Соответсвенно слушаешь прерывания от этих устройств(Универсально не тока под ДОС :) )

Ответ отправлен: 21.02.2003, 07:44
Отправитель: DiGiT[old]


Отвечает ASMодей

Приветствую Вас, Mystique!
Если работать с мышью в DOS, то можно использовать прерывание INT 33h,
но это возможно только при загруженном драйвере (типа mouse.com).
Если же драйвера нет или его нужно написать, то тогда с мышью,
подключаемой к COM-порту можно работать через этот последовательный порт.
При этом мышь при передвижении или нажатии кнопки посылает через этот порт
некоторые пакеты байтов по определенному протоколу. Причем этих протоколов
существует несколько видов (4-байтовый, 3-байтовый). Если нужно, пиши,
у меня есть дока по всем этим протоколам.


Ответ отправлен: 21.02.2003, 16:36
Отправитель: ASMодей


Отвечает baldr

Здравствуйте, Mystique!
Если хочешь пример, то jmp next иначе - ret. (странное условие, не так ли? :))
next:
Драйвер мыши с исходниками на асме ты можешь найти на моем сайте.
http://www.dospage.by.ru.
Называется он CtMouse.


Ответ отправлен: 21.02.2003, 21:59
Отправитель: baldr


Отвечает keleb-glin

Здравствуйте, Mystique!
Вообще мышь генерит то преривание, на каком порту сидит, но... также мышью занимается 33h-е прерывание. Я про него многого не знаю, однако там есть всякие полезные функции, которые 100% работают при наличии драйвера мыши. 33h - известное прерывание. Про него можно прочесть в любом подходящем справочнике.


Ответ отправлен: 21.02.2003, 22:01
Отправитель: keleb-glin


Отвечает Igoryk

Здравствуйте, Mystique!
При программировании под DOS для управления мышью используется прерывание int 33h. Вот параметры, которые могут Вам пригодиться:
AX=0 - инициализация мыши.
AX=1 - показать курсор.
AX=2 - спрятать курсор.
AX=3 - определить состояние мыши:
на выходе:
BX - бит 0 - нажата левая кнопка
BX - бит 1 - нажата правая кнопка
BX - бит 2 - нажата средняя кнопка
CX - X-координата
DX - Y-координата


Ответ отправлен: 22.02.2003, 14:53
Отправитель: Igoryk


 Вопрос № 2623

Доброе время суток, читатели и эксперты!
Приятно снова видеть rusfaq живым!
Так что всех с новым годом ... (хостинга на majordomo, конечно)!!!



Вопрос отправлен: 20.02.2003, 12:14
Отправитель: Bob Johnson (BobJohn@NewMail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Привет и тебе, Bob Johnson!
Так что же это было то?
Я то поначалу подумал, что новую систему ставят...

Ответ отправлен: 20.02.2003, 13:30
Отправитель: Maverick


Отвечает Igoryk

Приветствую Вас, Bob Johnson!
Мне тоже приятно!

Ответ отправлен: 22.02.2003, 14:53
Отправитель: Igoryk


 Вопрос № 2624

Здравствуйте, товарищи эксперты!
Есть машина Sun Blade 100 на SPARK прецессоре. Есть дока по архитектуре и самому асему и про его аргументы коммандной строки. Но =( В СИСТЕМЕ НЕТУ САМОГО АССЕМБЛЕРА =( тут стоит SUN OS UNIX.
1) Где можно достать программу ассемблер AS. или её аналоги под вышеупомянутую ось? (на sun.com ничё нету...)
2) Можно ли выдрать этот ассемблер из C/C++ forte, диски которого имеются? (ну тоесть чтоб было что-то ml.exe)
3) Если вышеперечисленое исключается, то ведь можно писать в машинных кодах - но где взять hex editor & ELF linker???
Если у кого есть в этом опыт, напишите pls названия программ которые мне понядобятся для данного дела, и по-возможности где скачать.
c уважением, Эдвард.
PS: ...и только тогда я понял вест тайный смысл фразы Broken Sworda о том, что "Intel проц представлят из себя шитано-перелатоного уродца" (c).



Вопрос отправлен: 20.02.2003, 12:15
Отправитель: Эдвард Самохвалов (zeleniy_kot@yahoo.com)

[Следующий вопрос >>] [Список вопросов]

Отвечает DiGiT[old]

Доброе время суток, Эдвард Самохвалов!
Ищи новую доку по программирования под sparc платформу. Я знаю о спарках то, что это RISC архитектура. А насчет асма должно быть укороченный набор команд(в сравнении с IA-32), ассемблер не выдерешь из компилера си.

Ответ отправлен: 21.02.2003, 07:41
Отправитель: DiGiT[old]


 Вопрос № 2625

Здравствуйте,
Посмотрите где проблема - программа на данной процедуре вылетает. Текст этой процедуры полностью(входные данные только немного переделал - по тексту видно) взят из gdc_2002_amd.pdf - скачал с АМД-шного сайта, в другом ихнем руководстве по оптимизации кода есть аналогичный, слегка изменненный пример, - вылетает так же.
Спасибо


Приложение:


Вопрос отправлен: 20.02.2003, 20:25
Отправитель: Yuri Gordienko

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Добрый день, Yuri Gordienko!
Ну, а где вылетает? Я, например, слишком ленивый, чтобы все это воспроизводить. Может сишный компилер не видит вызываемой функции, может еще что...

Ответ отправлен: 21.02.2003, 14:23
Отправитель: masquer


 Вопрос № 2626

Здравствуйте эксперты!
У меня к вам такой вопрос: как мне в графическом режиме 640x480 - 16
цветов(12h) записать пикселы разных цветов напрямую в видио память?
Нет, выводить пикселы у меня получается(см. приложение), но они все
время БЕЛЫЕ! А мне-то нужно цветные!
P.S. Функциями BIOS я умею, но это больно тормозно(намек понятен?)
Заранее спасибо.
ToshibA


Приложение:


Вопрос отправлен: 20.02.2003, 21:20
Отправитель: ToshibA

[Следующий вопрос >>] [Список вопросов]

Отвечает Joy

Приветствую Вас, ToshibA!
УВАЖАЕМЫЕ ДАМЫ И ГОСПОДА! УВАЖАЕМЫЕ ПОДПИСЧИКИ! РЕБЯТА! ПОЛЬЗУЙТЕСЬ ПОЖАЛУЙСТА СПРАВОЧНИКАМИ! (крик отчаяния)
Ответ: В этом режиме не линейная модель памяти, поэтому таким способом в этом видеорежиме у тебя ничего не получится. Пример как получится в приложении (или функции БИОСа). А совет тебе такой: пользуйся режимом 13h, он линейный. Просто загоняешь байты начиная с адреса 0A000h и каждый байт это цвет, т.о. у нас палитра 256 цветов при разрешении 320*200.

Приложение:

Ответ отправлен: 21.02.2003, 12:14
Отправитель: Joy


Отвечает Ayl

Здравствуйте, ToshibA!
Вывел, блин! :-) Ты хоть одну книжку по программированию графики на EGA/VGA открывал? Там все черным по белому написано - и про организацию видеопамяти в виде 4-х плоскостей, и про регистр битовой маски для разрешения определенных точек, и про регистры установки/сброса и разрешения оного, и про регистр сдвига...
И про 4 режима записи (0-3). Правда, про режим записи 3 я читал только у Майкла Абраша, но это и не важно.
В приложении процедурка вывода пиксела в режиме записи 2, ри котором не требуется программирование регистра разрешения установки/сброса и регистра установки/сброса.
Для использования этой процедуры нужно подготовить регистры:
ES = 0a000h - сегмент видеопамяти
BX - смещение в видеобуфере байта, в котором содержится пиксел (BX = (640 * Y + X) shr 3)
AL - цвет устанавливаемой точки (0-15)
CL - маска для доступа к пикселю (CL = 80h shr (X and 7))


Приложение:

Ответ отправлен: 21.02.2003, 12:16
Отправитель: Ayl


Отвечает ASMодей

Приветствую Вас, ToshibA!
Чтобы выводить цветные пикселы в этом режиме, нужно программить
видеоконтроллер через порты. Там довольно сложная схема, несколько
режимов работы, использование нескольких видов масок, так что
если нужно могу скинуть документацию.


Ответ отправлен: 21.02.2003, 16:37
Отправитель: ASMодей


Отвечает keleb-glin

Здравствуйте, ToshibA!
Всё дело в том, что режим 16 цветов отличается следующей особенностью. Видеопамять разделена на 4 "страницы", каждому пикселю соответствует 4 бита - по одному с каждой страницы ( на соответствующих положениях ). Т.е. тебе постоянно прийдётся переключаться.
пример:
out 3ceh, 0005h ;подготовка к работе
out 3c4h, n ;0 стр. n=0102h
;1 стр. n=0202h
;2 стр. n=0402h
;3 стр. n=0802h
;тут - запись в видеопамять по 0a000h. Заметь, в каждом ;байте старшие биты соответствуют более "ранним" пикселям
out 3c4h, 0f02h ;кончили (работу)


Ответ отправлен: 22.02.2003, 18:45
Отправитель: keleb-glin


 Вопрос № 2627

Недавно наткнулся на рассылку "Ассемблер - это просто".
Откуда можно скачать все выпуски разом? + RusFAQ.ru: программирование на языке Assembler???
Дайте ссылку пожалуйста. А то в первых выпусках приводится
адрес oleg77.newmail.ru - не работает :-(



Вопрос отправлен: 21.02.2003, 01:43
Отправитель: Victor Buznikov

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Здравствуйте, Victor Buznikov!
По винде на субкрайбе.
По досу на странице Bob Jonsona:
http://www.bobjohnson.nm.ru/

Ответ отправлен: 21.02.2003, 09:02
Отправитель: Maverick


Отвечает Joy

Приветствую Вас, Victor Buznikov!
1. С Сабскрайба (ссылка внизу рассылки)
2. С сайта Боба Джонсона (ссылка вверху рассылки)


Ответ отправлен: 21.02.2003, 10:05
Отправитель: Joy


Отвечает Igoryk

Доброе время суток, Victor Buznikov!
С сайта Боба Джонсона.

Ответ отправлен: 22.02.2003, 14:53
Отправитель: Igoryk


 Вопрос № 2628

Привет всем !!
Если этот вопрос пройдет, значит русфак работает... :))
Раз уж это спам, то задам хоть какой-нить вопрос во имя оживления... В общем как вы оцениваете отставание России в Computer Science(не мого другого слова найти)



Вопрос отправлен: 21.02.2003, 07:13
Отправитель: DiGiT

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Приветствую Вас, DiGiT!
О-о-о, гигантское.
По другому и быть не может.
Все забугровые разработки появляются у нас через неск-ко лет, вследствии чего мы не можем учится на их ошибкак вовремя.

Ответ отправлен: 21.02.2003, 09:03
Отправитель: Maverick


Отвечает Joy

Добрый день, DiGiT!
Вот блин, еще один. Случайно не ты задавал вопрос "Почему эксперты этой расслыки не хотят чтобы в армии программеров на АССМе прибыло"!?
Ответ на твой вопрос: Да ни как! Если ты считаешь что Россия отстала, то у тебя просто нет верной информации!

Ответ отправлен: 21.02.2003, 11:18
Отправитель: Joy


Отвечает Andrew Vext

Добрый день, DiGiT!
Раз уж это спам, то повышу рейтинг.
Никак. В Computer Science особого отставания я не вижу. Возможно, под этим термином мы понимаем разные вещи.

Ответ отправлен: 21.02.2003, 12:22
Отправитель: Andrew Vext


Отвечает masquer

Приветствую Вас, DiGiT!
А чего отстает? По-моему, как раз наоборот, Россия с Китаем на гребне волны :)

Ответ отправлен: 21.02.2003, 14:25
Отправитель: masquer


Отвечает baldr

Добрый день, DiGiT!
РусФАК заработал! :) А как мы забегали, а? ;-)
А слабо вопрос этот на форум закинуть? Там обсуждать удобнее буит...
А отставание - это еще с давних пор идет... И развал СССР только немного ему помог...
Надо было в свое время создавать СВОЙ процессор и железки для него. Допустим, писюку
была бы не альтернатива, но распространиться он мог хотя бы покруче маков! И дешевле был бы,
так что всяким конторам государственным и лабораториям досталось бы побольше!


Ответ отправлен: 21.02.2003, 21:59
Отправитель: baldr


Отвечает Igoryk

Здравствуйте, DiGiT!
Вопрос прошел! На мой взгляд Россия на нормальном уровне развития в компьютерном образовании. Именно на нормальном - не на высоком и не на низком. Просто кто хотел этим заниматься, тот занимался, кто не хотел - тот нет.

Ответ отправлен: 22.02.2003, 14:53
Отправитель: Igoryk



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


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


Получить ответов:


 Выбор рассылки

Программисту
Assembler (32)
C / C++ (24)
Perl (2)
Delphi (17)
Pascal (21)
Basic / VBA (10)
Java / JavaScript (7)
PHP (4)
MySQL / MSSQL (3)
Пользователю
Windows 95/98/Me (31)
Windows NT/2000/XP (23)
"Железо" (27)
Поиск информации (14)
Администратору
Windows NT/2000/XP (10)
Linux / Unix (11)
Юристу
Гражданское право (7)
Семейное право (4)
Трудовое право (4)
КоАП (4)

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




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное