Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 522
от 14.04.2003, 06:50
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 2979 Отправлено ответов: 8770 Активность: 294.3 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Ayl Статус: Профессиональный Общий рейтинг: 118.62 [Подробней >>] |
akul Статус: Опытный Общий рейтинг: 114.83 Телефон: +6019-6416245 [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 150.56 URL: Программирование [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 123.98 URL: моя рассылка по Protected Mode [Подробней >>] |
Eugene Статус: Профессиональный Общий рейтинг: 109.11 URL: мощный файловый архив [Подробней >>] |
Maverick Статус: Профессиональный Общий рейтинг: 135.74 URL: Задачи по ассемблеру Телефон: 89039415024 (BeeLine GSM) [Подробней >>] |
keleb-glin Статус: Опытный Общий рейтинг: 109.44 [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 108.33 URL: Страничка обо мне и моих друзьях Телефон: +7 902 168 02 65 [Подробней >>] |
Илья Статус: Доверительный Общий рейтинг: 104.17 [Подробней >>] |
Beeblebrox Статус: Профессиональный Общий рейтинг: 109.06 URL: Beeblebrox / TMA HomePage [Подробней >>] |
Tigran K. Kalaidjian Статус: Доверительный Общий рейтинг: 111.03 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 141.4 [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 112.89 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
K0dMaster Статус: Начальный Общий рейтинг: 118.46 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 2928. К вопросу № 2918. Нет это не оверлей... Есть com файл, состоит он только из int 20h Читаем его в др.... (ответов: 1)
Вопрос № 2929. Привет, вы не знаете, почему, когда я хочу посмотреть работу int 2f в ТД.ЕХЕ, и ставлю торомоз на на... (ответов: 1)
Вопрос № 2930. К вопросу № 2896. mem.exe выдает нужные параметры оперативной памяти, значит можно!... (ответов: 1)
Вопрос № 2931. Всем привет! Вопрос номер 2923 объявляется закрытым (я невнимательно прочитал отверы на предыдущие в... (ответов: 1)
Вопрос № 2933. Собственно,это больше по архитектуре Intel,но все равно в тему.Читал мануал на P4,там это есть,но я ... (ответов: 1)
Вопрос № 2934. Здравствуйте уважаеемые Эксперты! Подскажите please как вывести на экран информацию BIOS по адресу 0... (ответов: 4)
Вопрос № 2935. Здравствуйте эксперты! Можно ли с помощью turbo debuggera производить отладку резидентов? Если да, т... (ответов: 4)
Вопрос № 2936. Доброе время суток! Кто нибудь встречал акхив программок на ассемблере для PIC контроллеров по расче... (ответов: 2)
Вопрос № 2937. Доброе время суток!! Объясните 378H 379h 37ah это разные адреса или два из них одно и то же.И если ... (ответов: 3)
Вопрос № 2938. Как сделать главное меню окна в стиле Office XP (меняющее цвет при наведении и т.д)? Если можно прим... (ответов: 2)
Вопрос № 2939. Раскраска текста в RichEdite Здравствуйте уважаемые эксперты! Извините что задаю избитый вопрос. Хот... (ответов: 2)
Вопрос № 2941. Здравствуйте, уважаемые эксперты! У меня возникла небольшая проблема с чтением дискеты. Я начал писа... (ответов: 3)
Вопросов: 12, ответов: 25
Вопрос № 2928 |
К вопросу № 2918.
Нет это не оверлей...
Есть com файл, состоит он только из int 20h
Читаем его в др. сегмент по смещению 100h, допустим текущий+1000h:100h (здесь все нормально)
Создаем для него PSP, т.к. для int 20h необходимо, чтоб cs указывал на PSP. 26h/21h
И jmp в другой сегмент по 100h...после выполнения int 20h прога вылетает, а если там будет 4ch/21h, все нормально.
Кто знаком с этим, мыльните на maverick@nightmail.ru
Пробовал перераспределить память, появляются др. баги.
Спасибо...
Вопрос отправлен: 08.04.2003, 08:11
Отправитель: Maverick (Maverick@nightmail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Доброе время суток, Maverick!
Знаешь что, у меня подозрение, что проблема в PSP и памяти. Каким образом ты создаешь PSP? Предшествует ли ему MCB? При использовании функции 4ch переустанавливаешь ли ты PSP? Если нет, то тогда понятно, почему она работает, а int 20h нет - функция 4ch определяет PSP из внутренних переменных DOS'а, а int 20h требует указания PSP в регистре CS.
Какие еще баги появляются при перераспределении памяти?
Ответ отправлен: 09.04.2003, 14:32
Отправитель: Ayl
Вопрос № 2929 |
Привет, вы не знаете, почему, когда я хочу посмотреть работу int 2f в ТД.ЕХЕ, и ставлю торомоз на начало обработчика,по адресу 0:0bch в этом месте уже есть частичный результат работы прер.? Причем это происходит как защреж, так и в реалреж. Спасибо!
Вопрос отправлен: 08.04.2003, 10:53
Отправитель: oleg
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Приветствую Вас, oleg!
А можно как-нибудь подробнее? Что значит частичный результат работы прерывания?
Ответ отправлен: 09.04.2003, 14:35
Отправитель: Ayl
Вопрос № 2930 |
К вопросу № 2896.
mem.exe выдает нужные параметры оперативной памяти, значит можно!
Вопрос отправлен: 08.04.2003, 11:11
Отправитель: vny
[Следующий вопрос >>] [Список вопросов]
Отвечает akul
Добрый день, vny!
да все можно, на http://sasm.narod.ru есть пример определения размера памяти в защищенном режиме. А mem.exe использует himem.sys и/или emm.sys для того чтобы показывать...
что касается BIOS, то для определения объема памяти Phoenix 4.0 сначала опрашивает SDRAM по SMB шине (она все про себя то и расскажет). Если же там более дубовое железо, то просто переходит в 4GB Flat модель и просто щупает память с шагом в мегабайт, и как не сохранится байт, так все, память кончилась. Дело в том что чипсет не может поддерживать произвольное количество памяти. Например i440 поддерживает 8-256M с шагом 8M, i830: 32-1024M с шагом 32M. Биос делается под чипсет, поэтому в его случае можно сделать некоторые допуски.
Ответ отправлен: 08.04.2003, 15:20
Отправитель: akul
Вопрос № 2931 |
Всем привет!
Вопрос номер 2923 объявляется закрытым (я невнимательно прочитал отверы на предыдущие вопросы, в частности не обратил внимания на очень полезную ссылку в ответе господина St). Огромное спасибо всем, кто пытался мне помочь (И ведь помогли! Прога заработала!!!).
У меня почти готова программка, и вот я тут подумал, чтобы показать ее знающиму человеку для анализа(я уверен там мног чего можно сделать более изящным способом). Так вот как мне поступить, ведь сайта у меня моего нету... Могу на мыло разаслать?
Нужно вызывать FreeLibrary, или при завершении программы она выгрузится автоматически?
Вопрос отправлен: 08.04.2003, 17:12
Отправитель: GHopper
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Доброе время суток, GHopper!
> Вопрос номер 2923 объявляется закрытым
Ну наконец-то...
В принципе, ничего из LocalFree, GlobalFree, VritualFree, FreeLibrary и т.д. вызывать не надо, но только, если:
1. Какие-либо ресурсы ОС твоя программа получает один раз в начале, а не многократно, т.к. в этом случае потери будут заметны в процессе работы программы.
2. Ты понимаешь, что ты не вызываешь их осознанно. Т.е. если ты не будешь их вызывать ни в одной своей проге, то обязательно найдется момент, когда ты забудешь вызвать функцию там, где это действительно необходимо.
В принципе, по завершению процесса ОС сама очистит все, что осталось от твоей проги, но, если ты не пишешь программу минимального объема, то хорошим стилем программирования является все-таки вызвать нужную функцию.
Ответ отправлен: 08.04.2003, 21:03
Отправитель: Bob Johnson
Вопрос № 2933 |
Собственно,это больше по архитектуре Intel,но все равно в тему.Читал мануал на P4,там это есть,но я не вьехал в ньюансы.
Флаг EFLAGS.RF (16 бит) действует только для брякпоинтов на инструкции или я могу с его помощью продолжить вып. после того как установил DR7.GD=1 и словил #BD c DR6.BD=1 а при выходе из обработчика опять установлю DR7.GD=1? Это fault исключение и при вызове #BD EFLAGS.RF будет установлен ИЛИ нет?
Отсюда вопрос: если нет,проедет ли следующая комманда (а это,как ясно выше,будет обращение к одному из отладочных р-ров) если я его установлю?
Это довольно трудно отладить и проверить в SoftIce.Оно либо работает,либо нет.
Вопрос отправлен: 08.04.2003, 21:17
Отправитель: TheDeath
[Следующий вопрос >>] [Список вопросов]
Отвечает Broken Sword
Добрый день, TheDeath!
во первых это не BD а DB, но это неважно, во вторых - RF ДЕЙСТВУЕТ ТОЛЬКО (И ТОЛЬКО!), когда возникает #DB с R/W=00 (сработал бряк на fetch), а ставится посему при возникновении ЛЮБОГО fault-эксепшена КРОМЕ (!) того же #DB при R/W=00 (и ТОЛЬКО ПРИ R/W=00).
Т.о. - RF БУДЕТ установлен после выхода но следующая инструкция НЕ ПРОЕДЕТ, потому как это не #DB на fetch, а какой-то непонятный #DB (ато и вообще #GP если у тебя не стоит GD), и вообще - GD сбрасывается автоматически, поэтому если ты его не поставишь в конце обработчика - то все проедет. Ты точнее изложи мыслю
p.s. почему именно P4? он есть и на первых
Ответ отправлен: 08.04.2003, 22:07
Отправитель: Broken Sword
Вопрос № 2934 |
Здравствуйте уважаеемые Эксперты! Подскажите please как вывести на экран информацию BIOS по адресу 0:410h и по адресу 0:475h
Вопрос отправлен: 08.04.2003, 23:34
Отправитель: kapral (kaprals@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает akul
Доброе время суток, kapral!
турбо дебаггером вестимо. если не подходит, то спрашивай более конкретно.
Ответ отправлен: 11.04.2003, 21:59
Отправитель: akul
Отвечает Eugene
Здравствуйте, kapral!
Если ты не знаешь, как обратиться к той памяти, то делаешь следующее:
xor ax, ax
mov ds, ax
mov si, 410h
mov ax, [si]
В результате у тебя в AX то число, которое тебе нужно. Переводишь в ASCII и выводишь.
Ответ отправлен: 09.04.2003, 09:39
Отправитель: Eugene
Отвечает Maverick
Добрый день, kapral!
Элементарно, берешь байт оттуда, пререводищ его в ascii, и выводишь на экран, потом следующий. А в чем проблема?
Ответ отправлен: 09.04.2003, 05:21
Отправитель: Maverick
Отвечает Ayl
Здравствуйте, kapral!
Тебе это нужно реально выводить или ты просто посмотреть хочешь? Если просто посмотреть - можешь взять любой дебаггер и посмотреть память по этим адресам.
Если же хочешь вывести, то тоже все просто. Читаешь значение в какой-нибудь регистр (например, в AX), а потом выводишь значение из регистра в нужном виде. Процедур для вывода значения регистра и в 10-м, и в 16-м, и даже в 2-м виде полно в предыдущтх рассылках.
Ответ отправлен: 09.04.2003, 14:44
Отправитель: Ayl
Вопрос № 2935 |
Здравствуйте эксперты!
Можно ли с помощью turbo debuggera производить отладку резидентов? Если да, то как это можно сделать? Или стоит для этих целей воспользоваться чем-либо другим?
Спасибо.
Вопрос отправлен: 09.04.2003, 00:14
Отправитель: Leonid
[Следующий вопрос >>] [Список вопросов]
Отвечает keleb-glin
Добрый день, Leonid!
Можно. Просто измени cs и ip на те, где находится резидент. Если же резидент висит на прерывании, надо искусственно вызвать это прерывание (а на его вызове нажать alt+F7)
Ответ отправлен: 09.04.2003, 19:22
Отправитель: keleb-glin
Отвечает Gibbel
Приветствую Вас, Leonid!
Можно... Ставишь бряк на точки входа резидента и отлаживаешь...
Ответ отправлен: 09.04.2003, 11:09
Отправитель: Gibbel
Отвечает Илья
Добрый день, Leonid!
Можно, только иногда геморно. Надо ставить BP на любую инструкцию перехваченного прерывания, выполнять транзитную часть (можно сразу, не по шагам), потом меню Файл->Резидент. TD остается резидентным и Вы выходите в DOS. По срабатывании нужного прерывания и остановке на BP, Вы возвращаетесь в TD.
З.Ы. Почти невозможно отлаживать таймеровские прерывания.
З.З.Ы. IMHO лучше для отладки TSR - AFDpro
Ответ отправлен: 09.04.2003, 08:32
Отправитель: Илья
Отвечает Ayl
Здравствуйте, Leonid!
Можно. Для этого нужно выполнить установочную часть твоего резидента, установить на обработчиках прерываний точки останова и выйти из TD с помощью пункта File -> Resident.
После этого TD активируется, как только какая-нибудь точка останова будет достигнута.
Ответ отправлен: 09.04.2003, 14:52
Отправитель: Ayl
Вопрос № 2936 |
Доброе время суток!
Кто нибудь встречал акхив программок на ассемблере для PIC контроллеров
по расчету математических функций, например sin x, квадратный корень,
расчет площадей и.т.д.
Вопрос отправлен: 09.04.2003, 14:32
Отправитель: Сергей (asmoren@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Приветствую Вас, Сергей!
Тебе что, алгоритмы нужны? Для sin обычно используется разложение в ряд Тейлора, для sqrt - или Метод Ньютона, или двоичный метод.
Ответ отправлен: 10.04.2003, 00:05
Отправитель: Bob Johnson
Отвечает Beeblebrox
Доброе время суток, Сергей!
А что, самому сложно написать? Если с математикой нелады, ищи в инете алгоритмы и затачивай на PIC
Ответ отправлен: 09.04.2003, 15:05
Отправитель: Beeblebrox
Вопрос № 2937 |
Доброе время суток!!
Объясните 378H 379h 37ah это разные адреса или два из них одно и то же.И если все таки разные может ли быть,что некоторые матери(ZIDA) не умеют работать с адресом 37ah.Иначе как объяснить что прога в приложении по разному работает на разных машинах т.е. на одних после этого куска с 1 по 9 выводы ЛПТ появляется лог1,а на более старых компах если даже принудительно поставить 1 на выхода то после этого куска там будут 0 и больше 1 впихнуть не получается только если RESET и все сначала.Основная прога написана в Трубо Паскале. И если не трудно
объясните что делают эти OR , DX,al,32.Премного благодарен за внимание.
Приложение:
Вопрос отправлен: 09.04.2003, 19:49
Отправитель: anton (oven_mars@rambler.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Tigran K. Kalaidjian
Здравствуйте, anton!
378h - адрес для вывода данных в порт принтера
379h - служит для чтения состояний принтера, поступающих на входы ACK, -BUSY, PE, SLCT, ERROR. (см. распайку - недавно посылал)
37Ah - служит для записи битов на линии -STROBE, -AUTO FD, INIT, -SLCT IN.
краткое описание:
OR парам1, парам2 - логическое ИЛИ. Происходит побитное логическое сложение парам1 и парам2, результат записывается в парам1.
В данном случае устанавливается в единицу шестой бит регистра al (т.к. 32 -> 2^6 -> 100000)
DX - регистр общего назначения. Часто используется для хранения адресов.
Ответ отправлен: 10.04.2003, 15:17
Отправитель: Tigran K. Kalaidjian
Отвечает Ayl
Здравствуйте, anton!
Мне понравился ваш вопрос. Он равносилен вопросу, разные ли адреса, например, ул.Ленина 1, ул.Ленина 2 и ул.Ленина 3. Отвечаю - разные. У них последняя цифирка отличается. А на самом деле и предназначены они для разных вещей (т.е. это не случай, когда один дом имеет 2 адреса). Для чего они предназначены - см.Приложение.
Теперь насчет второй части вопроса. Нет, не может быть, что матери будут работать по-разному с портом принтера. Но может быть такое, что адаптер не поддерживает двунаправленный обмен данными. Соответственно, в этом случае как бы ты не хотел его установить, это у тебя не получится. В Приложении об этом тоже написано.
И последний вопрос. OR - это команда ассемблера. Она выполняет побитово логическое ИЛИ со своими операндами и заносит результат в первый из них. В твоем случае команда OR устанавливает 5-й бит регистра AL в 1 (потому что 32 в двоичной с.с. равно 00100000). DX и AL - это регистры процессора. Первый - 16-тиразрядный (словный), второй - 8-миразрядный (байтный). В данном куске в регистре DX находится номер порта принтера, в регистре AL - значение, которое будет туда записано (после того, как сначала будет считано текущее состояние и установлен 5-й бит в единицу). 32 - просто десятичное число. Используется для установки 5-го бита (бит направления передачи, получение данных от устройства).
Приложение:
Ответ отправлен: 10.04.2003, 14:59
Отправитель: Ayl
Отвечает Bob Johnson
Доброе время суток, anton!
Смотри настройку порта принтера в BIOS - у него несколько режимов: ECP, EPP, SPP, ECP + EPP. Может зависит от режима. А адреса разные, естественно...
Ответ отправлен: 10.04.2003, 15:55
Отправитель: Bob Johnson
Вопрос № 2938 |
Как сделать главное меню окна в стиле Office XP (меняющее цвет при наведении и т.д)? Если можно пример с исходником.
Вопрос отправлен: 09.04.2003, 20:31
Отправитель: Сергей
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Добрый день, Сергей!
С помощью манифеста. См. на моей странице в разделе info/programming bobjohnson.nm.ru
Ответ отправлен: 10.04.2003, 15:55
Отправитель: Bob Johnson
Отвечает masquer
Добрый день, Сергей!
Как сделать? Субклассировать меню, хуки повесить и ручками все рисовать. У меня все руки не дохододять закончить такое. Смотри исходники на codeproject
Ответ отправлен: 10.04.2003, 12:07
Отправитель: masquer
Вопрос № 2939 |
Раскраска текста в RichEdite
Здравствуйте уважаемые эксперты!
Извините что задаю избитый вопрос. Хотя в инете по нему инфы уйма, но я уже задолбался все это дело перелопачивать в поисках истины. Хочу услышать дельный ответ, так сказать, ответ эксперта. Или поделитесь ссылкой стоящей.
Вобщем ситуация: текста много (или очень много). Надо кое–какие фрагменты раскрасить. Просчитывать SelStart и SelLength вроде как–то геморно и неефективно, ведь приходится пересматривать весь текст от начала и до текущей позиции (в смысле считать длину каждой строки). И по ходу второй вопрос: Как в нужную позицию (строка, столбец) вставить текст?
Вобщем, я хочу выделить другим цветом n символов начиная с j-го символа i–й строки. Но не в процессе вставки (загрузки) текста, а когда ентот текст давно уже сидит в RichEdite.
Как это сделать?
Заранее благодарю за помощь.
Вопрос отправлен: 09.04.2003, 22:30
Отправитель: Бадян (sba@litech.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает baldr
Доброе время суток, Бадян!
Ну... Если ты видел мою прогу OForum для чтения наших форумов, то в ней как раз используется
TRichEdit. Исходник лежит на русфаке - ищи, если надо, там все комментарии есть, правда, там
Delphi. Так вот, я там выделяю цветом как раз с помощью SelStart и SelLength. Если текст
большой, то, конечно, притормаживает, но у меня против этого есть приемчик... :)
Можно скормить этому контролу уже отформатированный rtf-документ и он его, по идее, должен
нормально отобразить. Но у меня не получилось или я не так пробовал...
А чтобы вставить текст, надо установить курсор в нужную точку (IMHO только с помощью SelStart),
SelLength установить в ноль и вызвать какой-то метод (сорри, забыл какой).
А ты думал, что RichEdit - это законченное крутое приложение? Нет, в нем свои недостатки!
Ответ отправлен: 10.04.2003, 00:30
Отправитель: baldr
Отвечает K0dMaster
Приветствую Вас, Бадян!
Чтомогу сказать на это смотри MSDN и сюда загляни www.wasm.ru & www.sources.ru там найдется все %)))
Ответ отправлен: 10.04.2003, 09:44
Отправитель: K0dMaster
Вопрос № 2941 |
Здравствуйте, уважаемые эксперты!
У меня возникла небольшая проблема с чтением дискеты. Я начал писать небольшую программку по чтению и внесению изменений в корневой сектор.
Но тут возникли непредвиденные сложности.
INT 13H выдает на этой дискете код ошибки 02, а на всех других, даже тех, которые сбойные, хоть что-то читает.
Может, кто-то сталкивался с подобными "шутками" и объяснит мне ситуацию.
Всем заранее благодарен за помощь.
Ярослав.
Приложение:
Вопрос отправлен: 10.04.2003, 06:46
Отправитель: Ярослав
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Добрый день, Ярослав!
Не претендую на правильность ответа, т.к. точно не знаю.
Но читал, что прежде чем делать выводы из ошибок, рекомендуется сделать сброс контролера и повторить, около 3 раз.
Ответ отправлен: 10.04.2003, 15:57
Отправитель: Maverick
Отвечает Ayl
Приветствую Вас, Ярослав!
Не знаю, вроде все правильно. Ты уверен, что это именно код ошибки а не еще что-нибудь? Попробуй запустить прогу в Приложении - у меня с ней вроде как все ок.
А может, у тебя дискетка какая-нибудь не та? Типа, не форматированная или с нестандартным форматом?
А еще можешь попробовать сначала выполнить функцию 0 прерывания 13 для сброса всех дисковых контроллеров в исходное состояние.
Приложение:
Ответ отправлен: 10.04.2003, 16:11
Отправитель: Ayl
Отвечает keleb-glin
Доброе время суток, Ярослав!
Вообще, дискета - вещь глючная. ошибка 02 - "bad address mark" - типа не правильный адрес, типа проверь bx. А вообще все дискетные операции надо повторять в случае ошибки не менее двух раз.
Ответ отправлен: 12.04.2003, 18:59
Отправитель: keleb-glin
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (36) C / C++ (27) Perl (6) Delphi (16) Pascal (21) Basic / VBA (10) Java / JavaScript (9) PHP (4) MySQL / MSSQL (5) |
Пользователю Windows 95/98/Me (28) Windows NT/2000/XP (21) "Железо" (24) Поиск информации (12) |
Администратору Windows NT/2000/XP (10) Linux / Unix (12) |
Юристу Гражданское право (9) Семейное право (5) Трудовое право (5) КоАП (6) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||