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

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


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

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

Выпуск № 656
от 29.10.2003, 18:30

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


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

never_again
Статус: Доверительный
Общий рейтинг: 130.61
[Подробней >>]
Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 142.03
URL: Super Assembler Software
Телефон: НСС +7 831 3107039
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 149.98
URL: Программирование
[Подробней >>]
 
_vt
Статус: Профессиональный
Общий рейтинг: 121.45
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 106.6
URL: Savage Metal Club - жизнь в стиле рок-н-ролл
Телефон: +7 901 710 3146
[Подробней >>]
ViRUS
Статус: Начальный
Общий рейтинг: 104.42
[Подробней >>]
 
dr_dolphin
Статус: Доверительный
Общий рейтинг: 118.24
[Подробней >>]
PUSH
Статус: Начальный
Общий рейтинг: 114.28
[Подробней >>]


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

Вопрос № 4362. Уважаемые эксперты! Помогите пожалуйста нарисовать точку в режиме 0х117 (1024х768х65535). Желательно... (ответов: 2)
Вопрос № 4363. Приветствую Господа Експерты .. пытаюсь написать приложение на сокетах.(wsock32.inc) подскажите (жел... (ответов: 1)
Вопрос № 4364. Здравствуйте уважаемые эксперты. Я хочу научиться програмировать на Asme, чтобы код (непереписывая) ... (ответов: 2)
Вопрос № 4365. Здравствуйте уважаемые эксперты. Несколько рассылок назад я прочитал, что можно заказать книгу про п... (ответов: 2)
Вопрос № 4366. Добрый день... Я знаю хендл загружаемой длл... а как узнать её имя? (напр.kernel32.dll)(используя АП... (ответов: 3)
Вопрос № 4368. Всем читать www.mvps.org - множество исходников,демонстрирующих применение различных апишных ф-ий. ... (ответов: 3)
Вопрос № 4369. Здравствуйте, эксперты! Как можно эмулировать нажатия мыши на асме? Заранее спасибо.... (ответов: 2)
Вопрос № 4371. Расскажите пжалста чайничку как включить DPMI на С в смеси с Ассемблером!!!!!!!!!!!!!!!!!!!!!!!!1 па... (ответов: 1)
Вопрос № 4372. Доброго времени суток эксперты! У меня есть такой вопросик: переключать режим работы дисплея в защищ... (ответов: 4)
Вопрос № 4373. Уважаемые эксперты! Как вы считаете, сколько времени нужно для профессионального освоения АССЕМБЛЕР... (ответов: 6)

Вопросов: 10, ответов: 26


 Вопрос № 4362

Уважаемые эксперты!
Помогите пожалуйста нарисовать точку в режиме 0х117
(1024х768х65535). Желательно маленьким примером, но
теория тоже интересна. С какого адреса начинается
видеобуфер в данном режиме.
И ещё одна проблема. В этом режиме не работает мышь
(int 0x33). Кидает ошибки. Может, кто-нибудь знает,
как это разрешить.
Спасибо!


Приложение:


Вопрос отправлен: 23.10.2003, 18:34
Отправитель: =FeanaR=

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

Отвечает never_again

Добрый день, =FeanaR=!
как с мышой поступить не знаю (у самого с этим проблемы), а точка это просто
надо вычислить номер банка (если ты не с линейным буфером работаешь)
а это делается так
кол-во пикселей в строке умножить на заданую координату у плюс заданая координата х т.е. в твоем случае это
1024*у+х
это все разделить на 65535 получаешь номер банка, а остаток это смещение внутри банка.
остаток делишь на два (у тебя ведь два байта на пиксель)
вот и всё. если не будет работать (разные карточки по разному глючат), то я не знаю...

Ответ отправлен: 24.10.2003, 21:38
Отправитель: never_again


Отвечает Евгений Иванов

Добрый день, =FeanaR=!
Это VESA-режим.
От этого и иди...
Мышь сам обрабатывай по портам.
* EMan: ---===*** Любовь существует! ***===---


Ответ отправлен: 24.10.2003, 00:29
Отправитель: Евгений Иванов


 Вопрос № 4363

Приветствую Господа Експерты ..
пытаюсь написать приложение на сокетах.(wsock32.inc)
подскажите (желательно в примерах)
как правильно использовать bind, listen,
.data
sd dd socket
wsa WSADATA <0>
m_sockaddr sockaddr_in <0>
m_addrsz dd sizeof m_sockaddr
;##############################################
szIP db "127.0.0.1", 0
;#############################################
msg1 db "err bind !",0
msg2 db "err listen !",0
.code
begin:
invoke WSAStartup,00010001h,offset wsa
invoke socket, AF_INET,SOCK_STREAM,IPPROTO_TCP
mov m_sockaddr.sin_family,AF_INET
invoke htons,Port
mov m_sockaddr.sin_port,ax
invoke inet_addr, ADDR szIP
mov m_sockaddr.sin_addr,eax
invoke bind,sd, offset m_sockaddr, offset m_addrsz
;не знаю как правильно указть длину структуры sockaddr_in
.....
помогите новичку.



Вопрос отправлен: 23.10.2003, 19:10
Отправитель: Rin

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

Отвечает Bob Johnson

Доброе время суток, Rin!
bind и listen применяются только в серверных приложениях. Клиентские приложения (т.е. те, которые инициируют соединения) в них не нуждаются. Первая функция (bind) позволяет присвоить сокету локальный адрес (для мультиадресных систем) и локальный порт. Это и определяет номер порта, на котором он будет "слушать".
Вторая функция (listen) и переводит сокет в режим прослушивания. Но для принятия входящих соединений необходимо вызывать еще функцию accept.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 26.10.2003, 15:28
Отправитель: Bob Johnson


 Вопрос № 4364

Здравствуйте уважаемые эксперты. Я хочу научиться програмировать на Asme, чтобы код (непереписывая) можно было бы переносить с Windows на Linux, и наоборот. Может есть какая документация. И еще, где можно взять документацию по всем прерываниям BIOS?



Вопрос отправлен: 23.10.2003, 19:16
Отправитель: Aleksey

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

Отвечает _vt

Приветствую Вас, Aleksey!
1) Похожий вопрос был недавно: вообще так сделать нельзя, т.к. по способу взаимодействия с системой программы для Win32 и Linux различаются. Но можно выделить системно-зависимые части программы в отдельные файлы, и компилировать под нужную ОС.
2) Ищи "Interrupt List" Ральфа Брауна

