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

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


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

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

Выпуск № 623
от 23.08.2003, 12:40

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


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

Igoryk
Статус: Профессиональный
Общий рейтинг: 111.02
URL: CodeClimber.Com
[Подробней >>]
Tigran K. Kalaidjian
Статус: Профессиональный
Общий рейтинг: 126.77
URL: Методы оптимизации работы ПК
[Подробней >>]
_vt
Статус: Профессиональный
Общий рейтинг: 119.07
[Подробней >>]
 
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 152.29
URL: Программирование
[Подробней >>]
Greys
Статус: Доверительный
Общий рейтинг: 128.2
[Подробней >>]
Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 148.56
URL: Super Assembler Software
Телефон: НСС +7 831 3107039
[Подробней >>]
 
[L2]Max
Статус: Доверительный
Общий рейтинг: 126.87
[Подробней >>]
Lynx
Статус: Профессиональный
Общий рейтинг: 117.52
Телефон: (8442) 750522
[Подробней >>]
Broken Sword
Статус: Профессиональный
Общий рейтинг: 120.92
URL: мой сайт
[Подробней >>]
 
Andrew Vext
Статус: Профессиональный
Общий рейтинг: 105.41
[Подробней >>]
Maverick
Статус: Профессиональный
Общий рейтинг: 125.96
URL: Эхоконференция по вирмейкингу
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]


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

Вопрос № 3951. Здравствуйте, эксперты. Я передумал использовать ping.exe в своей программе (тормозит сильно). Нашел... (ответов: 1)
Вопрос № 3952. Здравствуйте, это опять я. Разобрался я с InternetGetConnectedState - поставил вместо той страшной к... (ответов: 3)
Вопрос № 3953. Вопрос к уважаемым экспертам. Есть железяка под названием Canon Fax-L290. Она может посылать факсы б... (ответов: 2)
Вопрос № 3954. Здравствуйте, Подскажите если знаете библиотеки на асме, в которых реализованы стандартные функции т... (ответов: 5)
Вопрос № 3955. Приветствую, подскажите с чего начать программирование на asm под win32 Купил диск, тут прикольный I... (ответов: 6)
Вопрос № 3956. Здравствуйте, дорогие эксперты! У меня в программе (fasm) не получается smc задействовать, алгоритм ... (ответов: 4)
Вопрос № 3958. Здравствуйте, Эксперты. Как то в этом факе видел вопрос типа "Можно ли скрыть окно по ALT+TAB?&... (ответов: 3)
Вопрос № 3959. Кто может подробно объяснить, как определяется смещение. Только не надо как в книге, по-русски пожал... (ответов: 7)

Вопросов: 8, ответов: 31


 Вопрос № 3951

Здравствуйте, эксперты.
Я передумал использовать ping.exe в своей программе (тормозит сильно). Нашел на wasm.ru статью, где упоминается функция InternetGetConnectedState (wasm.ru > статьи > сеть > использование сокетов). Там написано что с помощью этой функции можно проверить находится компьютер в online или нет. Я написал небольшую программку, но она ВСЕГДА выдает одно и тоже. В чем может быть ошибка?
PS: OS - Win2000 serv


Приложение:


Вопрос отправлен: 18.08.2003, 14:47
Отправитель: UsAr

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

Отвечает Igoryk

Приветствую Вас, UsAr!
Использовать эту функцию для определения подключения с инетом глупо. И вот почему. В MSDN написано, что эта функция возвращает TRUE в двух случаях:
1. Не было попуток соединения с интернетом.
2. Компьютер соединен с интернетом.
Так, что лучше использовать сравнение с 127.0.0.0

Ответ отправлен: 19.08.2003, 20:07
Отправитель: Igoryk


 Вопрос № 3952

Здравствуйте, это опять я.
Разобрался я с InternetGetConnectedState - поставил вместо той страшной конструкции invoke InternetGetConnectedState,0,0 Так что можете на тот вопрос не отвечать :)
Кстати, а что это за параметры которые я передаю этой функции? (поставил нули от балды :))



Вопрос отправлен: 18.08.2003, 15:06
Отправитель: UsAr

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

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

