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

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


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

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

Выпуск № 700
от 26.02.2004, 12:21

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


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

Foamplast
Статус: Опытный
Общий рейтинг: 171.83
URL: мой личный сайт
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 105.87
URL: Savage Metal Club - жизнь в стиле рок-н-ролл
Телефон: +7 901 710 3146
[Подробней >>]
Portnov
Статус: Профессиональный
Общий рейтинг: 106.88
URL: Мой сайтик...
[Подробней >>]
 
Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 134.95
URL: Super Assembler Software
Телефон: Пчёлка +7 905 6601206
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 144.37
URL: Программирование
[Подробней >>]
_vt
Статус: Профессиональный
Общий рейтинг: 117.83
[Подробней >>]
 
SedHg
Статус: Опытный
Общий рейтинг: 112.99
[Подробней >>]
VOVAN
Статус: Доверительный
Общий рейтинг: 106.45
[Подробней >>]
St
Статус: Профессиональный
Общий рейтинг: 105.33
[Подробней >>]
 
vitya
Статус: Профессиональный
Общий рейтинг: 108.62
[Подробней >>]
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 110.13
[Подробней >>]


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

Вопрос № 4971. Уважаемые эксперты столкнулся с проблемкой есть в ICMP.dll API функция IcmpSendEcho , а у нее есть... (ответов: 2)
Вопрос № 4972. для Foamplast: честно говоря я в замешательстве, это что за стиль программирования такой? я только П... (ответов: 1)
Вопрос № 4973. Есть проект на masm ( один файл с исходным текстом и файл ресурсов ), где ( как и у большинства... (ответов: 3)
Вопрос № 4974. Уважаемые эксперты! Если при запуске проге не будет хватать памяти для размещения кода, будет ли уре... (ответов: 2)
Вопрос № 4976. Здравсвуйте, уважаемые эксперты! Вы, видимо не поняли мой вопрос (про курсоры для мыши). Я хочу сдел... (ответов: 1)
Вопрос № 4977. Здравствуйте уважаемые эксперты. Уточняю вопрос №4967 "...как организовать в программе отслежив... (ответов: 1)
Вопрос № 4978. Здраствуйте уважаемые эксперты. У меня к вам вопрос не напрямую связанный с Assemblerом, но все же я... (ответов: 1)
Вопрос № 4980. Добрый вечер всем. Это не вопрос, но эта информация может быть полезна для вас и читателей, отправьт... (ответов: 1)
Вопрос № 4981. Уважаемые господа Эксперты. Есть задача - определение состава железа, т.е. модель материнки,проца, ... (ответов: 2)
Вопрос № 4982. Доброго времени суток! Давным давно я неплохо писал программы в ASM'е ZX-SPECTRUM, и хотел бы сейчас... (ответов: 2)
Вопрос № 4983. Это не вопрос, а ответ на мой же вопрос под №4937 про определение адреса образа базы user32: оказыва... (ответов: 1)
Вопрос № 4984. Как работать с MS-DOS под Windows XP.У меня программы на Assemblere не пашут.... (ответов: 2)
Вопрос № 4985. Здраствуйте, Уважаемые эксперты! Вот написал програму по книжке для ввода текста и записи введённого... (ответов: 2)
Вопрос № 4986. Как можно получить полноценный DOS под Windows XP,потому что у меня не одна программа не работает. ... (ответов: 1)
Вопрос № 4987. хайте эксперты, может кто подскажет, как получить handle от всех однотипных элементов, например, от ... (ответов: 3)

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


 Вопрос № 4971

Уважаемые эксперты столкнулся с проблемкой есть в ICMP.dll API функция IcmpSendEcho , а у нее есть 2 интересующих меня параметра 5 и 6 , я нашел какой то пример в инете там они называются RequestOptns,ReplyBuffer сам пример на делфи , согласно ремаркам это две структуры ICMPECHO и IPINFO не могу их нормально определить для свой програмки на ассемблере , у кого нибудь есть готовый пример описания этих структур и возможно даже пример использования этой функции на ассемблере,
Заранее благодарен...



Вопрос отправлен: 20.02.2004, 09:48
Отправитель: greg

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

Отвечает Foamplast

Добрый день, greg!
Структура IP_OPTION_INFORMATION определена так:
{
UCHAR Ttl;
UCHAR Tos;
UCHAR Flags;
UCHAR OptionsSize;
PUCHAR OptionsData;
}
А ICMP_ECHO_REPLY так:
{
IPAddr Address;
ULONG Status;
ULONG RoundTripTime;
USHORT DataSize;
USHORT Reserved;
PVOID Data;
IP_OPTION_INFORMATION Options;
}
Принимая во внимание, что UCHAR - это byte, PUCHAR - это указатель (они все Dword в 32-битной винде), IPAddr - это Dword, ULONG - это Dword, USHORT - это Word, PVOID - указатель и IP_OPTION_INFORMATION - вышеопределённая структура целиком, можно определить эти структуры для любого ассемблера.

Ответ отправлен: 21.02.2004, 02:32
Отправитель: Foamplast


Отвечает Gibbel

Доброе время суток, greg!
А в MSDN лень было заглянуть??? ;-)
DWORD IcmpSendEcho(
HANDLE IcmpHandle,
IPAddr DestinationAddress,
LPVOID RequestData,
WORD RequestSize,
PIP_OPTION_INFORMATION RequestOptions,
LPVOID ReplyBuffer,
DWORD ReplySize,
DWORD Timeout
);
typedef struct ip_option_information {
UCHAR Ttl;
UCHAR Tos;
UCHAR Flags;
UCHAR OptionsSize;
PUCHAR OptionsData;
} IP_OPTION_INFORMATION, *PIP_OPTION_INFORMATION;
typedef struct icmp_echo_reply {
IPAddr Address;
ULONG Status;
ULONG RoundTripTime;
USHORT DataSize;
USHORT Reserved;
PVOID Data;
IP_OPTION_INFORMATION Options;
} ICMP_ECHO_REPLY, *PICMP_ECHO_REPLY;