*** E-Man - we are waiting for you ***


Ответ отправлен: 23.10.2003, 21:39
Отправитель: _vt


Отвечает never_again

Доброе время суток, Aleksey!
не думаю что возможно перенести с одной системы на другую - разные системы = разные API. А прерывания BIOS хорошо описаны на www.ctyme.com

Ответ отправлен: 24.10.2003, 23:20
Отправитель: never_again


 Вопрос № 4365

Здравствуйте уважаемые эксперты. Несколько рассылок назад я прочитал, что можно заказать книгу про процессор Intel. Нельзя ли тоже заказать книгу про AMD? Кто знает как и где дайте пожайлуста ссылку.



Вопрос отправлен: 23.10.2003, 19:55
Отправитель: Aleksey

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

Отвечает Gibbel

Здравствуйте, Aleksey!
AMD не рассылает документацию в печатном виде. Исключение - книги по AMD64, рассылаемые только по территории США и Канады.
Можешь заказать в AMD CD-ROM с документацией. Только для этого надо позвонить им по телефону (1-800-222-9323) и на английском языке объяснить, что тебе нужно (order number 21860).

Ответ отправлен: 24.10.2003, 12:11
Отправитель: Gibbel


Отвечает Евгений Иванов

Здравствуйте, Aleksey!
Скачай PDF-файлы с их сайта - это всего 65 Мб...
* EMan: ---===*** Любовь существует! ***===---


