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

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


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

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

Выпуск № 520
от 10.04.2003, 13:00

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


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

Ayl
Статус: Профессиональный
Общий рейтинг: 118.61
[Подробней >>]
Broken Sword
Статус: Профессиональный
Общий рейтинг: 124.2
URL: моя рассылка по Protected Mode
[Подробней >>]
Александр
Статус: Доверительный
Общий рейтинг: 103.86
[Подробней >>]
 
Maverick
Статус: Профессиональный
Общий рейтинг: 136.32
URL: Задачи по ассемблеру
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]
baldr
Статус: Профессиональный
Общий рейтинг: 113.04
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 150.15
URL: Программирование
[Подробней >>]
 
St
Статус: Опытный
Общий рейтинг: 109.17
[Подробней >>]
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 115.2
[Подробней >>]
DiGiT[old]
Статус: Профессиональный
Общий рейтинг: 111.5
[Подробней >>]
 
akul
Статус: Опытный
Общий рейтинг: 115.53
Телефон: +6019-6416245
[Подробней >>]
keleb-glin
Статус: Опытный
Общий рейтинг: 109.45
[Подробней >>]
Samodelkin
Статус: Доверительный
Общий рейтинг: 128.05
[Подробней >>]
 
Tigran K. Kalaidjian
Статус: Начальный
Общий рейтинг: 110.09
[Подробней >>]
Andrew Vext
Статус: Опытный
Общий рейтинг: 106.9
[Подробней >>]
Joy
Статус: Опытный
Общий рейтинг: 125.4
[Подробней >>]


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

Вопрос № 2907. Доброго времени суток, уважаемые эксперты! Ещё один вопрос о защищённом режиме, я слышал, что начина... (ответов: 3)
Вопрос № 2908. Здравствуйте, если задана строка: str db 3 dup (3) как последовательно ввести в неё 3 значения из ah... (ответов: 3)
Вопрос № 2909. Доброго времени суток, уважаемые эксперты. Поделитесь, plz, у кого есть, доками, примерами, ссылками... (ответов: 2)
Вопрос № 2910. Извиняюсь за назойливоть, но мне действитеьно нужна Ваша помошь многоуважаемые Эксперты. Ситуация та... (ответов: 3)
Вопрос № 2911. Ув. тов. эксперты, ответьте, плз., на вопрос, чем можно отлаживать 32-разрядные ( где b8 - mov eax, ... (ответов: 4)
Вопрос № 2912. З.У.Э.! Тут процедура для модема на Delphi. Но вот когда её запускаешь, остальные программы для моде... (ответов: 2)
Вопрос № 2913. Подскажите, что почитать по FAT'у? Линки и т.п. А если есть какие доки с собой, киньте: _inbox_@mail... (ответов: 1)
Вопрос № 2914. Куда надо прыгнуть, чтобы перегрузить компутер?... (ответов: 10)
Вопрос № 2915. Здравствуйте, уважаемые. Подскажите, как сделать указатель отрицательным? Делаю так, как в приложени... (ответов: 5)
Вопрос № 2916. Здравствуйте, Уважаемые Эксперты! У меня к вам есть вопрос, собственно, он не совсем по асму, а скор... (ответов: 4)

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


 Вопрос № 2907

Доброго времени суток, уважаемые эксперты!
Ещё один вопрос о защищённом режиме, я слышал, что начиная с Пентиум про можно при страничной адресации адресовать 64 Гб памяти. Как это можно сделать!?



Вопрос отправлен: 05.04.2003, 13:10
Отправитель: megalama

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

Отвечает Ayl

Доброе время суток, megalama!
Слышал-то слышал, но, похоже, немного не то. Начиная с 3-их Пентиумов можно адресовать 64Гб ФИЗИЧЕСКОЙ памяти. Т.е., если по простому, ты можешь на свой комп водрузить 64Гб памяти. Это возможно в связи с использованием 36 адресных линий (2^36 = 2^4 * 2^32 = 16 * 4Gb = 64Gb). Но это не имеет никакого отношения ни к страничной адресации, ни к чему либо еще.
Предел страницы по-прежнему 4Г, предел виртуальной памяти - 64Т.

Ответ отправлен: 07.04.2003, 13:24
Отправитель: Ayl


Отвечает Broken Sword

Добрый день, megalama!
читай у меня в рассылке (где-то было)

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


Отвечает Александр

Добрый день, megalama!
Хорошо, что у тебя хороший слух. Но ты немного недослышал. А именно 64ТБ ВИРТУАЛЬНОЙ ПАМЯТИ. Получается умножением 4ГБ на 16К сегментов. Физически ограничение прежние 4ГБ. Советую больше читать или внимательнее слушать :-)


