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

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


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

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

Выпуск № 525
от 17.04.2003, 18:40

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


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

Bob Johnson
Статус: Профессиональный
Общий рейтинг: 150.55
URL: Программирование
[Подробней >>]
K0dMaster
Статус: Доверительный
Общий рейтинг: 127.11
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 108.33
URL: Страничка обо мне и моих друзьях
Телефон: +7 902 168 02 65
[Подробней >>]
 
Tigran K. Kalaidjian
Статус: Доверительный
Общий рейтинг: 112.57
[Подробней >>]
Ayl
Статус: Профессиональный
Общий рейтинг: 119.04
[Подробней >>]
Hangatyr
Статус: Начальный
Общий рейтинг: 121.42
[Подробней >>]
 
masquer
Статус: Профессиональный
Общий рейтинг: 141.27
[Подробней >>]
Maverick
Статус: Профессиональный
Общий рейтинг: 136.1
URL: Задачи по ассемблеру
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]
Joy
Статус: Опытный
Общий рейтинг: 124.76
[Подробней >>]
 
VicSimon
Статус: Доверительный
Общий рейтинг: 102.84
[Подробней >>]
Beeblebrox
Статус: Профессиональный
Общий рейтинг: 109.04
URL: Beeblebrox / TMA HomePage
[Подробней >>]


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

Вопрос № 2966. Здравствуйте! такой вопрос: как работают формы на html страничках, т.е. как передавать данные из фор... (ответов: 3)
Вопрос № 2967. Доброе время суток!! Как опросить сосотояние осей джойстика я понял,а вот как опросить состояние чет... (ответов: 2)
Вопрос № 2968. Мне нужно отключить затем включить ВСЕ клавиши клавиатуры, а также сочетания клавиш: Отключаю так: m... (ответов: 1)
Вопрос № 2970. Здравствуйте, ув. эксперты! Возникла такая проблема. Создал главное окно программы с фоновым рисунко... (ответов: 1)
Вопрос № 2971. Здравствуйте, Уважаемые эксперты! Не могли бы вы подсказать где можно найти Win2k DDK? сли негде, то... (ответов: 2)
Вопрос № 2973. Здравствуйте уважаемые эксперты. Есть необходимость в готовом откомпелированном exe(win32) файле пе... (ответов: 5)
Вопрос № 2974. Здравствуйте, уважаемые эксперты! Не подскажете, можно ли где-нибудь скачать толковую книгу по прог... (ответов: 3)
Вопрос № 2975. Доброе время суток. Подскажите, где можно почерпнуть подробную инфу по MP3 ... (ответов: 3)
Вопрос № 2976. Здраствуйте эксперты, никто не хочет написать программу с макросами(любую)на ассемблере, а потом мод... (ответов: 2)
Вопрос № 2977. Доброе время суток, подскажите пожалуйста,с чего лучше начать изучение ассемблера,точнее с каких кни... (ответов: 4)
Вопрос № 2978. Привет всем!!! Тут в рассылке "Ассемблер? Это просто..." Олег рекомендует программу helpas... (ответов: 1)

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


 Вопрос № 2966

Здравствуйте!
такой вопрос: как работают формы на html страничках, т.е. как передавать данные из формы на сервер (ессно моя программа - браузер)?
можно ссылки, язык роли не играет.
заранее спасибо.



Вопрос отправлен: 12.04.2003, 10:52
Отправитель: Дмитрий

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

Отвечает Bob Johnson

Здравствуйте, Дмитрий!
Когда ты нажимаешь на кнопку submit - данные, введенные в форму отправляются серверу в соответствии с протоколом HTTP 1.1. Есть два способа их отправки - Get и Post. В первом случае просто формируется требуемый url в виде http://сайт/cgi-bin/имя_скрипта?param1=value1&param2=value2... во втором случае строка параметров передается серверу отдельно. В HTTP это выглядит так:
GET url HTTP1.1
...другие поля...
[пустая строка].
А вообще по HTTP 1.0 можешь почитать даже MSDN - там есть статья, называется HTTP revealed. Ну и я думаю, что в интернете по этой теме информации куча.


