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

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


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

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

Выпуск № 654
от 24.10.2003, 00:50

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


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

Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 141.88
URL: Super Assembler Software
Телефон: НСС +7 831 3107039
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 150.42
URL: Программирование
[Подробней >>]
_vt
Статус: Профессиональный
Общий рейтинг: 121.64
[Подробней >>]
 
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 110.9
[Подробней >>]
Maverick
Статус: Профессиональный
Общий рейтинг: 123.4
URL: Эхоконференция по вирмейкингу
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]
dr_dolphin
Статус: Доверительный
Общий рейтинг: 118.03
[Подробней >>]
 
Илья
Статус: Профессиональный
Общий рейтинг: 102.68
[Подробней >>]
Eugene
Статус: Профессиональный
Общий рейтинг: 106.3
URL: мощный файловый архив
[Подробней >>]


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

Вопрос № 4333. Здравствуйте уважаемые эксперты! Поставил я себе "HLA" (v1.58) - поюзать, что за зверь та... (ответов: 1)
Вопрос № 4334. Здравствуйте, Bob Johnson!! (Кстати, это по-русски будет Борис Иванов? :) > Ну понятно - sizeof выд... (ответов: 1)
Вопрос № 4335. Доброго времени суток, ув. Эксперты. Как можно в МАСМе объявить использование sse команд (например д... (ответов: 2)
Вопрос № 4336. Можно ли на Asmе написать код, который можно будет переносить на другие ОС без изменения.... (ответов: 5)
Вопрос № 4338. Здравствуйте, уважаемые эксперты! Как работать с ini-файлами? Наверняк есть для этого специальные фу... (ответов: 3)
Вопрос № 4339. Здравствуйте,эксперты! У меня вопросик по RasGetEntryDialParams. Что надо написать на третий ее пара... (ответов: 3)
Вопрос № 4340. Привет! 1) Как выключить звук программно? Как если нажать Mute в окне регулировки звука? 2) Как упра... (ответов: 2)
Вопрос № 4341. Здравствуйте. Это снова я и снова с дурацким вопросом. Не подскажет ли кто хороший алгоритм случайны... (ответов: 1)
Вопрос № 4344. Здравствуйте, Эксперты. Вопрос тянет на off-topic, но все же... На developer.intel.com предлагаются ... (ответов: 3)
Вопрос № 4345. Как на asmе обнаружить в памяти наличие программы, т.е. проверить есть ли уже копия этой tsr прорамм... (ответов: 4)

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


 Вопрос № 4333

Здравствуйте уважаемые эксперты!
Поставил я себе "HLA" (v1.58) - поюзать, что за зверь такой кульный, что могёт/не могёт... С ним есть samples'ы - так вот, при компиляции оных зверь не находит своего же компонента: Could not open include file "comctl32.hhf"
Вопрос: его надо отдельно где-то найти, или самому создать (тогда как?)?
И ещё вопрос - где можно ознакомиться с использованием утилиты "nmake"?
Спасибо!



Вопрос отправлен: 18.10.2003, 11:57
Отправитель: Nic

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

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

Приветствую Вас, Nic!
Необходимо настроить пути!
До включаемых файлов.

* EMan1.5: ---===*** Love is real! ***===---


Ответ отправлен: 18.10.2003, 12:34
Отправитель: Евгений Иванов


 Вопрос № 4334

Здравствуйте, Bob Johnson!! (Кстати, это по-русски будет Борис Иванов? :)
> Ну понятно - sizeof выдает тебе размер переменной TVar - 4 байта.
Ага, до меня это дошло когда я уже отправил вопрос вам. Я просто не подумал о том что размер ресурса определяется по другому. У меня справочник на английском, а с ним у меня проблемы :(.
В общем, хотел сказать СПАСИБО!! Наконец-то я сделаю инсталлятор. Давно мечтал!! 8-)
Кстати, а как у вас там дела, везёт? :).
С уважением,
Drahus.



Вопрос отправлен: 18.10.2003, 18:09
Отправитель: Drahus (drahus@yandex.ru)

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