Доброе время суток, UsAr!
InternetGetConnectedState( var lpdwFlags:Cardinal; dwReserved:Cardinal ):BOOLEAN;
Параметры
lpdwFlags Свойства соединения. Флаги: INTERNET_CONNECTION_CONFIGURED
INTERNET_CONNECTION_LAN
INTERNET_CONNECTION_MODEM
INTERNET_CONNECTION_MODEM_BUSY
INTERNET_CONNECTION_OFFLINE
INTERNET_CONNECTION_PROXY
INTERNET_RAS_INSTALLED
dwReserved Зарезервировано. Должно быть 0.
Возвращает TRUE при успешном результате, FALSE в противном случае.
Подробно об остальных ф-циях по теме читайте
http://delphid.dax.ru/docs/view/wininet.htm

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


Отвечает _vt

Приветствую Вас, UsAr!
Второй параметр просто обязан быть нулем, а через первый параметр можно получить информацию о соединении: использует ли оно модем или LAN и др.

---===*** Updated E-Man 1.5 - it's cool!***===---


Приложение:

Ответ отправлен: 19.08.2003, 00:19
Отправитель: _vt


Отвечает Bob Johnson

Доброе время суток, UsAr!
Первый - адрес переменной типа dword, в которую будут возвращены дополнительные флаги, несущие описательную информацию соединения; второй - пока должен быть 0 (зарезервирован).
Кстати, в предыдущем примере
push 0
call $+9
dd 00000000h
call InternetGetConnectedState

за счет call $+9 передавался адрес на dd 0, т.к. он является адресом возврата из этого call. Вообще на wasm такие заморочки любят, ведь это "круто"... :)

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


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


 Вопрос № 3953

Вопрос к уважаемым экспертам.
Есть железяка под названием Canon Fax-L290.
Она может посылать факсы более чем 100 адресатам, причем список адресатов заполняется кнопками (однокнопочный набор и кодированный набор). А еще она может быть принтером, поскольку присоединена к компьютеру по USB порту. В стандартной комплектации есть диск с драйверами.
Т.е. дано: факс с большой памятью (в него можно предварительно загрузить посылаемые документы до 440 листов!!!), с памятью на телефонные номера (более 100), и подключенный к компьютеру.
Вопрос: стоит ли дергаться и пытаться написать драйвер, который не распечатывал бы посылаемый на факс файл, а загонял бы его просто в память с целью дальнейшей отправки т.е превращал бы этот факс в факс-сервер.
Проще говоря, речь о том, насколько обычно бывают скрыты функции управления устройством, если они НЕ объявлены производителем для конкретной модели железяки? И где можно достать управляющие последовательности?
Дело в том, что у Canon есть другая, не очень распространенная в России линейка продукции MultiPass, к которой прилагается DeskTopManager, позволяющий делать рассылки. Но у них неподходящая комплектация.
В данном случае налицо, что железяка умная, но почему-то ее способности скрыты. Может быть это маркетинговая политика, тогда как как взломать?



Вопрос отправлен: 18.08.2003, 15:49
Отправитель: Лифчик

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

Отвечает Bob Johnson

Здравствуйте, Лифчик!
> стоит ли дергаться и пытаться написать драйвер
Если цель оправдывает средства, а это уже решать тебе. Просто писать драйвер - это не картинки смотреть, здесь нужно много документации и знаний в данной области.
> насколько обычно бывают скрыты функции управления устройством
Они могут быть вполне скрыты достаточно глубоко, т.к. обычному пользователю они не нужны.
> Может быть это маркетинговая политика
И это тоже вполне возможно, т.к. так делают очень многие фирмы.
> тогда как как взломать?
Искать программную документацию и другую информацию.

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


Ответ отправлен: 18.08.2003, 17:45
Отправитель: Bob Johnson


Отвечает Greys

Доброе время суток, Лифчик!
Хакери ты эти железки, вдруг что получится! По дровам пройдись отладчиками!
Желаю удачи в твоих темном, но безобидном деле!
С уважением, GREYS!

Ответ отправлен: 19.08.2003, 23:45
Отправитель: Greys


 Вопрос № 3954

Здравствуйте,
Подскажите если знаете библиотеки на асме, в которых реализованы стандартные функции типа memcpy, memmove,
strlen и т.п. Интересуют функции, которые работают быстрее
сишного варианта. Я пару нашел, но написаны абсолютно тупо, в
итоге по скорости в несколько раз(!!!) проигравают.
Спесибо



Вопрос отправлен: 18.08.2003, 17:07
Отправитель: Юрий Гордиенко

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

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

Добрый день, Юрий Гордиенко!
Посмотри исходники HLA.
Можешь подключить уже готовую библиотеку к своей программе.
А можешь исходник использовать.
http://webster.cs.ucr.edu, следуйте по ссылкам High Level Assembly.


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


Отвечает [L2]Max

