Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
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.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту 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.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||