Отвечает Bob Johnson

Доброе время суток, Drahus!
> Кстати, это по-русски будет Борис Иванов? :)
Да, наверное. К сожалению, я не знаю русского ... :)
> Наконец-то я сделаю инсталлятор
А что не воспользуешься готовым? Например, inno setup.
> Кстати, а как у вас там дела, везёт? :).
В чем ? :)

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


Ответ отправлен: 21.10.2003, 00:18
Отправитель: Bob Johnson


 Вопрос № 4335

Доброго времени суток, ув. Эксперты.
Как можно в МАСМе объявить использование sse команд (например для mmx - ".mmx", amd - ".k3d")



Вопрос отправлен: 18.10.2003, 18:39
Отправитель: megalama (megalama@land.ru)

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

Отвечает _vt

Добрый день, megalama!
.xmm

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


Ответ отправлен: 18.10.2003, 20:26
Отправитель: _vt


Отвечает Dark_Lord

Приветствую Вас, megalama!
.xmm

Ответ отправлен: 20.10.2003, 12:50
Отправитель: Dark_Lord


 Вопрос № 4336

Можно ли на Asmе написать код, который можно будет переносить на другие ОС без изменения.



Вопрос отправлен: 19.10.2003, 00:38
Отправитель: Sezemin (sezemin@rambler.ru)

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

Отвечает Maverick

Здравствуйте, Sezemin!
Ну дык, естественно :) Не используй функций и API конкретных ОС. Просто чистый код. Только компиляторы все равно нужны разные. Форматы заголовков то у всех свои.


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


Отвечает dr_dolphin

Приветствую Вас, Sezemin!
Воспользуйся gas(GNU Assembler) или nasm (Netwide Assembler)
Они реализованы почти для всех ОС.
Всего хорошего


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


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

Доброе утро, Sezemin!
Запросто.
Просто надо сделать вызов внешних функций (связанных с системой) по определённому правилу; и при переходе на другую ОС сделать изменение.
Это может делать связной.
Ну типа подпрограммы-заглушки.
С системой win98 используется библиотека os_win98.lib, а с системой Win2000
используется os_win2k.lib.
Всё это очень просто автоматизировать.
А уж алгоритм и всё остальное пиши спокойно на Ассемблере!
Бывай!

* EMan1.5: ---===*** Love is real! ***===---


Ответ отправлен: 19.10.2003, 09:51
Отправитель: Евгений Иванов


Отвечает Bob Johnson

Здравствуйте, Sezemin!
Ос? Да, возможно. Для этого тебе придется разбить код на две части - одна ОС-зависимая, другая - нет. Первая при этом будет существовать отдельно для каждой оси, а вторая будет единой для всех. Она будет вызывать функции первой части.

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


Ответ отправлен: 21.10.2003, 00:39
Отправитель: Bob Johnson


Отвечает _vt

Доброе время суток, Sezemin!
Если вынести отдельно собственно функции программы и функции интерфейса с пользователем и системой. Примером такой программы является FASM - в дистибутиве представлены исходники для DOS, Win32, Linux, причем собственно код программы (а там нужно вызвать всего две или три функции для ассемблирования файла) общий для всех систем.

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


Ответ отправлен: 21.10.2003, 01:10
Отправитель: _vt


 Вопрос № 4338

Здравствуйте, уважаемые эксперты!
Как работать с ini-файлами? Наверняк есть для этого специальные функции ?



Вопрос отправлен: 19.10.2003, 10:34
Отправитель: Дима

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

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

Здравствуйте, Дима!
Используй мою библиотеку INI.DLL.
Можешь скачать с моего сайта вместе с исходниками.
Написана на HLA.
А функции в Win API есть, но я их не использую - применяю свой метод доступа.

* EMan1.5: ---===*** Love is real! ***===---


Ответ отправлен: 19.10.2003, 11:05
Отправитель: Евгений Иванов


Отвечает Bob Johnson

Доброе время суток, Дима!
Есть. Одна из них - GetPrivateProfileString. Остальные можно найти по see also.

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