Ответ отправлен: 20.02.2004, 10:23
Отправитель: Gibbel


 Вопрос № 4972

для Foamplast:
честно говоря я в замешательстве, это что за стиль программирования такой?
я только Питера Абеля читал и Зубкова чуть чуть
что за .name? это метки такие а круглые скобки, вместо квадратных?
и всем спасибо, и как я сам не догодался про вторую строку :)



Вопрос отправлен: 20.02.2004, 10:14
Отправитель: очень хочу научиться

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

Отвечает Foamplast

Приветствую Вас, очень хочу научиться!
Так как мне никакие существуюшие стили не нравятся, я использую свой. В будущем, возможно, напишу среду разработки, где этот стиль будет изначальным.
.name - это просто в nasm локальная метка
Пример:
proc1:
.exit
proc2:
.exit
Теперь мало того, что одноимённые метки .exit не пересекаются, ещё и определены метки proc1.exit и proc2.exit. Все, кто когда-нибудь писал мало-мальски большие проекты (больше 50Kb исходник), должны это оценить.
А memory(object) у меня равносильно [object],
потому что в строках типа
HeapFree([hHeap], Ebx, [lpActions]);
мне сочетание круглых и квадратных скобок не нравится.
(из соображений дизайна)

Ответ отправлен: 21.02.2004, 02:32
Отправитель: Foamplast


 Вопрос № 4973

Есть проект на masm ( один файл с исходным текстом и файл ресурсов ), где ( как и у большинства ) имеются процедуру ( функции ), некоторые из которых занимают много строк.
Пользуюсь редактором redasm, позволяющим сворачивать блок текста, относящийся к одной функции ( блоку .data, .data?, .const и т.д. ), что очень удобно при просмотре и редактировании текста.
Для компиляции проектов написал универсальный батник ( типа: make.bat name_proj.asm )
Сама проблема ( или скорее неудобство ) заключается в том, что большой проект компилится долго. Хотелось бы реализовать следующее: отдельно компилить доведенную до ума процедуру или функцию в *.obj, а затем в проекте ссылаться на этот файл без необходимости редактирования make.bat
Например:
include\'ы
.data
.code
.start
main proc
что-то делаем
include function, par1, par2, par3
что-то делаем дальше
выход
main endp
типа include function.obj
.end start
Можно ли реализовать что-либо подобное и если да, то как сделать function.obj ( с использованием глобальных переменных и передаваемыми параматрами ) ?



Вопрос отправлен: 20.02.2004, 12:09
Отправитель: Ilya

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

Отвечает Portnov

Приветствую Вас, Ilya!
Задача более чем известная. Для этой цели придумана утилита make, входящая в tasm и другие компиляторы. Вы пишете makefile, а потом только запускаете make в директории с проектом. В makefile вы описываете какие файлы из каких должны строиться, с помощью каких программ, и какой файл является целевым. make проверяет даты исходных и целевых файлов, и в случае необходимости перекомпилирует то, что нужно. Подробнее за описанием синтаксиса makefile смотрите в документации на make. В крайнем случае, не найдете - пишите мне на portnov at mgn ru, у меня где-то валялось. Синтаксис от версии к версии может немного отличаться, но стандартом является GNU make, которая поставляется с другими GNU-шными компиляторами (gcc, gpc, fpc...).
С уважением, Portnov.