Ответ отправлен: 13.04.2003, 12:53
Отправитель: Bob Johnson


Отвечает K0dMaster

Здравствуйте, Дмитрий!
Посмотри здесь врде было www.wasm.ru

Ответ отправлен: 14.04.2003, 11:56
Отправитель: K0dMaster


Отвечает Gibbel

Добрый день, Дмитрий!
Все зависит от того, каким методом передавать данные... В основном используются методы GET и POST. В методе GET данные передаются в теле HTTP запроса. Естественно, таким методом можно передавать небольшие объемы данных. В методе POST данные передаются сразу за телом запроса, и, теоретически, их длинна может достигать нескольких гигабайт... Подробнее об этом была статья на RSDN.

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


 Вопрос № 2967

Доброе время суток!!
Как опросить сосотояние осей джойстика я понял,а вот как опросить состояние четырех кнопок не врубился.Пробовал вот так но получилось что кнопки и оси связаны друг с другом.Что я сделал не так? Прога в приложении.


Приложение:


Вопрос отправлен: 12.04.2003, 14:15
Отправитель: anton (oven_mars@rambler.ru)

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

Отвечает Tigran K. Kalaidjian

Приветствую Вас, Антон!
Вместо последних 4-х строчек поставьте следующее
mov ah, 84h
mov dx, 0h
int 15h
mov a, al
состояние кнопок будет лежать с 7-го по 4-й бит переменной a.

Ответ отправлен: 12.04.2003, 19:49
Отправитель: Tigran K. Kalaidjian


Отвечает Ayl

Доброе время суток, anton!
Я что-то не понял... Если ты используешь прерывание 15h - зачем тебе порт 201? А если ты хочешь работать через порт - зачем тебе прерывание? Прерывание тебе просто предоставляет интерфейс для доступа к этому порту.
В Приложении см. описание работы с портом 201.

Приложение:

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


 Вопрос № 2968

Мне нужно отключить затем включить ВСЕ клавиши клавиатуры, а также сочетания клавиш:
Отключаю так:
mov cl,10
in al,21h
or al,cl
out 21h,al
Включаю так:
mov cl,10
not cl
in al,21h
and al,cl
out 21h,al
НО! Все отклюются, но комбинация ctr+alt+del не отключается! Почему?



Вопрос отправлен: 12.04.2003, 21:09
Отправитель: Shal (civic@online.sinor.ru)

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

Отвечает Ayl

Приветствую Вас, Shal!
Хм... А под чем проверяешь? Если под виндами - забудь. Не отключишь ты Ctrl+Alt+Del никогда. Проверяй под чистым DOS'ом (например, 6.22).

Ответ отправлен: 14.04.2003, 14:19
Отправитель: Ayl


 Вопрос № 2970

Здравствуйте, ув. эксперты!
Возникла такая проблема. Создал главное окно программы с фоновым рисунком (путем заполнения поля hbrBackground в WNDCLASSEX). На нем разместил несколько чекбоксов, надписей (STATIC) и переключателей (BS_AUTORADIOBUTTON). Все эти стандартные контроллы затирают фоновой рисунок под собой при отрисовке! Выглялит это очень некрасиво.
Я перехватывал оконную функцию контролла (SetWindowLong) и пробовал обрабатывать WM_ERASEBKGND, но фон все равно затирался, даже если я возвращал 1.
Из MSDN: "An application should return nonzero in response to WM_ERASEBKGND if it processes the message and erases the background; this indicates that no further erasing is required."
Помогите кто с этим сталкивался! Буду благодарен за любое решение, особенно за исходник. Win2K, Masm v8.



Вопрос отправлен: 13.04.2003, 01:11
Отправитель: dIcEmAN (dm2dm@yandex.ru)

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