Здравствуйте, Юрий Гордиенко!
Во-первых memcpy написанна на асме, (загляни в header)
вовторых чтоб работало быстрей используй ПДП, а для этого читай мануал о контроллере DMA
Если я не так тебя понял то поправь

Ответ отправлен: 18.08.2003, 20:04
Отправитель: [L2]Max


Отвечает _vt

Добрый день, Юрий Гордиенко!
> Я пару нашел, но написаны абсолютно тупо
Ну и подправь как тебе нужно :-) Или например используй сишные...
> в итоге по скорости в несколько раз(!!!) проигравают
А как ты хотел? IMHO, лучше чем M$(Intel, Borland - не знаю, чей у тебя C) никто не сможет оптимизировать... А асмовые библиотеки сторонних производителей - лажа... Пиши сам...

---===*** Updated E-Man 1.5 - it's cool!***===---


Ответ отправлен: 19.08.2003, 00:19
Отправитель: _vt


Отвечает Bob Johnson

Здравствуйте, Юрий Гордиенко!
strlen реализована в kernel32 и называется lstrlen.
memcpy ты мог бы и сам написать. Быстрее всего - с SSE2, затем идет MMX, затем просто 32-разрядные регистры (а, еще с FPU можно, тоже достаточно быстро).

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


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


Отвечает Greys

Доброе время суток, Юрий Гордиенко!
Я сам долго и мучительно искал различные такие библиотеки, но ничего стоящего не нашел. Пришлось писать самому. Подумай может написать самому! Ведь напишешь, всего один раз и на всю жизнь их хватит, а потом только модернизируй!
С уважением, GREYS!

Ответ отправлен: 19.08.2003, 23:46
Отправитель: Greys


 Вопрос № 3955

Приветствую, подскажите с чего начать программирование на asm под win32
Купил диск, тут прикольный IDE Visual Assembler 0.99 по виду как делфи... просто жмешь на make и все...
для новичка как раз!
Но вот какую взять литературу незнаю...
Подскажите в бумажном и электронном виде, а то я слышал что есть tasm и masm и они различаются... дык чтобы мне под мой IDE взять...



Вопрос отправлен: 18.08.2003, 17:53
Отправитель: Ландграф Павел

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

Отвечает Bob Johnson

Приветствую Вас, Ландграф Павел!
Сходи на мою страницу и почитай там FAQ, а также скачай файлы, которые тебе понравятся... адрес: http://bobjohnson.nm.ru

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


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


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

Добрый день, Ландграф Павел!
TASM, IDEAL mode!
cool!
; Iczelion's homepage: http://win32asm.cjb.net
; hutch's homepage: http://masm32.cjb.net


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


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

Приветствую Вас, Ландграф Павел!
А может Вам лучше под ДОС попробовать ?
Ну ладно, если Вы действительно хотите программировать под Win32 можно изучить «туториалы Iczelion'а»
Скачать туториалы (с подробным разбором и комментариями) можно здесь:
http://www.wasm.ru/publist.php?list=1 (Уроки Win32API)
http://www.wasm.ru/publist.php?list=2 (Уроки PE)
http://www.wasm.ru/publist.php?list=3 (Уроки VXD)
http://www.wasm.ru/publist.php?list=4 (Уроки ODBC)
А также продолжение рассылки О.Калашникова
http://learnasm.narod.ru
tasm и masm для Win32 не используются, для этого нужны tasm32 и Masm32 (причём второй ИМХО предпочтительней).
Visual Assembler я уже где-то видел, но почему бы тогда не использовать Delphi или C++Builder в таком случае? Асм для того и нужен, чтобы изучить работу микропроцессора, т.с. "пощупать" код на низком уровне.

Ответ отправлен: 19.08.2003, 09:52
Отправитель: Tigran K. Kalaidjian


Отвечает Lynx

Приветствую Вас, Ландграф Павел!
Ну-ну... Visual Assembler - это клёво. :))) А главное - самый низкий уровень, ниже не придумаешь!!! :)


Ответ отправлен: 18.08.2003, 18:42
Отправитель: Lynx


Отвечает [L2]Max

Доброе время суток, Ландграф Павел!
Зайди на сайт wasm.ru там почти все есть для начинающих, под вин. Но учти что ты должен знать азы программирования на асм (команды, синтаксис и т. д.)

Ответ отправлен: 18.08.2003, 20:06
Отправитель: [L2]Max


Отвечает Greys

Здравствуйте, Ландграф Павел!
Укажите свой e-mail,тогда какие-нибудь электронные книги, статьи скину!
С уважением, GREYS!