Ответ отправлен: 06.04.2003, 12:55
Отправитель: Александр


 Вопрос № 2908

Здравствуйте,
если задана строка: str db 3 dup (3)
как последовательно ввести в неё 3 значения из ah
и как потом, инвертировав строку, вывести её на экран?
Спасибо.



Вопрос отправлен: 05.04.2003, 13:44
Отправитель: Olga

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

Отвечает Ayl

Приветствую Вас, Olga!
ну, например, так:
lea di, str
mov [di], ah
mov [di+1], ah
mov [di+2], ah
Только вот где ты тут 3 значения взял? Ну да ладно...
А насчет инвертировать и вывести - тоже просто:
; STR_LEN - длина строки
lea si, str+STR_LEN
mov cx, STR_LEN
std
r:
lodsb
int 29h
loop r


Ответ отправлен: 07.04.2003, 11:47
Отправитель: Ayl


Отвечает Maverick

Приветствую Вас, Olga!
В приложении...неоптимизировано, но простенько и без наворотов, если надо сама оптимизируй.


Приложение:

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


Отвечает baldr

Приветствую Вас, Olga!
Не понял про инвертировать, но попробуйте так:
DS должен быть настроен на сегмент этой строки...
mov byte ptr str, ah
mov byte ptr [str+1], ah
mov byte ptr [str+2], ah

Это заполнит массив str тремя одинаковыми байтами из ah. Если ah надо изменять, то вставьте
между этими строками соответствующий код.
А чтоб вывести на экран, нужно: загрузить символ в тот же регистр ah ,
прибавить к нему 30h и вызвать int 29h. И так три раза для разных байт.


Ответ отправлен: 05.04.2003, 23:09
Отправитель: baldr


 Вопрос № 2909

Доброго времени суток, уважаемые эксперты.
Поделитесь, plz, у кого есть, доками, примерами, ссылками и пр. информацией по способам воспроизведения MOD (IT,XM,S3M)файлов и их структуре (под DOS или Windows). На codenet есть немного инфы, но всё в общих чертах :(
Спасибо.



Вопрос отправлен: 05.04.2003, 17:09
Отправитель: DeMax (demax13@narod.ru)

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

Отвечает baldr

Здравствуйте, DeMax!
У меня на сайте http://www.dospage.by.ru
есть описание форматов различных файлов. То, что Вам нужно там, кажется, тоже было.


Ответ отправлен: 05.04.2003, 23:09
Отправитель: baldr


Отвечает Bob Johnson

Доброе время суток, DeMax!
Выслал тебе документацию по форматам файлов MOD, XM и S3M. По IT ничего не нашел, но это самый мощный из форматов.
Что касается проигрывания - то я где-то видел DLL, которая это могла. Поищи в интернете. Если же хочешь именно сам написать - то основное здесь - это простой синтезатор звуков, который выглядит (без интерполяции и все такого) примерно так:
mov eax, [speed_low]
mov ecx, [speed_hi]
mov ebx, [position_high]
add [position_low], eax
adc ebx, ecx
;проверка на конец сэмпла
mov [position_high], ebx
mov al, [ebx]
или
mov ax, [ebx]
или
mov eax, [ebx]
;eax - текущий уровень звука.


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


 Вопрос № 2910

Извиняюсь за назойливоть, но мне действитеьно нужна Ваша помошь многоуважаемые Эксперты. Ситуация такая: создаю Rich Edit, посылаю ему сообщение EM_STREAMIN, указав EDITSTREAM стрктуру. В этой EDITSTREAM структуре у меня последний параметр - указатель на мою процедуру; при отправке сообщения вызывается моя процедура, но я не знаю что мне в ней делать, для чего она вообще нужна. Только не говорите "It is used to transfer a stream of data into or out of a rich edit control" - все равно не доходит. Как мне передать ей параметры - ведь я ее не вызываю сам (callом или invokeом как обычно), а она вызывется кем-то другим; через глобальные переменные что-ли? И еще: какая разница между SF_RTF и SF_TEXT - ведь содержимое Rich Editа всегда хранится в RTF.
Огромное спасибо!



Вопрос отправлен: 05.04.2003, 17:38
Отправитель: GHopper

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

Отвечает St

Привет, GHopper!
1) http://www.wasm.ru/article.php?article=1001033
Callback функция занимается передачей (или получением) данных в (или из) буфер RichEdit'а например путем чтения (или записи) данных из (в) файла. То есть смысл того что эта функция вызывается не вами, а системой в том что она таким образом передает вам адрес по которому хранятся данные в RichEdit, тк этот адрес вам заранее неизвестен. А уж откуда (или куда) у вас берется (или девается) ваш текст вы и программируете в Callback функции: чтение/запись файла, копирование строки из сегмента данных или из ресурсов и тд.
2) Это означает в каком виде текст вводится (или выводится) в RichEdit - ведь у вас в файле (или еще где-то) он может храниться в обоих этих видах. Вот вы и сообщаете control'у что вы ему передаете или что хотите получить от него - ведь если вы получите текст в RTF то долго будете сами превращать его в TXT!
St