Ответ отправлен: 24.10.2003, 00:29
Отправитель: Евгений Иванов


 Вопрос № 4366

Добрый день...
Я знаю хендл загружаемой длл... а как узнать её имя? (напр.kernel32.dll)(используя АПИ)?
(GetModuleFileName пробывал... не получается)
Спасибо.



Вопрос отправлен: 23.10.2003, 20:56
Отправитель: pAcU (pacu@mail.ru)

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

Отвечает Gibbel

Приветствую Вас, pAcU!
GetModuleFileName()/GetModuleFileNameEx() возвращают полный путь к dll. Выделить из него имя, думаю, не такая сложная операция.
P.S.: для вопросов, касающихся WinAPI, есть рассылка по WinAPI

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


Отвечает Bob Johnson

Здравствуйте, pAcU!
Если DLL грузится в твой процесс, то по его хэндлу с помощью этой функции ты однозначно получишь ее имя. Если не работает, значит handle не тот.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 26.10.2003, 15:28
Отправитель: Bob Johnson


Отвечает Евгений Иванов

Приветствую Вас, pAcU!
Должно работать!
* EMan: ---===*** Любовь существует! ***===---


Ответ отправлен: 24.10.2003, 00:30
Отправитель: Евгений Иванов


 Вопрос № 4368

Всем читать
www.mvps.org - множество исходников,демонстрирующих применение различных апишных ф-ий.



Вопрос отправлен: 24.10.2003, 10:03
Отправитель: Eugene Ivanov (super21@mail.nnov.ru)

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

Отвечает Gibbel

Здравствуйте, Eugene Ivanov!
Молодец, конечно, но рассылкой немного ошибся... Здесь учат Ассемблер... А API - в другом месте...

Ответ отправлен: 24.10.2003, 12:44
Отправитель: Gibbel


Отвечает never_again

Доброе время суток, Eugene Ivanov!
Обязательно загляну. Спасибо за заботу.

Ответ отправлен: 24.10.2003, 21:25
Отправитель: never_again


Отвечает ViRUS

Доброе время суток, Eugene Ivanov!
Большое спасибо!


Ответ отправлен: 24.10.2003, 11:22
Отправитель: ViRUS


 Вопрос № 4369

Здравствуйте, эксперты! Как можно эмулировать нажатия мыши на асме? Заранее спасибо.



Вопрос отправлен: 24.10.2003, 14:13
Отправитель: PRO (p-r-o@mail.ru)

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

Отвечает Bob Johnson

Доброе время суток, PRO!
Посылать окну, над которым находится курсор мыши сообщения, которые обычно посылает система при реальных действиях с мышью (WM_LBUTTONDOWN, WM_MOUSEMOVE etc)

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 26.10.2003, 15:29
Отправитель: Bob Johnson


Отвечает Евгений Иванов

Здравствуйте, PRO!
Перехватываешь 51-ое прерывание. И вперёд! Делай что хочешь...
А можно взять рычаг управления самолётом с обратной отдачей и мышь подложить под него. Пишешь программу управления этой отдачей.
И тогда этот рычаг будет давить на клавишу мыши...
* EMan: ---===*** Любовь существует! ***===---


Ответ отправлен: 25.10.2003, 10:10
Отправитель: Евгений Иванов


 Вопрос № 4371

Расскажите пжалста чайничку как включить DPMI на С в смеси с Ассемблером!!!!!!!!!!!!!!!!!!!!!!!!1
памагитеееееееееееее



Вопрос отправлен: 25.10.2003, 03:03
Отправитель: кеНТ

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

Отвечает never_again

Добрый день, кеНТ!
как на С энто произвести я без понятия. а вот как с асмом работать это у Зубкова довольно не плохо расписано. возьми почитай.


Ответ отправлен: 25.10.2003, 14:49
Отправитель: never_again


 Вопрос № 4372