Ответ отправлен: 21.10.2003, 00:41
Отправитель: Bob Johnson


Отвечает _vt

Доброе время суток, Дима!
Начинай с GetPrivateProfileString, WritePrivateProfileString и ищи описание в SDK для других по ссылкам...

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


Ответ отправлен: 21.10.2003, 01:10
Отправитель: _vt


 Вопрос № 4339

Здравствуйте,эксперты! У меня вопросик по RasGetEntryDialParams. Что надо написать на третий ее параметр. В SDK говорится о каком-то флаге. Как его указать-то? Скажите plz как обозначить флаг в третьем параметре.


Приложение:


Вопрос отправлен: 19.10.2003, 11:41
Отправитель: Mafia32

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

Отвечает Dark_Lord

Здравствуйте, Mafia32!
The function sets this flag to TRUE if the user's password was returned in the szPassword member of the RASDIALPARAMS structure pointed to by lprasdialparams.
Что в переводе на русский значит: Если в szPassword структуры RASDIALPARAMS находится пароль, то значение true!

Ответ отправлен: 20.10.2003, 12:53
Отправитель: Dark_Lord


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

Добрый день, Mafia32!
Надо передать адрес на DWORD-значение.
Если пользовательский пароль был записан в определённое место в структуру, то это значение установится в TRUE, то есть по этому адресу подпрограмма запишет не ноль.
* EMan: ---===*** Любовь существует! ***===---


Ответ отправлен: 19.10.2003, 22:18
Отправитель: Евгений Иванов


Отвечает Bob Johnson

Здравствуйте, Mafia32!
Указатель на переменную (типа bool - т.е. чтобы точно не ошибиться следует использовать только младший байт, а не все двойное слово), в которой будет true после вызова функции, если она вернула пароль.

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


Ответ отправлен: 21.10.2003, 00:42
Отправитель: Bob Johnson


 Вопрос № 4340

Привет!
1) Как выключить звук программно?
Как если нажать Mute в окне регулировки звука?
2) Как управлять WinAmp3 из своей программы?
Со второй версией знаю как, а тут не работает... :(
P.S. У меня первая 3D-игра вышла (на сайте)! :)



Вопрос отправлен: 19.10.2003, 18:46
Отправитель: URiS (alu6@mail.ru)

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

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

Здравствуйте, URiS!
2. Есть SDK специально для 3-ей версии! Качай с их сайта!
* EMan: ---===*** Любовь существует! ***===---


Ответ отправлен: 19.10.2003, 22:34
Отправитель: Евгений Иванов


Отвечает _vt

Здравствуйте, URiS!
1) Это сделать легальными способами нельзя...
2) Наверное, SDK обновился... Ищи у них на сайте...
> У меня первая 3D-игра вышла (на сайте)! :)
И опять ее скачают 6000 человек?? :))

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


Ответ отправлен: 21.10.2003, 01:10
Отправитель: _vt


 Вопрос № 4341

Здравствуйте. Это снова я и снова с дурацким вопросом.
Не подскажет ли кто хороший алгоритм случайных чисел так чтоб на каждые три отдельно взятых последовательных запуска в 80% случаев давал разные числа от 0 до 9.
это нужно для симуляции азартной игры "однорукий пират".
Я использую 8 битный генератор из книги Зубкова, но мне он не нравится.



Вопрос отправлен: 19.10.2003, 22:29
Отправитель: Мирослав Махрук

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

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

Здравствуйте, Мирослав Махрук!
Смотри вопрос 3854.
* EMan: ---===*** Любовь существует! ***===---


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


 Вопрос № 4344

Здравствуйте, Эксперты.
Вопрос тянет на off-topic, но все же... На developer.intel.com предлагаются hard-copy ихних великолепных мануалов. Если кто-либо их себе заказал, поделитесь опытом.
Сколько примерно влетит мне их пересылка в Минск( Республика Беларусь )? Сами они ведь бесплатны...
Заранее спасибо...