Ответ отправлен: 07.04.2003, 11:59
Отправитель: St


Отвечает Dark_Lord

Здравствуйте, GHopper!
твоя функция получает следующие параметры:
1. то что ты указал в структуре EDITSTREAM первым параметром
2. буффер RichEdit-а, в который ты можешь писать/читать
3. Счётчик байт для записи
4. offset на переменную получающую кол.во реально прочитанных/записанных байт!
Поэтому следует первым параметром указовать строку откуда копируешь в RichEdit (или куда копируешь инфу RichEdita) а процедура просто копирует из одноко параметра в другой количество байт в третьем параметре!

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


Отвечает Bob Johnson

Добрый день, GHopper!
> Только не говорите "It is used to transfer
Так вот, "It is used to transfer a stream of data into or out of a rich edit control". Именно так и никак иначе.
Вызывает эту функцию код внутри библиотеки riched??.dll. Первым параметром он передает то значение, которое было тобой указано в структуре EDITSTREAM в поле dwCookie. Это сделано для того, чтобы одна процедура могла обрабатывать вызовы от нескольких richeditoв. Тебе это неважно.
Вторым параметром идет указатель на буфер - внутренний буфер richedit. Если ты вызывал streamin - то ты в этой как раз фукнции должен будешь его заполнить (если streamout - то он уже заполнен для тебя).
Третий параметр - это размер вот того вот буфера. Ты должен обработать не более этого количества байт. (можешь меньше, только не 0).
Четвертый параметр - это указатель на число (двойное слово), в которое ты в конце процедуры запишешь, сколько байт обработал.
Процедура будет вызываться до тех пор, пока:
- она не вернет ненулевого значения (обычно - 0).
- она не вернет 0 в четвертом параметре (точнее - по его адресу).
- не произойдет ошибка внутри кода richedit.


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


 Вопрос № 2911

Ув. тов. эксперты, ответьте, плз., на вопрос, чем можно отлаживать 32-разрядные ( где b8 - mov eax, а 66b8 - mov ax )
com-файлы? А то все 32-битные отладчики, которые я знаю требуют РЕ заголовок, а мне нужно генерить ипменно сом-ы ( потом мне нужно будет вырезать из них куски кода ).



Вопрос отправлен: 05.04.2003, 18:36
Отправитель: keleb (keleb-glin@xakep.ru)

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

Отвечает Dark_Lord

Добрый день, keleb!
Не думаю, что ты найдёшь отладчик com на 32 бита, так как такое невозможно!

Ответ отправлен: 05.04.2003, 19:52
Отправитель: Dark_Lord


Отвечает Maverick

Доброе время суток, keleb!
Я обыкновенным TD пользуюсь, он все показывает.


Ответ отправлен: 07.04.2003, 04:43
Отправитель: Maverick


Отвечает Bob Johnson

Приветствую Вас, keleb!
Как-то это все странно... Такого формата нет ни в DOS, ни в Windows... Ты никак его не отладишь... Если тебе нужны просто отлаженные куски 32-разрядного кода, кто тебе мешает сделать PE-exe с таким куском и потом вырезать их оттуда?


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


Отвечает baldr

Доброе время суток, keleb!
COM-файлы по определению 16-разрядные. Они для DOS! В 32-разрядных же exe-файлах есть
заголовок, который указывает на формат сегментов.


Ответ отправлен: 05.04.2003, 23:08
Отправитель: baldr


 Вопрос № 2912

З.У.Э.! Тут процедура для модема на Delphi.
Но вот когда её запускаешь, остальные программы для модема перестают работать, видимо моя прога перехватывает порт.
А как сделать, чтобы она работала синхронно с другими приложениями, т.е. чтобы она читала состояние модема, а при этом остальные программы для него могли спокойно работать?



Приложение:


Вопрос отправлен: 05.04.2003, 21:35
Отправитель: Kevin David Mitnick (alu6@mail.ru)

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

Отвечает Bob Johnson