Доброго времени суток эксперты!
У меня есть такой вопросик: переключать режим работы дисплея в защищенном режиме?, etc...
Не откажусь от примеров. Если у кого есть инфа по работе в защищенном режиме киньте плиз.
P.S. В защищенном режиме БЕЗ КАКОЙ-ЛИБО ОС
Заранее спасибо.



Вопрос отправлен: 25.10.2003, 11:53
Отправитель: GringoMan2002 (GringoMan2002@mail.ru)

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

Отвечает Евгений Иванов

Добрый день, GringoMan2002!
Используй BIOS и режим DPMI.
А если без всего, то изучай VGA-регистры.
На моём сате возьми...
Можешь ещё взять исходник на моём сайте - драйвера для телевизора TVWIN.
Справка и драйвер в одном месте...
http://superforest.narod.ru/research_computer2tv.htm
Удачи.
* EMan: ---===*** Любовь существует! ***===---


Ответ отправлен: 25.10.2003, 23:35
Отправитель: Евгений Иванов


Отвечает dr_dolphin

Доброе время суток, GringoMan2002!
Только через порты ввода вывода видеоадаптера....
Как это делать смотри в книге Кулакова "Программирование на аппаратном уровне".
Пока


Ответ отправлен: 27.10.2003, 07:32
Отправитель: dr_dolphin


Отвечает PUSH

Приветствую Вас, GringoMan2002!Ну если без всякой оси то через управляющие регистры,но у разных видеокарт поразному,
этож надо писать драйвер самому.А стандартные видеорежимы средствами BIOS (INT 10h) непереключаются?


Ответ отправлен: 27.10.2003, 04:26
Отправитель: PUSH


Отвечает _vt

Добрый день, GringoMan2002!
Если по ходу работы менять разрешение не нужно, то можно в реальном режиме функцией BIOS установить желаемый и после этого переходить в защищенный...

*** E-Man - we are waiting for you ***


Ответ отправлен: 26.10.2003, 03:44
Отправитель: _vt


 Вопрос № 4373

Уважаемые эксперты! Как вы считаете, сколько времени нужно для профессионального освоения АССЕМБЛЕРа/C++! Cколько вы сами изучали, какая методика, философия и проч. Поделитесь опытом... С какой книги изучать и т.д.
Я начал изучать ассемблер и с++ , но знаю их по чуть-чуть... :-(
Посоветуйте что-нибудь, заранее благодарен...
Горячий поклонник ассемблера и с++



Вопрос отправлен: 25.10.2003, 19:24
Отправитель: Osmus

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

Отвечает Евгений Иванов

Доброе время суток, Osmus!
Это талант, мой друг!
Я начал изучать - но это было, не просто так, что меня кто-то заставлял...
Я сам хотел это изучить и создавать программы на Ассемблере.
Я пробирался через дебри, экспериментировал, делал ошибки и сотни раз хотел всё это бросить, но моя упрямость заставляла меня...
Так что тебе ещё предстоит много дней и ночей, лет и зим...
Главное - терпение!
Наталье привет! Не унывай и я всегда с тобой!
* EMan: ---===*** Любовь существует! ***===---


Ответ отправлен: 25.10.2003, 23:36
Отправитель: Евгений Иванов


Отвечает never_again

Приветствую Вас, Osmus!
>>Как вы считаете, сколько времени нужно для профессионального освоения АССЕМБЛЕРа/C++!
во-первых с вопросительным знаком, а не с восклицательным как у тебя. а во-вторых ты пословицу "век живи, век учись" помнишь? в асме таже история. сколько б ты не учил всегда будет что-то новое. Интел и ему подобные на месте не стоят, процы разрабатываются и разраьатываются. не можно конечно досконально выучит асм 8086-го проца и на нём под Пнём ваять. Но только это уже извращение...

>>Я начал изучать ассемблер и с++ , но знаю их по чуть-чуть
а кто не по чуть-чуть? все мы что-то знаем, а чего-то не знакм, что-то можем, а чего-го нет. со временем придёт.
Кто скажет, что он досконально знает асм и с++ пусть первым бросит в меня камень (только Нортону и Страуструпу не говори, что я это сказал :))) )


