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