Добрый день, Kevin David Mitnick!
С модемом одновременно может работать только одна программа, так что когда получишь состояние порта, делай CloseHandle.


Ответ отправлен: 07.04.2003, 01:31
Отправитель: Bob Johnson


Отвечает Александр

Здравствуйте, Kevin David Mitnick!
Я тебя должен огорчить. Порты вообще редко предназначены для немонопольного доступа. Поэтому единственный выход в твоей ситуации - написать свой драйвер COM-порта. Вернее модифицировать в нужном направлении пример из DDK :-)


Ответ отправлен: 06.04.2003, 12:59
Отправитель: Александр


 Вопрос № 2913

Подскажите, что почитать по FAT'у? Линки и т.п.
А если есть какие доки с собой, киньте: _inbox_@mail.ru



Вопрос отправлен: 06.04.2003, 07:23
Отправитель: Тип

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

Отвечает Maverick

Доброе время суток, Тип!
Опять же, yandex выдал немеряно ссылок на интересные рефераты и руководства, вы бы хоть попробовали поискать.


Ответ отправлен: 07.04.2003, 08:11
Отправитель: Maverick


 Вопрос № 2914

Куда надо прыгнуть, чтобы перегрузить компутер?



Вопрос отправлен: 06.04.2003, 09:59
Отправитель: #

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

Отвечает DiGiT[old]

Здравствуйте, #!
На месте или со стола, чтобы от вибрации отошло питание или накрылся блок. Ставь вопрос поконкретнее. Например ОС работающие в PMode не позволят тебе прыгать куда захочешь так как получишь segmentation fault :)

Ответ отправлен: 07.04.2003, 05:04
Отправитель: DiGiT[old]


Отвечает Ayl

Здравствуйте, #!
Ну, вообще-то на F000:FFF0. Но получится только под чистым ДОС'ом.

Ответ отправлен: 07.04.2003, 11:51
Отправитель: Ayl


Отвечает Maverick

Приветствую Вас, #!
Самое простое, это на кнопку RESET...это в общем случае,
а это для Dos...
.model tiny
.386
.code
org 100h
Begin:
db 0eah
dw 0fff0h,0f000h
end Begin


Ответ отправлен: 07.04.2003, 04:43
Отправитель: Maverick


Отвечает akul

Доброе время суток, #!
В справочник. Это делается через клавиатурник...


Приложение:

Ответ отправлен: 07.04.2003, 01:13
Отправитель: akul


Отвечает keleb-glin

Добрый день, #!
то ли 0000:FFFF, то ли FFFF:0000, что конкретно - не помню.

Ответ отправлен: 09.04.2003, 19:44
Отправитель: keleb-glin


Отвечает Bob Johnson

Здравствуйте, #!
На материнскую плату.

Ответ отправлен: 07.04.2003, 01:33
Отправитель: Bob Johnson


Отвечает Samodelkin

Добрый день, #!
могешь на начало биоса прыгнуть - в досе сразу перегруз ... в винде маздай

Ответ отправлен: 08.04.2003, 04:39
Отправитель: Samodelkin


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

Доброе время суток, #!
0000:0000h


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


Отвечает Andrew Vext

Доброе время суток, #!
На кнопку Reset (желательно двумя ногами):-))

Ответ отправлен: 06.04.2003, 11:37
Отправитель: Andrew Vext


Отвечает Broken Sword

Приветствую Вас, #!
впринципе можешь попробовать на системный блок
или второй вариант - на F000h:FFF0h

Ответ отправлен: 06.04.2003, 12:03
Отправитель: Broken Sword


 Вопрос № 2915