Отвечает Bob Johnson

Добрый день, dIcEmAN!
Виндовские стандартные контролы для такой заморочи не предназначены! Уверен, что ты тут же скажешь "Что за фигня, ведь я видел много таких программ!" - Так вот, возмем, например, RivaTuner - у него тоже на заднем фоне некоторый рисунок, но он слабо отличается от обычного цвета заднего фона. И если сделать шот его окна (alt-prnscr) и потом посмотреть в граф. редакторе с увеличением, то можно увидеть, например, что GroupBox там на заднем фоне надписи имеет обычный цвет, а не рисунок! А вот chekbox вообще непонятно чем сделаны (по крайней мере, это не виндовский контрол). В общем, самый лучший вариант - пиши свои контролы! Понятно, что тебе это не понравится, поэтому можешь сделать вот что - стандартные контролы посылают родительскому окну сообщения WM_CTLCOLOR... в которых тебе предоставляется возможность сменить цвет заднего фона. Твой обработчик должен вернуть brush, которым контрол закрасит задний фон - верни либо свой brush, которым ты рисуешь окно (если не произойдет сдвига рисунка), или голый браш:
 if (uMsg == WM_CTLCOLORSTATIC)
{
return (int)GetStockObject (HOLLOW_BRUSH);
}

Тогда задний фон перестанет закрашиваться контролом. Но! Все равно непосредственно под текстом будет происходить закраска одним цветом. Так происходит потому, что установлен режим заднего фона OPAQUE, тебе надо его поменять на TRANSPARENT. Это также можно сделать в том же сообщении, т.к. в параметре wParam передается DC контрола, который рисуется:
 if (uMsg == WM_CTLCOLORSTATIC)
{
SetBkMode ((HDC)wParam, TRANSPARENT);
return (int)GetStockObject (HOLLOW_BRUSH);
}

И вот теперь начинается самое интересное! Посмотри внимательно на GroupBox - как красиво под его текстом проходит линия его границы! А вот чтобы от этого избавиться, тебе придется самому в этом сообщении стирать необходимый участок DC своим задним фоном. В общем заморочек до фига...


Ответ отправлен: 13.04.2003, 23:05
Отправитель: Bob Johnson


 Вопрос № 2971

Здравствуйте, Уважаемые эксперты!
Не могли бы вы подсказать где можно найти Win2k DDK? сли негде, то хотя бы основные файлы из него?



Вопрос отправлен: 13.04.2003, 05:01
Отправитель: FFFF

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

Отвечает Hangatyr

Здравствуйте, FFFF!
Честно скажу, где достать - не знаю. У меня он есть, весит ~87 Mb (дистр.). Если что-нибудь из него надо, то вот мое мыло - hangatyr@mail.ru


Ответ отправлен: 13.04.2003, 05:34
Отправитель: Hangatyr


Отвечает Bob Johnson

Здравствуйте, FFFF!
Недавно здесь проскакивала ссылка на XP DDK - если тебе это подойдет, то посмотри: http://windriver.ssarang.net/pds/DDK_XP.ISO


Ответ отправлен: 13.04.2003, 23:06
Отправитель: Bob Johnson


 Вопрос № 2973

Здравствуйте уважаемые эксперты.
Есть необходимость в готовом откомпелированном exe(win32) файле переставить местами некоторые функции. Т.е. к примеру в программе используются функции: func1(),func2()и т.д. Необходимо найти эти функции в exe файле, переставить их местами, изменить ссылки на них так чтобы все работало.
Буду благодарен за любые советы. Если кто знает где взять инфу по структуре EXE файла, пожалуйста сообщите.



Вопрос отправлен: 13.04.2003, 08:44
Отправитель: V_Eugene (v_eugene@list.ru)

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

Отвечает K0dMaster

Добрый день, V_Eugene!
Используй дебагер смотри адреса и меняй прямо в бинарнике