Ответ отправлен: 21.02.2004, 15:39
Отправитель: Portnov


Отвечает Foamplast

Добрый день, Ilya!
Я заинтересовался очень, а какое время у тебя занимает компиляция проекта? Приведи, пожалуйста конкретные значения
(общий размер исходников в Кб и время компиляции).
А то у меня самые крупные коммерческие проекты больше 1 с не компилировались никогда... (у меня Athlon 600 Mhz)


Ответ отправлен: 21.02.2004, 02:32
Отправитель: Foamplast


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

Приветствую Вас, Ilya!
includelib *.obj
* EMan: -=- Любовь существует! =-=


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


 Вопрос № 4974

Уважаемые эксперты! Если при запуске проге не будет хватать памяти для размещения кода, будет ли урезаться область стека и др. области для освобождения памяти или об этом надо заботиться самому?



Вопрос отправлен: 20.02.2004, 12:14
Отправитель: Pirat

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

Отвечает Bob Johnson

Добрый день, Pirat!
Если не будет хватать памяти для кода, то она будет выделена их другой области (т.е. стек, и т.п.). Так что не стоит беспокоиться об этом.

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


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


Отвечает Foamplast

Приветствую Вас, Pirat!
Назови процессор, операционную систему и тип исполняемого файла. Например, Atmel AT90LS8535 имеет раздельные пространства кода и данных, т.е. там точно ничего не урежешь.


Ответ отправлен: 21.02.2004, 02:32
Отправитель: Foamplast


 Вопрос № 4976

Здравсвуйте, уважаемые эксперты! Вы, видимо не поняли мой вопрос (про курсоры для мыши). Я хочу сделать программу, аналогичную main.cpl в панели управления или Microangelo. То есть я хочу поменять курсор не только в окне моей программы, а ВООБЩЕ везде. Я подумал, что это можно сделать где нибудь в реестре. RegShot обнаружил место HKEY_CURRENT_USER/Control Panel/Cursors. Смена значений ни к чему не привела( хотя контрольная панель показывала после смены то, что в реестре, а не то, что на самом деле). Может быть, что можно сделать, перехватив API LoadCursor, но тогда процесс постоянно должен быть в памяти и смена произойдет не сразу. Что делать,



Вопрос отправлен: 20.02.2004, 17:17
Отправитель: PRO (admin@smallsoft.net.ru)

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

Отвечает Foamplast

Здравствуйте, PRO!
Можно так сделать. Сижу сейчас, пишу ответ, а курсор мыши рядом в виде крестика какого-то.
См. приложение. (Оно под nasm, общий смысл поймёшь)


Приложение:

Ответ отправлен: 21.02.2004, 02:32
Отправитель: Foamplast


 Вопрос № 4977

Здравствуйте уважаемые эксперты. Уточняю вопрос №4967 "...как организовать в программе отслеживание обращения к портам другими программами, как это делают операционные системы?" - обращение к портам ввода-вывода процессора.



Вопрос отправлен: 20.02.2004, 19:56
Отправитель: Angel

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

Отвечает Foamplast

Доброе время суток, Angel!
Скорее всего никак.
Возможность обращения к порту вода-вывода в защищённом режиме конролируется специальной картой ввода-вывода, где показывается, к каким портам можно обращаться, а к каким - нет.
При этом если процессор находится в режиме V86, то при обращении к запрещённому порту (соответствующий бит равен 1) происходит исключение #GP (общая ошибка защиты). За счёт этого эмулятор DOS может понять, что программа обращается к порту, и выполнить соответствующие действия, т.е. "прикинуться" устройством.
А в нормальном защищённом режиме, похоже, ничего не происходит. В документации от Intel я ничего не нашёл.

Ответ отправлен: 21.02.2004, 02:32
Отправитель: Foamplast


 Вопрос № 4978

Здраствуйте уважаемые эксперты. У меня к вам вопрос не напрямую связанный с Assemblerом, но все же я прошу помочь если не сложно. Недавно “закончил” писать свой собственный Acommander (наподобие Norton Commander), который работает под ДОСом и теперь хочу добавить возможность работы с NTFS. Если укого есть описание на русском NTFS (или кто может знает ссылку) просьба скинуть на e-mail – slwy@yandex.ru