Здравствуйте, уважаемые.
Подскажите, как сделать указатель отрицательным? Делаю так, как в приложении, не получается (((
Спасибо


Приложение:


Вопрос отправлен: 06.04.2003, 10:13
Отправитель: faraon (faraon@hotmail.ru)

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

Отвечает Ayl

Добрый день, faraon!
И не получится. Для этой функции указатель состоит из 4-х байт (пара регистров CX:DX). Соответственно, так как ты обнуляешь старшее слово (CX), то в результате по любому получаешь положительное число в диапазоне от 0 до 65535.
А для отрицательного числа тебе в CX нужно записать -1 или 0ffffh. Тогда получится то, что ты хочешь.

Ответ отправлен: 07.04.2003, 11:59
Отправитель: Ayl


Отвечает DiGiT[old]

Доброе время суток, faraon!
Отрицательный это в смысле куда он указывать будет ??
Вообще для компа нет такого понятия как отрицаетльные числа(правда есть для операций деления и умножения) и используя число 0xffff оно в разных контекстах будет иметь разные значения.

Ответ отправлен: 07.04.2003, 05:02
Отправитель: DiGiT[old]


Отвечает Joy

Здравствуйте, faraon!
А зачем тебе отрицатеьное значение? Просто если ты хочешь переместить указатель на семь байт влево, то тебе придется брать текущее значение и вычитать 7! по другому не получится.

Ответ отправлен: 07.04.2003, 07:03
Отправитель: Joy


Отвечает keleb-glin

Добрый день, faraon!
Отрицательное число формируется так: отнимается от его модуля единица, а потом делается логический not, так -1 = 0ffffffffh

Ответ отправлен: 09.04.2003, 19:46
Отправитель: keleb-glin


Отвечает Александр

Ау, египтянин!
Первое апреля давно прошло! В нашей ассемблерной жизни нет отрицательных чисел, а есть только числа рассматриваемые как отрицательные :-) Шутки в сторону. Ты можешь сдвинуться на отрицательное число байт относительно конца файла или текущей позиции, но раньше начала файла тебя никто не пустит. Да и надо ли? Вернее как сказано в Notes.
INT 21 - DOS 2+ - "LSEEK" - SET CURRENT FILE POSITION
AH = 42h
AL = origin of move
00h start of file
01h current file position
02h end of file
BX = file handle
CX:DX = offset from origin of new file position
Return: CF clear if successful
DX:AX = new file position in bytes from start of file
CF set on error
AX = error code (01h,06h) (see #0885 at AH=59h)
Notes: for origins 01h and 02h, the pointer may be positioned before the start of the file; no error is returned in that case, but subsequent attempts at I/O will produce errors if the new position is beyond the current end of file, the file will be extended by the next writ (see AH=40h)
BUG: using this method to grow a file from zero bytes to a very large size can corrupt the FAT in some versions of DOS; the file should first be grown from zero to one byte and then to the desired large size
Даже если ты хочешь попытаться, то в твоём куске кода есть одно упущение. Ты пытаешься сдвинуться не на -7=fffffff9, а на 0000fff9. Почувствуйте разницу :-)


Приложение:

Ответ отправлен: 06.04.2003, 14:21
Отправитель: Александр


 Вопрос № 2916

Здравствуйте, Уважаемые Эксперты!
У меня к вам есть вопрос, собственно, он не совсем по асму, а скорее по API, но вы,
наверное, должны это хорошо знать. Есть диалоговое окно (и его процедура), в нем Check
Box. Так вот, когда пользователь его изменит состояние, например снимет галочку, какое сообщение
будет послано процедуре диал. окна? Или это будет не сообщение?



Вопрос отправлен: 06.04.2003, 11:52
Отправитель: Deny

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

Отвечает St

Привет, Deny!
Checkbox должен иметь стиль BS_AUTOCHECKBOX (и возможно BS_NOTIFY не помню точно). Вам будет послано сообщение WM_COMMAND с идентификатором Control'а и кодом извещения BN_CLICKED.
St


Ответ отправлен: 07.04.2003, 12:25
Отправитель: St


Отвечает Dark_Lord

Здравствуйте, Deny!
будет послано WM_COMMAND с BN_CLICKED в wParam!

Ответ отправлен: 08.04.2003, 22:13
Отправитель: Dark_Lord


Отвечает Bob Johnson

Приветствую Вас, Deny!
BN_CLICKED через WM_COMMAND. Не забывай, что check box - это тоже button. Кстати, оно посылается всегда - и когда мышкой нажмешь, и когда клавиатурой.


Ответ отправлен: 07.04.2003, 01:32
Отправитель: Bob Johnson


Отвечает Samodelkin

Здравствуйте, Deny!
ну чекбокс это тожа вроде кнопка и при операции с ней винда генерит мессидж WM_BUTTON, а там разбираешь что за параметры wParam и lParam в этом сообщении ... кажись при установке/снятии флажка чекбокса проверять надо lParam (нет под рукой ни одного примерчика, а то бы точно сказал что и как)

Ответ отправлен: 08.04.2003, 04:52
Отправитель: Samodelkin



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

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (35)
C / C++ (27)
Perl (6)
Delphi (16)
Pascal (22)
Basic / VBA (10)
Java / JavaScript (9)
PHP (4)
MySQL / MSSQL (5)
Пользователю
Windows 95/98/Me (29)
Windows NT/2000/XP (23)
"Железо" (26)
Поиск информации (14)
Администратору
Windows NT/2000/XP (11)
Linux / Unix (12)
Юристу
Гражданское право (9)
Семейное право (5)
Трудовое право (5)
КоАП (6)

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




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru


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

В избранное