Ответ отправлен: 19.08.2003, 23:46
Отправитель: Greys


 Вопрос № 3956

Здравствуйте, дорогие эксперты!
У меня в программе (fasm) не получается smc задействовать, алгоритм не изменяет ячейку по адресу ebx_edx_ecx.
Когда компилю tasm, тоже не получается =((


Приложение:


Вопрос отправлен: 18.08.2003, 19:11
Отправитель: эдик (edsam@spidernet.com.cy)

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

Отвечает Bob Johnson

Приветствую Вас, эдик!
Ну почему не получается? Все получается. Ты где код смотришь? У меня, например, даже td в реальном времение отреагировал на изменение кода инструкции и изменил окно дизассемблера. Кстати, после shr eax, 8 не нужна команда or ax, ax, т.к. shr сам устанавливает флаг z.
В общем, твоя программа нормально выводит GenuineIntel...

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


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


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

Здравствуйте, эдик!
Ну это проблемы кеша может быть...
Попробуй после DEC написать такой код:
jmp short $+2
Или так:
pushf
push cs
push ofs int_80_80
iret
int_80_80:
Или это FASM не позволяет изменять код в сегменте кода.
Там есть директивка, которая разрешает запись сегмента кода.
Хотя в ДОС это возможно...


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


Отвечает [L2]Max

Здравствуйте, эдик!

Учти что когда ты изменяешь КОД, то он может быть давно выбран в очередь, для очистки используй jmp $+2

Ответ отправлен: 18.08.2003, 20:08
Отправитель: [L2]Max


Отвечает Broken Sword

Доброе время суток, эдик!
это ты Igoryk-у в компо хочешь замутить? расслабся :) там уже чел с 14 байтами, а такой монстр минимум на 25 завесит
p.s. да, кстати, у тебя все работает, не боись

Ответ отправлен: 18.08.2003, 21:00
Отправитель: Broken Sword


 Вопрос № 3958

Здравствуйте, Эксперты.
Как то в этом факе видел вопрос типа "Можно ли скрыть окно по ALT+TAB?" (номер вопроса не помню, да это и не важно). Все единогласно ответили, что нет. Мол, если есть окно, то оно обязательно там видно. Но я читал в WinAPI про CreateWindowEx (описание в приложении). Так вот, если в параметр dwExStyle добавить WS_EX_TOOLWINDOW (описание в приложении), то окно скрывается (причем и в панели задач). Поправьте меня, если я ошибаюсь. Спасибо за внимание.
P.S.: извините, что я только сейчас откликнулся (тот вопрос был довольно давно).


Приложение:


Вопрос отправлен: 18.08.2003, 22:40
Отправитель: MSoft (msoft@list.ru)

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

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

Добрый день, MSoft!
Всё правильно !

Ответ отправлен: 20.08.2003, 12:14
Отправитель: Tigran K. Kalaidjian


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

Здравствуйте, MSoft!
Всё правильно!
Я так использую, когда создаю окно для Говорящих часов!


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


Отвечает Greys

Добрый день, MSoft!
Кто тебе сказал, что окно скрыть нельзя, все можно только осторожно. Я вот использовал когда-то функцию SystemParametersInfoA,только она ещё запрещает ctrl-alt-del и ctrl-esc, но и твою alt-tab, главное параметры правильно проставить. Вызываешь из user32.dll SystemParametersInfoA
(97,1,0,0), а разрешить злостнные кнопочки можно этой же функцией, но с другим вторым параметром SystemParametersInfoA(97,0,0,0). Параметры я указал в десятичной системе,просто так захотелось. Помню я кому-то уже отвечал на вопросы по этой функции, покопай в архивах RUSFAQа.
С уважением,GREYS!

Ответ отправлен: 19.08.2003, 23:45
Отправитель: Greys


 Вопрос № 3959

Кто может подробно объяснить, как определяется смещение.
Только не надо как в книге, по-русски пожалуйста.



Вопрос отправлен: 19.08.2003, 00:33
Отправитель: CUM

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

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

Доброе время суток, CUM!
Э-э.. Дык. Кем определяется? Компилятором? Уточните вопрос, пожалуйста. Если интересует объяснение "нормальным" языком прнципов работы процессора, работы с памятью, то читайте Петцольда "КОД"

Ответ отправлен: 19.08.2003, 10:05
Отправитель: Tigran K. Kalaidjian


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

Добрый день, CUM!
Это адрес.
Адреса идут от 0 до 2^32-1.
Есть команда процессора:
LEA eax, [my_perem]
заносит в EAX смещение (адрес) переменной my_perem
LEA можно использовать для простейших арифметических операций.
Например, можно ли в Ассемблере написать одной командой суммирование чисел
в одних регистрах и занесение в другой? Пжлс.:
LEA eax, [ebx+ecx]
Так же можно умножать:
LEA eax, [ebx*4]
и т.п.
Полный:
LEA source, [base+index*(1, 2, 4, 8)+displacement]
base = EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP
index = то же, но без ESP
displacement = число знаковое в границах бит 2^32.



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


Отвечает Andrew Vext

Приветствую Вас, CUM!
Объясняю по русски.
Смещение это количество байт от одного адреса (базового) до другого (целевого). Например, чтобы обратиться к байту с адресом 1100h можно указать его физический адрес (1100h), а можно указать базовый адрес (1000h) и смещение (100h).
В процессорах Intel базовый адрес делится на 16. То есть вместо 1000h указываем 100h.
Чтобы узнать физический адрес в памяти берется базовый адрес (100h), умножается на 16 (получаем 1000h), прибавляем смещение - получаем 1100h.
Наглядный пример: Есть рулетка длиной 2 метра. Надо померить длину комнаты. Отмеряем два метра и ставим метку (это базовый адрес), затем отмеряем расстояние от метки (это смещенеие). Складываем два числа - получаем размер комнаты.
Также и в компьютере. С помощью базового адреса и смещения объем доступной памяти становится больше, чем при использовании только прямого адреса.

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


Отвечает [L2]Max

Доброе время суток, CUM!
Вся память (в реальном режиме) делится на сегменты по 64Кб, адрес сегмента находится в сегментном регистре, и что бы обратиться к определенному байту внутри сегмента тебе нужно указать смещение типа:
mov bx,0xff
mov byte ptr ds:[bx],1 ; записали 1 по логическому адресу
ds:0x00ff
заметь я не случайно сказал логическому, т. к. при выполнении этой команды проц будет вычислять физический адрес вот так:
mov eax,ds
shl eax,4 ;равносильно умножению на 16
add eax,0x00ff
теперь eax указывает на физический адрес памяти, но это всего лишь алгоритм по которому вычисляется этот адрес,
проц все это делает по другому, и как, это только интеловцы знают

Ответ отправлен: 19.08.2003, 02:02
Отправитель: [L2]Max


Отвечает Bob Johnson

Приветствую Вас, CUM!
Ты тогда уж подробней опиши, какое смещение и кто определяет - компилятор или процессор.
А в общей ситуации смещение в ассемблере - это разность между адресом местоназначения и некоторой базой, относительно которой смещение и определяется.

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


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


Отвечает Maverick

Добрый день, CUM!
Смещение чего? Конкретный пример...


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


Отвечает Greys

Добрый день, CUM!
Я не до конца понял вопроса, но если вы хотите понять структуру сегмент:смещение, то все просто:
Представьте ситуацию, что к вам на улице подошла бабушка и говорит:"Я сама с Чахотки, неместная типа я, подскажи,милок,а как мене до магазина секодн-хендна дойти, мол марафету надо навести, сама, то я не местная!"
Твои действия, ты говоришь ей:"Да без базара,мамань! Садись на автобус, дуй две остановки, а там типа третий дом от остановки и будет магазин". Теперь вдумася две остановки! Эврика,это же сегмент! Третий дом-это смещение! А прекинь как бы ты бабулю загрузил, если бы сказал:"а топай ты клюшка 28 домов, атседа отсчитай, а там и марафет наведешь". Как не странно, но ты бы её направил в то же место, что и в первом случае! Если, что другое надо, то уточни вопрос! Думаю ты понял, что хотел, ведь все это сделано для удобства!
С уважением,GREYS!

Ответ отправлен: 20.08.2003, 00:17
Отправитель: Greys



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

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

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (38)
C / C++ (31)
Perl (3)
Builder / Delphi (20)
Pascal (24)
Basic / VBA (12)
Java / JavaScript (9)
PHP (8)
Криптография (10)
WinAPI (16)
Пользователю
Windows 95/98/Me (47)
Windows NT/2000/XP (59)
"Железо" (43)
Поиск информации (25)
Администратору
Windows NT/2000/XP (30)
Linux / Unix (12)
Юристу
Гражданское право (10)
Семейное право (6)
Трудовое право (7)
КоАП (6)

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




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


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


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

В избранное