Вопрос отправлен: 20.02.2004, 19:52
Отправитель: wander

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

Отвечает _vt

Добрый день, wander!
Копай в сторону http://www.sysinternals.com. А вообще, проще использовать внешний драйвер NTFS - с того же сайта.
--- E-Man 1.5+ : Sorry for terrible english. My native language is C++


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


 Вопрос № 4980

Добрый вечер всем.
Это не вопрос, но эта информация может быть полезна для вас и читателей, отправьте в рассылку, пжлст.:
Здесь находятся нормальные SoftICE 4.05 для NT и 9x, и еще к тому же есть инсталляторы SoftICE 4.2.7, выдранного из DriverSuite 2.7 для Win9x и NT (то есть здесь лежит не сам DS, а только Sice'ы из него), примерно по 2.5MB каждый и к тому же патчи и тулзы.
http://reversing.kulichki.net/files/debug/debug.htm



Вопрос отправлен: 21.02.2004, 13:08
Отправитель: Marouder (marouder@list.ru)

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

Отвечает SedHg

Доброе время суток, Marouder!
>>reversing.kulichki.net
Кто же этого адреса не знает =).


Ответ отправлен: 22.02.2004, 11:34
Отправитель: SedHg


 Вопрос № 4981

Уважаемые господа Эксперты. Есть задача - определение состава железа, т.е. модель материнки,проца, видео и т.д. Желательно аппаратно (прошитые коды идентификации производителя) либо из реестра. Очень нужна информация по данному вопросу. Подскажите где копать. (Лопата уже есть). Заранее благодарен.



Вопрос отправлен: 21.02.2004, 13:57
Отправитель: Artem (shavkutin_a@mail.ru)

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

Отвечает Foamplast

Приветствую Вас, Artem!
Можно выделить два метода определения состава оборудования:
1. Специфические действия для каждого типа устройства
Для Центрального Процессора - Команда cpuid
Для видеоадаптера - получение информации через VESA
Для накопителей на жёстких дисках - их опрос через порты (IDE)
И т.п.
2. Получение информации по стандарту plug-and-play
Если хочешь, откопаю свои исходники (на NASMе) и пришлю.

Ответ отправлен: 22.02.2004, 00:31
Отправитель: Foamplast


Отвечает _vt

Доброе время суток, Artem!
Копай на сайтах производителей железа. Модель процессора и его специфицеские возможности определяются инструкцией cpuid, остальное - ищи сам :-)
--- E-Man 1.5+ : Sorry for terrible english. My native language is C++


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


 Вопрос № 4982

Доброго времени суток!
Давным давно я неплохо писал программы в ASM'е ZX-SPECTRUM, и хотел бы сейчас разобраться с PC'шным. Подскажите где можно взять необходимую для этого информацию.
Зарание благодарен.



Вопрос отправлен: 21.02.2004, 14:03
Отправитель: MoЯph (_1981_@mail.ru)

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

Отвечает Foamplast

Добрый день, MoЯph!
Лучше книги С.В. Зубкова "Ассемблер для DOS, Windows и UNIX" пока ещё ничего не видел.
Купи её, она продаётся. Электронные варианты, которые я скачивал, все неполные.


Ответ отправлен: 22.02.2004, 00:34
Отправитель: Foamplast


Отвечает SedHg

Добрый день, MoЯph!
Приличное количество книг и инфы есть на asm.shadrinsk.net.
Так же советую зайти на src.fitkursk.ru, там много исходников.

Ответ отправлен: 22.02.2004, 11:49
Отправитель: SedHg


 Вопрос № 4983

Это не вопрос, а ответ на мой же вопрос под №4937 про определение адреса образа базы user32:
оказывается если не используешь ни одной функции из этой библиотеки (User32 да и с другими также), то она не отображается на твое адресное пространство... от того и получался ноль... стоило только добавить в проект функцию MessageBoxA так сразу все заработало.
Мне кажется это интересным.



Вопрос отправлен: 21.02.2004, 15:32
Отправитель: akvilon

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

Отвечает Foamplast

Добрый день, akvilon!
А зачем отображать библиотеку на твоё пространство, если ты ей не пользуешься? Ведь если ей никто не пользуется, то она и в памяти не загружена.
Можешь вызывать LoadLibrary, когда тебе надо загрузить библиотеку.


Ответ отправлен: 22.02.2004, 00:37
Отправитель: Foamplast


 Вопрос № 4984

Как работать с MS-DOS под Windows XP.У меня программы на Assemblere не пашут.



Вопрос отправлен: 21.02.2004, 19:01
Отправитель: Andrew (Superprogrammozg@mail.ru)

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