Вопрос отправлен: 20.10.2003, 00:35
Отправитель: shade

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

Отвечает Илья

Добрый день, shade!
Я год назад заказывал, так их задержали на в аэропорту и выставили счет 6$ за книгу. А моему другу (вместе заказывали в один день) абсолютно бесплатно прошло. Может быть это из-за того, что он в поле Company указал просто фамилию. И посылка не вызвала подозрения.
Пробуй в любом случае - никто насильно с тебя денег за хранение посылки и т.д. взять не сможет.

Ответ отправлен: 20.10.2003, 20:34
Отправитель: Илья


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

Доброе время суток, shade!
Вопрос 4311 смотри...
* EMan: ---===*** Любовь существует! ***===---


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


Отвечает Eugene

Здравствуйте, shade!
Пересылка этих книг в город Даугавпилс (Латвия) мне ничего не стоила. Всё за счёт интел. Может в Вашу страну есть какие-то ограничения на ввоз, тогда что-нибудь могут и взять.

Ответ отправлен: 20.10.2003, 09:31
Отправитель: Eugene


 Вопрос № 4345

Как на asmе обнаружить в памяти наличие программы, т.е. проверить есть ли уже копия этой tsr прораммы в пямяти или нет и если есть то как передать через командную стоку какиенибудь параметры.



Вопрос отправлен: 20.10.2003, 00:48
Отправитель: Stalcker

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

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

Доброе время суток, Stalcker!
Вопрос 3710!!!
szAppClass db 'Pupkin_MyProg_0',0
;--------------------------------
; Проверяет, запущена ли уже программа.
; OUT-> 0-нет, !0-да;
;
proc IsRun
Call FindWindow, ofs szAppClass, NULL
endp IsRun
Ends
* EMan: ---===*** Любовь существует! ***===---


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


Отвечает Eugene

Доброе время суток, Stalcker!
Для этой цели есть хорошее прерывание int 0x2f. Обычно оно используется для выгрузки программы из памяти. Работать с этим прерыванием очень просто: нужно в своей программе поставить обработчик этого прерывания и ловить некоторые числа в регистрах. Если поймаешь свои числа, то выполнять заданное действие, например закончить прожку, если не свои - то передать прерывание дальше, ведь в цепи обработчиков может находится не только твоя прожка.

Ответ отправлен: 20.10.2003, 09:37
Отправитель: Eugene


Отвечает Bob Johnson

Приветствую Вас, Stalcker!
Под дос, как я понимаю? Обычно для этой цели программа перехватывает какое-либо прерывание, а вторая копия при запуске его вызывает. Если возвращаемое значение оказывается равно чему-либо, значит одна копия программы уже есть. Чтобы передать ей какие-либо параметры - можно также перехватить какую-нибудь функцию и вызывать для этого ее.

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


Ответ отправлен: 21.10.2003, 00:42
Отправитель: Bob Johnson


Отвечает _vt

Добрый день, Stalcker!
Обычно, резидентная программа для связи сама с собой перехватывает какое-нибудь неиспользуемое в системе прерывание и вешает на какие-нибудь параметры в регистрах возвращаемое значение, т.е. если это прерывание возвращает определенное "магическое" число - значит программа уже висит в памяти и повторная загрузка не нужна. В этом случае, можно передать ей параметры... Кроме того, существуют спецификации резидентных программ, в которых прописан стандарт таких программ и способ их взаимодействия между собой. Есть в Зубкове...

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


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



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

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

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (28)
C / C++ (29)
Perl (5)
Builder / Delphi (22)
Pascal (22)
Basic / VBA (6)
Java / JavaScript (6)
PHP (10)
Криптография (7)
WinAPI (15)
Пользователю
Windows 95/98/Me (47)
Windows NT/2000/XP (60)
"Железо" (34)
Поиск информации (25)
Администратору
Windows NT/2000/XP (35)
Linux / Unix (11)
Юристу
Гражданское право (9)
Семейное право (6)
Трудовое право (6)
КоАП (6)

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




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


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


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

В избранное