Ответ отправлен: 14.04.2003, 15:13
Отправитель: K0dMaster


Отвечает Hangatyr

Приветствую Вас, V_Eugene!
1. Никак не возьму в толк зачем нужно переставлять функции местами? Какой от этого прок? Мне кажется, сделать это будет трудно - кроме того, что нужно будет их найти, нужно будет отыскать и пофиксить все RVA, имеющие то или иное к ним отношение. Какие функции ты имеешь в виду? Локальные? Импортируемые? Или экспортируемые? Если два последних варианта - все просто, надо подправить таблицу экспорта/импорта. Если все же локальные, то не знаю. И вообще, зачем менять их местами? Или просто нужно добавить что-нибудь свое? Тогда можно просто дополнить секцию .text - там наверняка место есть или, на худой конец, создать новую секцию.
2. Могу посоветовать описание PE-формата by LUEVELSMEYER.

Ответ отправлен: 13.04.2003, 09:22
Отправитель: Hangatyr


Отвечает masquer

Доброе время суток, V_Eugene!
Если эти функции самодостаточны, т.е. не используют глобальных переменных, стек и т.д то ничего сложного нет, поменяй их бинарный код местами и вызовы подправь. В противном случае сидеть тебе за отладчиком и дизассемблером не один час (и не два...)

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


Отвечает Bob Johnson

Добрый день, V_Eugene!
Информацию по формату PE EXE можно найти в MSDN и на www.wasm.ru. Но тут она тебе не очень поможет, т.к. вызов функции чаще всего осуществляется через call, который использует относительный адрес, т.е. никакой релокации не нужно. Просто найди нужную функцию (ее адрес), потом найди все места, откуда она вызывается и исправь там так, чтобы вызывалась другая функция.


Ответ отправлен: 13.04.2003, 23:06
Отправитель: Bob Johnson


Отвечает Maverick

Добрый день, V_Eugene!
На любом ассемблерном сайте есть инфа.
Могу посоветовать www.wasm.ru


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


 Вопрос № 2974

Здравствуйте, уважаемые эксперты!
Не подскажете, можно ли где-нибудь скачать толковую книгу по программированию на MASM'е под Windows?



Вопрос отправлен: 13.04.2003, 08:57
Отправитель: Русских Денис

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

Отвечает K0dMaster

Здравствуйте, Русских Денис!
Так как ето мой любимый сайт то всем его рекомендую www.wasm.ru Или купи Пирогов ПРограммирование на ассемблере под Виндовс %))

Ответ отправлен: 14.04.2003, 15:12
Отправитель: K0dMaster


Отвечает Bob Johnson

Доброе время суток, Русских Денис!
У меня на странице есть информация по программированию под Windows (API), но она для MS VC. Если тебя это устроит, скачай: bobjohnson.nm.ru


Ответ отправлен: 13.04.2003, 23:07
Отправитель: Bob Johnson


Отвечает Joy

Доброе время суток, Русских Денис!
А что в твоем понятии толковая книга? Учебников полно - это на твой вкус, а как справочник порекомендую использовать Зубкова.

Ответ отправлен: 15.04.2003, 07:42
Отправитель: Joy


 Вопрос № 2975

Доброе время суток.
Подскажите, где можно почерпнуть подробную инфу по MP3



Вопрос отправлен: 13.04.2003, 11:51
Отправитель: Vananova

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

Отвечает Joy

Доброе время суток, Vananova!
www.codenet.ru

Ответ отправлен: 15.04.2003, 07:39
Отправитель: Joy


Отвечает VicSimon

Доброе время суток, Vananova!
Если имеется в виду информация по алгоритмам кодирования/декодирования и форматам фреймов, то здесь. Там же есть описания стандартов AC3, AAC, TwinVQ и т.п.

Ответ отправлен: 13.04.2003, 12:27
Отправитель: VicSimon


Отвечает Bob Johnson