Ответ отправлен: 26.10.2003, 11:36
Отправитель: never_again


Отвечает Bob Johnson

Доброе время суток, Osmus!
Время изучения языков программирования - всю жинь :) Чем больше ты программируешь, тем больше ты узнаешь новых приемов, методов и т.д. Прежде всего потому, что для написания большинства программ не требуется 100% знание выбранного языка - если ты будешь писать на WinAPI в С++, то сможешь делать это очень долго даже если не будешь знать механизмов наследования и другого class stuff. Обычно изучение наиболее сложных моментов в программировании происходит тогда, когда они становятся необходимы для написания программ. Я сам долгое время (года 2 или 3) писал на С++, но о классах знал достаточно немного. Потом появилась задача, требующая ООП. Вот тогда я занялся этим вплотную.
Литературу по асму можешь поискать на моей странице.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 26.10.2003, 15:30
Отправитель: Bob Johnson


Отвечает dr_dolphin

Добрый день, Osmus!
Это все зависит от личных качеств изучающего,
но в любом случае при достаточно сильном желании
лучше изучать так:
1. Архитектура компьютера(ов) для которых ты желаешь писать.
2. Ассемблер для той(тех) машин(ы) для которой будешь писать. (Тем самым углубишь познания в архитектуре)
3. Ну а теперь можно и C++ изучать - будет проще если уже знаком с архитектурой компьюьтера.
Ну а самое главное пойми, что все в конечном итоге зависит от твоего желания. Выше - это просто мой совет а не догма...
Так что дерзай !!!


Ответ отправлен: 27.10.2003, 07:38
Отправитель: dr_dolphin


Отвечает PUSH

Приветствую Вас, Osmus!Главное понять как работает процессор,изучить регистры,и основные команды,
почаще пробовать писать программы.Еще надо знать архитектуру компютера,знать
ось под которую пишешь.Я лично изучил asm на ZX Spectrum,а потом довольно
долго осваивал PC.Литература: Зубков С.В (Assembler),Юров В.(Assembler учебник)
Если собераешься писать под Win и знаешь С++ непомешает Джеффри Рихтер


Ответ отправлен: 27.10.2003, 04:27
Отправитель: PUSH


Отвечает _vt

Приветствую Вас, Osmus!
Смотря что понимать под "профессиональным освоением"... Можно изучить ассемблер под конкретные условия программирования (например, x86-ассемблер под DOS ), но ведь приемы программирования, железо, операционные системы, постоянно совершенствуются, и необходимо совершенствоваться вместе с ними... Например, по рассылке Олега Калашникова по программированию на ассемблере под DOS, можно изучить ассемблер буквально за месяц(если в день по выпуску читать ), и в дальнейшем уже, зная основы, разбираться с необходимыми задачами...
> Я начал изучать ассемблер и с++ , но знаю их по чуть-чуть... :-(
В этой рассылке ты не найдешь ни одного человека, кто знает досконально ассемблер и си, для всех процессоров, операционных систем и т.д. За себя могу сказать, что прилично знаю ассемблер (а также Pascal и С)для DOS, могу что-нибудь по-быстрому "слепить" в CBuilder и Delphi под Windows, в данный момент разбираюсь с программированием на WinAPI (ассемблер и C)...

*** E-Man - we are waiting for you ***


Ответ отправлен: 27.10.2003, 02:25
Отправитель: _vt



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

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (33)
C / C++ (27)
Perl (3)
Builder / Delphi (23)
Pascal (21)
Basic / VBA (6)
Java / JavaScript (6)
PHP (11)
Криптография (8)
WinAPI (13)
Пользователю
Windows 95/98/Me (48)
Windows NT/2000/XP (65)
"Железо" (38)
Поиск информации (28)
Администратору
Windows NT/2000/XP (38)
Linux / Unix (13)
Юристу
Гражданское право (9)
Семейное право (6)
Трудовое право (6)
КоАП (6)

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




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.


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

В избранное