Отвечает Foamplast

Приветствую Вас, Andrew!
У меня Windows Xp нет, но предполагаю, что и не должны пахать. Поставь себе DOS и работай.

Ответ отправлен: 22.02.2004, 00:46
Отправитель: Foamplast


Отвечает _vt

Доброе время суток, Andrew!
Напиши, что конкретно не пашет. Так вопросы не задаются.
--- E-Man 1.5+ : Sorry for terrible english. My native language is C++


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


 Вопрос № 4985

Здраствуйте, Уважаемые эксперты!
Вот написал програму по книжке для ввода текста и записи введённого текста в файл, сначала она у меня нормально всё делала, но я чё то исправил, уже сам не могу понять чего и теперь она не хочет воспринимать символы "0dh, 0ah", я несколько раз всё проверил и не могу понять в чём дело, подскажите в чём моя ошибка? Программа должна записать введёные слова в файл...но каждое слово..с новой строчки!
Заранее большое спасибо!


Приложение:


Вопрос отправлен: 22.02.2004, 01:57
Отправитель: Антон

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

Отвечает VOVAN

Приветствую Вас, Антон!
после компиляции приложения и его проверки было замечено, что по заданному пути отсутствовал заданный в проге файл, после чего была найдена ошибка!!!(см. приложение).
после её исправления запись в файл происхдила нормально, то есть вся белиберда получилась из-за отсутствия слеша.


Приложение:

Ответ отправлен: 22.02.2004, 13:42
Отправитель: VOVAN


Отвечает St

Привет, Антон!
У меня вроде все работает, единственное - в файл записываются строки включая пробелы до 20 знаков. Можно наверное дописывать 0ah,0dh после последнего введенного знака - экономия дискового пространства :)
St

Ответ отправлен: 24.02.2004, 13:05
Отправитель: St


 Вопрос № 4986

Как можно получить полноценный DOS под Windows XP,потому что у меня не одна программа не работает.



Вопрос отправлен: 22.02.2004, 11:08
Отправитель: Andrew

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

Отвечает _vt

Доброе время суток, Andrew!
"Полноценный" DOS под XP можно получить, установив либо Microsoft Virtual PC, либо VMWare Workstation. Но и без них можно вполне настроить DOS для большинства программ. Какие конкретно проблемы? Что значит "не работает"?
--- E-Man 1.5+ : Sorry for terrible english. My native language is C++


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


 Вопрос № 4987

хайте эксперты,
может кто подскажет, как получить handle от
всех однотипных элементов, например, от всех окон или
от всех button's? и каким образом лучше хранить в
памяти массив этих handle?



Вопрос отправлен: 22.02.2004, 12:11
Отправитель: Zensor (ZASM@MAIL.RU)

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

Отвечает Foamplast

Здравствуйте, Zensor!
Все окна верхнего уровня (главные окна приложений) можно перечислить с помощью функции EnumWindows().
Всех потомков определённого окна можно перечислить с помощью функции EnumChildWindows().
Так как про ограничения в MSDN ничего не сказано, смею предположить, что с помощью вызова EnumWindows() и последующих вызовов EnumChildWindows() можно перечислить все окна в системе.
Для того, чтобы перечислить все кнопки или, там, полосы прокрутки необходимо сделать всё вышесказанное и проверять класс каждого полученного окна на соотвествие искомому.
Лично я хранить одномерные массивы handle'ов предпочитаю в виде их простой последовательности в памяти, завершающейся нулём.

Ответ отправлен: 23.02.2004, 03:55
Отправитель: Foamplast


Отвечает vitya

Добрый день, Zensor!
Все окна можно получить через EnumWindows и EnumChildWindows.

Ответ отправлен: 23.02.2004, 08:26
Отправитель: vitya


Отвечает Dark_Lord

Добрый день, Zensor!
1) Button это тоже окно
2) Для перечисления всех окон можно использовать функцию EnumWindows

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



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

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

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (28)
C / C++ (18)
Perl (3)
Builder / Delphi (20)
Pascal (21)
Basic / VBA (10)
Java / JavaScript (3)
PHP (13)
Криптография (7)
WinAPI (12)
Радиоэлектроника (8)
Пользователю
Windows 95/98/Me (38)
Windows NT/2000/XP (58)
"Железо" (33)
Поиск информации (15)
Администратору
Windows NT/2000/XP (31)
Linux / Unix (12)
Юристу
Гражданское право (16)
Семейное право (11)
Трудовое право (12)
КоАП (10)

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




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


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


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

В избранное