Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 576
от 23.06.2003, 22:30
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 3556 Отправлено ответов: 10440 Активность: 293.5 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
masquer Статус: Профессиональный Общий рейтинг: 137.37 [Подробней >>] |
Hayk Статус: Опытный Общий рейтинг: 113.45 URL: Perosnal Web Page which has been created long ago. [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 112.36 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
Ramzes Статус: Профессиональный Общий рейтинг: 125.37 URL: Microsoft homepage [Подробней >>] |
Дмитрий Статус: Профессиональный Общий рейтинг: 139.08 [Подробней >>] |
Hangatyr Статус: Опытный Общий рейтинг: 114.98 [Подробней >>] |
St Статус: Опытный Общий рейтинг: 107.65 [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 151.9 URL: Программирование [Подробней >>] |
Tigran K. Kalaidjian Статус: Профессиональный Общий рейтинг: 119.35 URL: Методы оптимизации работы ПК [Подробней >>] |
GL Статус: Опытный Общий рейтинг: 102.79 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 122.02 URL: мой сайт [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 3512. Просьба к профи в прог-и под Win32 на aсме. В моей коллекции пока один такой: "/MERGE:.data=.te... (ответов: 2)
Вопрос № 3513. Привет masquer и baldr У меня стоит CALL SetThreadPriority, TICK_COUNT_THREAD_HANDLE, THREAD_PRIORI... (ответов: 2)
Вопрос № 3514. Уважаемые эксперты, естьт ли функции которые сканируют порты на открытость или закрытось, и как их о... (ответов: 4)
Вопрос № 3515. Уважаемый эксперт, если вы писали такую программу то не могли бы вы прислатьт мне исходник или чтото... (ответов: 1)
Вопрос № 3516. Привет Bob Johnson и masquer Bob Johnson: Попробовал вашу идею - заменил GetTickCount на timeGetTime... (ответов: 1)
Вопрос № 3517. Уважаемые программисты ! Я тут ваще запутался, помогите разобраться, plz. Недавно сбабацал программк... (ответов: 1)
Вопрос № 3520. Добрый день ! В связи с огромным количеством писем, поступающим на RusFAQ.ru от пользователей, желаю... (ответов: 3)
Вопрос № 3521. Здравствуйте, Bob Johnson! Недавно на RusFaq я спрашивал как сделать инсталлятор. Вопрос по этой ... (ответов: 1)
Вопрос № 3522. Уважаемые эксперты! (а особенно Дмитрий и Hayk) Скажите пожалуйста, где вообще можно прочитать про р... (ответов: 5)
Вопрос № 3523. А как быть с асмом под Линух?... (ответов: 3)
Вопрос № 3524. Еще вопрос, был такой сайт asm.kalashnikoff.ru Я не бывал на нем нек время, и ....( куда он перебра... (ответов: 3)
Вопросов: 11, ответов: 26
Вопрос № 3512 |
Просьба к профи в прог-и под Win32 на aсме.
В моей коллекции пока один такой:
"/MERGE:.data=.text /MERGE:.rdata=.text
/SECTION:.text,ERW и забываешь про всякие тонкости, единственно
ебламывает - если сливать с .data то глобальные неинициализированные
массивы могут встать в середину проги и размер выйдет нехилый - учимся
юзать локальные массивы и переменные :)"
Подкиньте подобные штучки, если не трудно, например:
/ALIGN:512 - минимальный размер проги, но скорость... (и т.п.)
/HEAP:....
Думаю, не только мне будет интересно, а всем начинающим в Win32.
Вопрос отправлен: 18.06.2003, 17:49
Отправитель: nik
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Доброе время суток, nik!
Ну, если действительно ебламывает, то я бы не советовал не зная к чему это приведет, ковырятся с настройками линкера и сливать секции безо всякого на то основания. Все описания есть в MSDN, лучше почитать и три раза подумать - а стоит ли?
Ответ отправлен: 18.06.2003, 17:59
Отправитель: masquer
Отвечает Hayk
Добрый день, nik!
MSDN 6.0 July 2001
Visual Tools and languages//Visual Studio 6.0 Documantation//Visual C++ Documantation//Using Visual C++//Visual C++ Programmer's Guide//Compiling and linking//Details//Linker reference
Ответ отправлен: 19.06.2003, 09:37
Отправитель: Hayk
Вопрос № 3513 |
Привет masquer и baldr
У меня стоит
CALL SetThreadPriority, TICK_COUNT_THREAD_HANDLE, THREAD_PRIORITY_HIGHEST
Вы имеете в виду THREAD_PRIORITY_TIME_CRITICAL для потока и REALTIME_PRIORITY_CLASS для процесса? Проверил, ничего не изменилось. Я понимаю, если бы система не могла вытянуть 100 кадров, но она может!!! Но она при увеличении задержки всего на 1 мс (до 11) сбрасывает скорость вдвое и держит ее такой при дальнейшем увеличении задержки, причем так поступает в Win2000 (вообще скорость меняется как бы ступеньками). В Win95 тоже не все хорошо, но 70 вместо 90 лучше чем 50, да и дальше скорость можно менять плавнее.
St
Вопрос отправлен: 18.06.2003, 18:21
Отправитель: St (st23@yandex.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Доброе время суток, St!
Не совсем понятно, в чем именно проблема, просто в обычном режиме (типа того, за которым user32 gdi32 отвечают) может и не быть такой частоты, да и не понятно, как именно ты меряешь. А если в режиме DirectX, то это совсем другая песня, там свои правила игры :)
Ответ отправлен: 18.06.2003, 19:09
Отправитель: masquer
Отвечает baldr
Доброе время суток, St!
У меня примерно такая же прога - но на C++. В реальном времени с частотой, примерно, 200-400 Гц считываются данные с устройства и выводятся на экран. Экран каждый цикл сдвигается на на несколько пикселов... Система - W98, P II 200 (кажется..). В принципе, на 200 Гц работает нормально, а вот после 300 - есть очень высокая вероятность, что стек переполнится и все на%#@ повиснет. Причем, желательно все проги типа Winamp и подобные (юзающие таймер с высокой частотой) выключать.
Частота достигается вызовом callback-функции спец. классом таймера... Никаких потоков и приоритетов...
Ответ отправлен: 18.06.2003, 20:12
Отправитель: baldr
Вопрос № 3514 |
Уважаемые эксперты, естьт ли функции которые сканируют порты на открытость или закрытось, и как их открывать и закрывать.
Есть ли эти функции в Win DLL или их нужно писать самому?
И нет ли у кого исходников програм для работы с сетью, типа Chat, или какие нибубд другие!!!
И ещё, каждый эксперт отвечает по своему, и почти к каждому у меня возникают вопросы, не могли бы вы прислать свои
E-mail-ы, обещаю письмами сильно валить не буду!!!
Вопрос отправлен: 18.06.2003, 18:23
Отправитель: Ujin (twixt@rambler.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Ramzes
Здравствуйте, Ujin!
Таких функций нет. Надо писать самому.
Ставишь сокет и по очереди пытаешся подконнектиться ко всем портам данного компа (1 - 65536). Если соединение устонавливается, то порт открыт, в обратном случае - закрыт.
e-mail каждого эксперта есть в рассылке
Ответ отправлен: 19.06.2003, 10:31
Отправитель: Ramzes
Отвечает baldr
Добрый день, Ujin!
Исходники ищи на sources.ru. Функций таких нет, но можно такую прогу написать самому. Помнится, в одном из номеров журнала "Хакер" такая прога приводилась. Правда, на delphi, но там все с сокетами - аналогично.
Мыло не дам - можешь поискать сам - найдешь. Впрочем, на эту тему я ничего больше предложить, наверное, не смогу. :(
Ответ отправлен: 18.06.2003, 20:15
Отправитель: baldr
Отвечает Дмитрий
Приветствую Вас, Ujin!
Таких функций нет. Сканирование можно осуществить многими способами. Самый простой (и самый долгий): посылаешь на какой-либо порт ping-запрос и ждешь ответа. Если по истечении некоторого времени ответа нет, значит порт закрыт. И все! Перебираешь последовательно все порты. Исходник сканера портов у меня есть, но только для Java. На других языках я под винду не пишу (к сожалению). А на счет Chat'а все просто. Устанавливаешь соединение по какому-либо порту и выплевываешь туда то, что нужно. Если на другом конце сидит твоя прога, то она должна "слушать эфир" отлавливая сообщения, распечатывать их на экране.
Ответ отправлен: 19.06.2003, 06:44
Отправитель: Дмитрий
Отвечает Hangatyr
Добрый день, Ujin!
1. В стандартных библиотеках подобных функций нет, так что придется писать самому.
2. Программ таких полно - на любой вкус, даже у меня парочка завалялась.
Ответ отправлен: 19.06.2003, 14:46
Отправитель: Hangatyr
Вопрос № 3515 |
Уважаемый эксперт, если вы писали такую программу то не могли бы вы прислатьт мне исходник или чтото типа help-a, для работы с сетью!
И ещё один вопрос API функции что это(что они из себя представляют), и можно ли писатьт свои API функции.
И что такое MailSlot
Вопрос отправлен: 18.06.2003, 18:29
Отправитель: twixt
[Следующий вопрос >>] [Список вопросов]
Отвечает St
Привет, twixt!
Функции API - это функции написанные неким производителем систем или оборудования и обеспечивающие удобство програмирования. Так что если вы напишете например свою систему или некую программу к которой смогут писать дополнения другие люди, то вы конечно обязаны будете предоставить им набор функций для доступа к вашему творению :). Так что если вы пишете некоторую функцию для своей программы она не явлается функцией API.
Исходник программы посылать глупо, вряд-ли вы разберетесь, я сам часто с трудом вспоминаю что и зачем было сделано, а комментарии пишу только самые важные.
Кидаю вам кусочек попробуйте что-нибудь понять, а дальше читайте в Win32.hlp или MSDN описание тех функций которые там увидете.
St
Приложение:
Ответ отправлен: 18.06.2003, 20:10
Отправитель: St
Вопрос № 3516 |
Привет Bob Johnson и masquer
Bob Johnson:
Попробовал вашу идею - заменил GetTickCount на timeGetTime ничего не изменилось. Может проблема связана с недостаточной точностью Sleep? Такое впечатление что его точность в Win2000 кратна 10 мс: я могу получить только скорость 99, 50, 33, 25 и никакие другие. Установка Sleep 12 вместо 1, 5, 10 сразу сбрасывает скорость с 99 в 50. В Win98 похоже Sleep несколько точнее.
Известно ли вам что нибудь по этому поводу? Можете что нибудь сказать о CreateWaitableTimer/SetWaitableTimer?
masquer
Считаю просто - сколько происходит циклов сдвига экрана функцией ScrollWindowEx (спасибо Bob Johnson за подсказку этой функции) за 1 секунду. Визуально тоже видно что экран (около 700 пикселов) сдвигается полностью за 7 секунд. Конечно часть циклов из 100 видимо игнорируется системой тк частота развертки только 85, но все двигается вполне плавно, и этого достаточно для меня. На P166 1024x768 100 кадров не получается - максимум около 60, на более мощных машинах мой индикатор показывает 99 и может прыгать в некоторых пределах вниз.
Можете что-нибудь сказать о вопросах адресованных Bob Johnson? (ваше второе письмо пришло позже чем от Bob Johnson поэтому отвечаю в порядке их прочтения).
St
Вопрос отправлен: 18.06.2003, 19:42
Отправитель: St (st23@yandex.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Доброе время суток, St!
Видимо точность у sleep невысока. Это вполне возможно, но разве тебе реально нужно больше 100 fps? Ставь sleep 5 и вперед... :)
Еще есть такой вариант - использовать sleep (0). В этой ситуации если никакой другой процесс равного приоритета с твоим не нуждается в процессорном времени, sleep вернется тут же. Если же кому-то нужно, то поработает тот процесс, затем снова твой. Это нормальный вариант, если ты хочешь делать приложение, которое будет основным (т.е. игра, демо, окно "о программе" и т.д.) и не очень, если тебе нужно что-то вроде "фичи" (типа бежит скроллер, а пользователь может начать и другую программу запускать).
> Можете что нибудь сказать о CreateWaitableTimer/SetWaitableTimer?
Я никогда не использовал, так что попробуй. Может быть это будет тем, что тебе нужно.
> Конечно часть циклов из 100 видимо игнорируется системой тк частота развертки только 85
100 - это оптимальное число fps, т.к. есть люди, у которых стоит именно 100 Гц. Обычно, применяются частоты от 60 (на TFT) до 100 (на CRT) герц.
* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---
Ответ отправлен: 19.06.2003, 02:34
Отправитель: Bob Johnson
Вопрос № 3517 |
Уважаемые программисты !
Я тут ваще запутался, помогите разобраться, plz.
Недавно сбабацал программку, использующую dll через функцию loadlibrary и стал изучать способы применения этих самых DLL. Понравилась возможность их неявного связывания ( проецирование на адресное пространство процесса без использования функции LoadLibrary ). Читал это в примерах программирования на c++ ( Системное программирование ... автор - Рихтер ). Для этого необходимо иметь файл (имя библиотеки).lib ( не знаю, как этот файл называется правильно ), а как его правильно сделать, тоже не знаю. Я пользуюсь минимальным количеством файлов для программирования на тасме ( tlink32, rlink32, tasm32, uuid, import32 ).
Покопался в своих архивах и что-то нашел. В частности, при помощи программы tlib.exe из комплекта c++ builder 6 ( из коммандной строки "d: lib mylib mylib.obj" ) получил файл mylib.lib. Файл mylib.obj был получен при компеляции проекта динамически подключаемой библиотеки ( с наличием так называемой dllentry-функции (?) ).
Почему пишу так подробно: толкового описания на русском языке по программирования на тасме не нашел. Масм как-то не могу въехать ( может мозги не туда повернуты ). Языки высокого уровня мне не нравятся по разным причинам, главными из которых являются необоснованно большой результативный код ( мой проект на тасме из одного исполняемого файла и одной dll'ки занимал 16кб, а последний /о нем будет написано ниже/ и вовсе - 8 ) и, может показаться странным, относительная сложность. Может, например, с++ и красивый, но асм я понимаю лучше.
В общем, продолжаю. Затем, в первоначальной версии своей программы удалил все куски кода вроде загрузки библиотеки и поиска адреса нужной функции ( типа loadlibrary, getprocaddress ), добавив при этом строчку "include mylib.lib". При компеляции выскочило сообщение "Error: Multiple entry points defined", но рабочий файл получился и работал без нареканий. При использовании w32dsm удивился, что прога не импортирует функции из dll'ки. Через некоторое время обнаружил, что просто код этих функций находится внутри исполняемого файла и dll'ка оказалась просто не нужна. Конечно же мне это понравилось - размер проекта уменьшился в два раза, отпала необходимость в наличии библиотеки, да и перспективы использования полученных знаний...
Но главного я не добился - как сделать неявное связывание ?
И вдруг возник вопрос, а че из import32.lib, входящего в комплект все того же c++ builder 6, не вставляется код импортируемых функций ?
Помогите, пожалуйста.
Илья.
mis421@list.ru
Вопрос отправлен: 18.06.2003, 23:20
Отправитель: Bkmz (mis421@list.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Добрый день, Bkmz!
lib файлы бывают двух типов - с кодом функций и без него (в этом случае в нем содержатся ссылки на dll файлы). Когда ты создал lib из obj - ты поместил в него и код, а когда ты подключил lib внутри проги, ты заставил tasm32 вставить этот код в твою прогу. Поэтому и получилось 2 точки входа. Работала прога нормально потому, что управление попадало на ту точку, на которую ты ожидал.
lib файл следует указывать не тасму, а tlink32 (в параметрах), например:
tlink32 -x -Tpe -aa -c -V4.0 %FI%.obj, %FO%.exe , , import32.lib my1.lib my2.lib ...
А в проге ты должен описать функции как внешние, например так:
Имя_функции ProcDesc StdCall :DWord, :DWord
Тогда и получится статическое связывание. Но раз тебе понравилось, когда все было в одном файле - просто скопируй код из исходника длл в исходник твоей проги... :)
Да, lib надо делать утилитой implib из пакета тасма (она делает его из любой уже готовой dll, что очень удобно!)
* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---
Ответ отправлен: 19.06.2003, 14:17
Отправитель: Bob Johnson
Вопрос № 3520 |
Добрый день !
В связи с огромным количеством писем, поступающим на RusFAQ.ru от пользователей, желающих изучить основы программирования портов, написал статью, которая должна облегчить работу экспертов и помочь начинающим программистам в освоении этой темы. В статье разбирается программирование портов вводавывода для управления внешними(возможно самопальными) устройствами. Для упрощения были выбраны LPT- и GAME-порты. В перспективе стоит разбор принципа работы и программирования последовательных портов, а также построения схем управления на основе фотоприёмников ИК-дапазона.
Требования к читателю небольшие - иметь хотя бы небольшое представление о языках программирования и хоть раз жизни держать в руках паяльник. Высоких требований к статье предъявлять, пожалуй, не стоит, т.к. она призвана помочь
начинающим программистам, ибо в Рунете сейчас нет подробных статей на эту тему.
Статью можно скачать по адресу:
http://kalaidjian.narod.ru/proekt.rar
Размер - 108K. Запакован архиватором WinRAR 2.8. Документ создан в MSWord2002(он же XP). В будущем будет выпущен HTML-вариант, но на данный момент он занимает слишком много места.
Вопросыпожеланиякритикакомментарии приветствуются!
С уважением
Тигран Калайджян
2:5020/4567.24
Вопрос отправлен: 19.06.2003, 11:14
Отправитель: Tigran Kalaidjian
[Следующий вопрос >>] [Список вопросов]
Отвечает Tigran K. Kalaidjian
Отправил, так сказать, в массы.
Ответ отправлен: 19.06.2003, 11:43
Отправитель: Tigran K. Kalaidjian
Отвечает Дмитрий
Приветствую Вас, Tigran Kalaidjian!
Статья просто супер. Так держать!
Ответ отправлен: 19.06.2003, 12:07
Отправитель: Дмитрий
Отвечает Bob Johnson
Добрый день, Tigran Kalaidjian!
OK
* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---
Ответ отправлен: 19.06.2003, 14:17
Отправитель: Bob Johnson
Вопрос № 3521 |
Здравствуйте, Bob Johnson!
Недавно на RusFaq я спрашивал как сделать инсталлятор.
Вопрос по этой теме: например, имеется два файла: extract.exe и Dude.txt. С помощью функции WriteFile я допишу в конец extract.exe файл Dude.txt. А для того, чтобы извлечь его, extract.exe может читать из самого себя функцией ReadFile? Или вообще ничего не получится таким способом? Если у вас возник вопрос, что это я сам не проверил, так я вам отвечу - я себе винт грохнул, вчера только сделал, MASM'а нет.
И ещё, я у вас как-то спрашивал как создавать программно ярлыки. Вы мне прислали пример на C++. Я его (C++) не изучал, поэтому кое-что мне непонятно. Не могли бы вы мне прислать пример адаптированный под ассемблер, желательно под MASM.
Большое спасибо!
Вопрос отправлен: 19.06.2003, 13:58
Отправитель: Drahus (Drahus@yandex.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Здравствуйте, Drahus!
1. ReadFile может читать из "самого себя", только когда открывать будешь файл - укажи, что доступ "GENERIC_READ" и шара "File_Share_Read", т.к. запущенный файл уже открыт для чтения.
Есть даже лучше вариант - засунуть твой dude.txt в ресурсы типа RCDATA, тогда читать надо будет с помощью FindResource и т.д., но преимущество в том, что UPX сможет нормально сжать твой exe-шник, в то время как если ты просто допишешь в конец - то эти дописанные данные потеряются при сжатии.
2. Это был пример из MSDN, на асме у меня такого примера к сожалению нет. Если я его переведу на ассемблер, то перешлю тебе его по почте.
* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---
Ответ отправлен: 20.06.2003, 01:34
Отправитель: Bob Johnson
Вопрос № 3522 |
Уважаемые эксперты! (а особенно Дмитрий и Hayk)
Скажите пожалуйста, где вообще можно прочитать про работу с модемом в винде? Правильный ли я вообще использую подход, организуя связь с модемом через дескриптор (который вернуло CreateFile) ? Какие еще возможны варианты и чем они лучше подходят? Получается, что для того чтобы, например, набрать номер, я засылаю через WriteFile в модем команду ATDP666. Мне почему то кажется, что это бредово выглядит как-то. После соединения модем получает какие то данные (в моем случае - версию Линукса который стоит на серваке к которому я законнектился). Дальше - совершеннейшая неизвестность. Что делать? Что слать? Если это PPP - то на каком этапе находится подключение? когда слать SYN а когда ACK, или модемы уже давно обо всем договорились? Где найти ответы на эти вопросы?
Вопрос отправлен: 19.06.2003, 18:33
Отправитель: Broken Sword (brokensword@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Tigran K. Kalaidjian
Доброе время суток, Broken Sword!
У меня тут в архивах диалер под Windows завалялся - полностью написан на ассемблере. Честно говоря, не разбирался в нем, но отправил на мыло - может пригодится...
Исходники прилагаются.
Ответ отправлен: 20.06.2003, 12:37
Отправитель: Tigran K. Kalaidjian
Отвечает Дмитрий
Доброе время суток, Broken Sword!
Информацию по программированию модемов я поищу. Где-то у меня было. Если что, отправлю в субботу 21. Насчет управления модемом. По-моему окромя AT-команд ничего путнего придумать нельзя. Да и зачем? Они, собственно говоря, для этого и предназначены. С их помощью можно управлять модемом направо и налево без особых усилий. Почему ATDP666 выглядит бредово? Вполне нормально. Если это работает через гипертерминал, то почему-бы и нет. Если сервак вернул строку, то значит соединение установлено (по крайней мере на уровне TCP-IP). Осталось выяснить на какой порт оно установлено (может это просто Telnet?). Здесь желательно собрать побольше информации о соединениях (netstat -a), попинговать сервак, или вообще запустить какой-нибудь NetView, чтоб хотя-бы примерно знать с чем имеешь дело. Потом уже можно разбираться, что за строку сервак возвращает и вообще чего ему надо. Короче, удачи!
Ответ отправлен: 20.06.2003, 09:49
Отправитель: Дмитрий
Отвечает Hayk
Добрый день, Broken Sword!
1. В MSDN-e просмотрите RAS(Remote Access Services).
2. Через CreateFile не пробовал ... по моему надо подключиться (дозвониться) к remote машине и только после этого вызывать CreateFile. Может и ошибаюсь но вы должны создать connection на COM порте. А как дозваниваться ? ... ведь модем сидит на виртуальном COM порте. Вряд ли Windows организует всё это. По моему RAS это оптимальный метод работы с модемом. Всё там предельно просто.
3. IMHO Вообще-то PPP работает так. Создаёться device-specific соединение. Аутентификация и потом, самое главное, выбор протокола сетевого уровня. IPX, IP, NetBUI адреса не знаю как настраиваються но инфу о ни даёт функция RasGetProjectionInfo. Рад если чем-то сумел помочь.
Ответ отправлен: 20.06.2003, 13:42
Отправитель: Hayk
Отвечает GL
Приветствую Вас, Broken Sword!
Как-то Gibbel давал ссылку на тома Библиотеки системного программиста (вопрос 2700 или приложение). Среди них есть книга "Программирование модемов" (http://www.gelos.ru/upload/BSP/bsp_04.zip), но к сожалению для ДОС (всё равно кое-что можно почерпнуть и оттуда) и "Модемы и факс-модемы. Программирование для MS-DOS и Windows" (http://www.gelos.ru/upload/BSP/bsp_16.zip) и ещё "Программирование для Windows Sockets" (http://www.gelos.ru/upload/BSP/bsp_23.zip).
Приложение:
Ответ отправлен: 20.06.2003, 14:31
Отправитель: GL
Отвечает Bob Johnson
Добрый день, Broken Sword!
> Правильный ли я вообще использую подход, организуя связь с модемом через дескриптор (который вернуло CreateFile)
Я думаю, что ничего плохого в этом нет, т.к. так работает HyperTerminal. Если ты пишешь приложение на уровне него, то все будет в порядке.
> Мне почему то кажется, что это бредово выглядит как-то
Да нет, это единственный способ набрать номер на обычном (как там, HAYES-совместимый?) модеме. Ведь даже в свойствах удаленного доступа можно указать инициализационную строку модему в виде Sx = xxx и т.д., а стандартные символы (типа P, T, W, @ ...) можно добавлять даже в номер для набора.
> Дальше - совершеннейшая неизвестность. Что делать? Что слать?
А ты что, хочешь сам подключиться к интернет-провайдеру? Тогда дальше будет не очень классно... Если просто нужно установить соединение с интернетом (без любых наворотов, как это делает, the bat, например), используй лучше RasDial.
> когда слать SYN а когда ACK, или модемы уже давно обо всем договорились?
Если это относится к аппаратной части соединения - то это уже сделано модемами самостоятельно. Тебе остается только передавать данные и принимать ответ (только, кажется, что модем нужно "проверять" контрольной суммой пакета и все такое, хотя это может быть не так).
* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---
Ответ отправлен: 20.06.2003, 15:24
Отправитель: Bob Johnson
Вопрос № 3523 |
А как быть с асмом под Линух?
Вопрос отправлен: 19.06.2003, 22:19
Отправитель: ___13___
[Следующий вопрос >>] [Список вопросов]
Отвечает Broken Sword
Доброе время суток, ___13___!
о! это мое как раз. Могу выслать исходники и дать путевые ссылки. Например вот эту:
www.linuxassembly.org (или без www, не помню)
Ответ отправлен: 19.06.2003, 23:16
Отправитель: Broken Sword
Отвечает Tigran K. Kalaidjian
Приветствую Вас, ___13___!
А что такого? Найдите компилятор и компильте... Можно конкретнее вопрос ?
Ответ отправлен: 20.06.2003, 12:42
Отправитель: Tigran K. Kalaidjian
Отвечает Bob Johnson
Добрый день, ___13___!
Авторы линукса считают одним из его достоинств многоплатформенность, что полностью исключает асм (нет, там есть асм, но мало кто им пользуется). Под линукс драйвера (т.е. модули ядра) пишутся на С++.
* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---
Ответ отправлен: 20.06.2003, 15:24
Отправитель: Bob Johnson
Вопрос № 3524 |
Еще вопрос,
был такой сайт asm.kalashnikoff.ru
Я не бывал на нем нек время, и ....(
куда он перебрался?
Вопрос отправлен: 19.06.2003, 22:22
Отправитель: ___13___
[Следующий вопрос >>] [Список вопросов]
Отвечает baldr
Добрый день, ___13___!
Так сюда и перебрался! Это Rusfaq.ru - там разделы по-другому сделаны...
Ответ отправлен: 20.06.2003, 11:52
Отправитель: baldr
Отвечает Tigran K. Kalaidjian
Здравствуйте, ___13___!
Если я не ошибаюсь, то никуда, нету его. Книгу и выпуски рассылки можно скачать прямо с RusFAQ.ru
Ответ отправлен: 20.06.2003, 12:46
Отправитель: Tigran K. Kalaidjian
Отвечает Bob Johnson
Здравствуйте, ___13___!
Его больше нет. Остатки есть на http://www.rusfaq.ru. Еще некоторый материал по асму есть на моей странице: http://bobjohnson.nm.ru
* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---
Ответ отправлен: 20.06.2003, 15:24
Отправитель: Bob Johnson
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (38) C / C++ (26) Perl (5) Builder / Delphi (18) Pascal (28) Basic / VBA (9) Java / JavaScript (13) PHP (5) MySQL / MSSQL (6) |
Пользователю Windows 95/98/Me (31) Windows NT/2000/XP (27) "Железо" (20) Поиск информации (15) |
Администратору Windows NT/2000/XP (14) Linux / Unix (6) |
Юристу Гражданское право (7) Семейное право (3) Трудовое право (4) КоАП (3) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А. |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||