Доброе время суток, Vananova!
Можешь попробовать скачать исходники LAME encoder. (кажется sourceforge.net или lame.sourceforge.net).


Ответ отправлен: 13.04.2003, 23:07
Отправитель: Bob Johnson


 Вопрос № 2976

Здраствуйте эксперты, никто не хочет написать программу с макросами(любую)на ассемблере, а потом модернизировать ее так , чтобы она вызывалась как оверлейный модуль?Оверлейный модуль должен иметь 2 точки входа.При вызове оверлея,как самостоятельной программы, управление передается на первую точку входа.В этой части программы выдается сообщение отом,что вызван ехе-файл,и управление передается операционной системе.При вызове оверлея из основной программы,управление передается на вторую точку входа,где исполняется алгоритм программы.
Создать программу,вызывающую программу из предыдущего абзаца как оверлейную,распределить место под оверлей в теле это программы.
ЗЫ Если программа использовала информацию из PSP, выделить в оверлей часть программы.



Вопрос отправлен: 13.04.2003, 17:37
Отправитель: unik

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

Отвечает Beeblebrox

Доброе время суток, unik!
Сам делай, лентяй! Или плати деньги.

Ответ отправлен: 14.04.2003, 09:55
Отправитель: Beeblebrox


Отвечает Joy

Добрый день, unik!
Я думаю в твоем нике пропущена одна буква "m" и тогда получится более реальный ник для тебя - "umnik".
Я так и не понял, что тебе мешает все это самому написать? И уж тем более я не вижу здесь вопроса. В FAQ'е принято отвечать на вопросы, а не писАть курсовые и дипломы :(

Ответ отправлен: 15.04.2003, 07:34
Отправитель: Joy


 Вопрос № 2977

Доброе время суток, подскажите пожалуйста,с чего лучше начать изучение ассемблера,точнее с каких книг? Как говорят для чайников.



Вопрос отправлен: 13.04.2003, 18:33
Отправитель: Паша

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

Отвечает K0dMaster

Доброе время суток, Паша!
Зубков И Пирогов %)))

Ответ отправлен: 14.04.2003, 15:09
Отправитель: K0dMaster


Отвечает Bob Johnson

Здравствуйте, Паша!
Господин Зубков С.В. рекомендуется всем. Скачать можно на моей странице: bobjohnson.nm.ru


Ответ отправлен: 13.04.2003, 23:56
Отправитель: Bob Johnson


Отвечает Joy

Приветствую Вас, Паша!
Лучше начать с рассылки О. Калашникова "Ассемблер - это просто...." (взять можно с сайта Боба Джонсона)

Ответ отправлен: 15.04.2003, 07:34
Отправитель: Joy


Отвечает Maverick

Добрый день, Паша!
см. ответы на вопрос 2964.


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


 Вопрос № 2978

Привет всем!!!
Тут в рассылке "Ассемблер? Это просто..." Олег рекомендует программу helpassm. У кого есть, киньте, plz, на мыло, или дайте ссылочку. Заранее благодарен.



Вопрос отправлен: 13.04.2003, 18:35
Отправитель: Igor_K (felix_k@rambler.ru)

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

Отвечает Maverick

Добрый день, Igor_K!
В каком контексте рекомендовал? Там что прерывания или команды?


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



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

Внимание!
Форма может работать некорректно в почтовых программах "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 (37)
C / C++ (28)
Perl (7)
Delphi (14)
Pascal (23)
Basic / VBA (9)
Java / JavaScript (11)
PHP (5)
MySQL / MSSQL (5)
Пользователю
Windows 95/98/Me (28)
Windows NT/2000/XP (21)
"Железо" (24)
Поиск информации (12)
Администратору
Windows NT/2000/XP (11)
Linux / Unix (12)
Юристу
Гражданское право (8)
Семейное право (5)
Трудовое право (5)
КоАП (6)

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




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

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


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

В избранное