Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 715
от 25.04.2004, 00:10
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 5180 Отправлено ответов: 14272 Активность: 275.5 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
SedHg Статус: Опытный Общий рейтинг: 112.41 [Подробней >>] |
Acid Burn Статус: Доверительный Общий рейтинг: 146.15 [Подробней >>] |
Pawel Статус: Профессиональный Общий рейтинг: 158.93 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 116.6 [Подробней >>] |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 133.55 URL: Super Assembler Software Телефон: НСС +7 831 3107039 [Подробней >>] |
Foamplast Статус: Профессиональный Общий рейтинг: 149.35 URL: мой личный сайт [Подробней >>] |
VOVAN Статус: Опытный Общий рейтинг: 105.36 [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 105.62 URL: Savage Metal Club - жизнь в стиле рок-н-ролл Телефон: +7 901 710 3146 [Подробней >>] |
_vt Статус: Профессиональный Общий рейтинг: 117.82 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 5164. Здравствуйте Я программирую на Delphi,но недавно начал изучать Assembler у меня возникают трудности ... (ответов: 6)
Вопрос № 5165. Здраствуйте. Почему программы на ассемблере занимают меньше места чем на ЯВУ.Например кнопка на асме... (ответов: 8)
Вопрос № 5166. Простите за УЖАСНО ламерский вопрос, но...я страшно запутался. Во всех книгах написано что в байте 8... (ответов: 6)
Вопрос № 5167. hello, народ! Я тут ковыряюсь с win32+OpenGL, борьба идёт с переменным успехом. в программе: WM_CREA... (ответов: 2)
Вопрос № 5168. Ув.эксперты, хотелось бы услышать ваше мнение - Хочу написать драйвер под принтер струйный (немного... (ответов: 3)
Вопросов: 5, ответов: 25
Вопрос № 5164 |
Здравствуйте
Я программирую на Delphi,но недавно начал изучать
Assembler
у меня возникают трудности с системами исчисления
напишите пожалуйста о различных методиках перевода чисел
если можно поподробнее, так как в школе у меня
по матаматике было 3, но знал я на 2.
//на мой взгляд хороший сайт по Assembleru находтится на
//www.ksc.ru/cdo/programmes/assembler/
Вопрос отправлен: 19.04.2004, 16:28
Отправитель: Александр (alidelphi@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает SedHg
Приветствую Вас, Александр!
Я тебе в мыло кину выпукски своей рассылки, более подробно чем там,я тебе не объясню.
Ответ отправлен: 20.04.2004, 12:45
Отправитель: SedHg
Отвечает Acid Burn
Приветствую Вас, Александр!
Поймите, что ассемблер и математика - разные вещи!!! Ассемблер построен на логгике.. Денные в ассемблере используются в 2-х видах: 16-ный и 2-ный.. Ве операции проводятся только в 2 системе счисления...
Приведить примеры я не буду, но взамен Укажу самую распространненую доку в которой все и так хорошо описано!!!
Питер Абель "Программирование для IBM PC"
В ней вы найдете все необходимое!!!
Ответ отправлен: 19.04.2004, 22:13
Отправитель: Acid Burn
Отвечает Pawel
Добрый день, Александр!
Система исчесления бывают: двоичная, восмиричная, шестнацатиричная, десятиричная.
Проще будет, если ты спросишь конкретнее.
Ответ отправлен: 19.04.2004, 18:48
Отправитель: Pawel
Отвечает Ayl
Приветствую Вас, Александр!
Ну, на самом-то деле методика перевода из одной системы счисления в другую одна - делить на основание системы, пока частное не станет меньше делителя. См. приложение.
Конечно, есть некоторые случаи упрощенного перевода. Например, для перевода в десятичную с.с. достаточно сложить произведения каждой цифры числа на основние системы в соответствующей степени:
D = Summ (i=0, k) Ai * N^i, где: k - кол-во цифр в числе - 1, N - основание системы, Ai - цифра в i-й позиции числа (нумерация справа с 0). Пример:
A = 4A73 в 11-ричной с.с. Тогда в 10-ричной с.с. это число равно: 3*11^0 + 7*11^1 + 10*11^2 + 4*11^3 = 3 + 77 + 1210 + 5324 = 6614.
Также просто осуществляется перевод из системы с основанием N в систему с основанием N^i (i - целое и больше 1) и обратно. Для прямого перевода надо разбить исходное число на группы по i цифр справа налево и заменить каждую группу одной цифрой по основанию N^i. Для обратного перевода надо каждую цифру числа заменить соответствующей группой из i цифр.
Ниже привожу примеры, третий из них показывает, как можно упростить перевод между 2-мя системами, если каждая является степенью одного и того же числа.
Примеры.
========
1.
Перевести число 1001101101111111101001001 из 2-й с.с. в 16-ричную. Здесь N = 2, 16 = 2^4 => i = 4. Разбиваем число на группы по 4 разряда справа налево:
1 0011 0110 1111 1111 0100 1001
и заменяем каждую группу 16-ричной цифрой:
1 3 6 F F 4 9
---------------------------------------------
2.
Перевести число 7523 из 8-ричной с.с. в двоичную. Опять-таки n = 2, 8 = 2^3 => i = 3. Заменяем каждую цифру группой из 3-х разрядов:
7 = 111, 5 = 101, 2 = 010, 3 = 011 => 7523 = 111101010011
---------------------------------------------
3.
Перевести число 87503214060052034008721358073201 из 9-ричной с.с. в 27-ричную с.с.
Заметим, что 9 = 3^2, а 27 = 3^3. То есть вместо того, чтобы переводить из 9-й в 27-ричную с.с. напрямую, можно воспользоваться 3-й системой как промежуточной и выполнить 2 перевода - из 9-й в 3-ую, а затем из 3-й в 27-ую:
а) из 9-й в 3-ю:
Запишем табличку перевода (первая цифра - в 9-й с.с., вторая - дуада в троичной):
0 = 00, 1 = 01, 2 = 02,
3 = 10, 4 = 11, 5 = 12,
6 = 20, 7 = 21, 8 = 22
87503214060052034008721358073201 =
22 21 12 00 10 02 01 11 00 20 00 00 12 02 00 10 11 00 00 22 21 02 01 10 12 22 00 21 10 02 00 02
б) из 3-й в 27-ричную. Т.к. кол-во цифр в 27-ричной системе счисления больше 10, то для представления цифр от 10 до 26 используем буквы латинского алфавита от A до Q
Таблица триад:
0 = 000, 1 = 001, 2 = 002, 3 = 010, 4 = 011, 5 = 012, 6 = 020, 7 = 021, 8 = 022
9 = 100, A = 101, B = 102, C = 110, D = 111, E = 112, F = 120, G = 121, H = 122
I = 200, J = 201, K = 202, L = 210, M = 211, N = 212, O = 220, P = 221, Q = 222
Разбиваем полученное число на группы по 3 цифры справа налево:
2 221 120 010 020 111 002 000 001 202 001 011 000 022 210 201 101 222 002 110 020 002
и заменяем:
2 P F 3 6 D 2 0 1 K 1 4 0 8 L J A Q 2 C 6 2
Приложение:
Ответ отправлен: 19.04.2004, 19:59
Отправитель: Ayl
Отвечает Евгений Иванов
Приветствую Вас, Александр!
Используй десятичную. Большего и не надо для программирования!
Ещё удобно иногда применять 16-ую систему.
Ну и двоичная ничем не отличается от 16-ой.
(Хотя для меня и перевод из 10-ой в 16 и обратно не занимает более 5 секунд в уме).
:))
Например, 150?
Сколько в 16-ой? в 2-ой?
очень просто.
есть число 144 = 90h.
Значит, 150 = 144+6 = 90h + 6 = 96h
В 2-ой.
96h = 1001.0110
Удачи!
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 20.04.2004, 07:23
Отправитель: Евгений Иванов
Отвечает Foamplast
Добрый день, Александр!
Посмотрите архив рассылки. Я когда-то эту тему очень подробно объяснял.
Ответ отправлен: 23.04.2004, 08:26
Отправитель: Foamplast
Вопрос № 5165 |
Здраствуйте.
Почему программы на ассемблере занимают меньше места чем на ЯВУ.Например кнопка на асме занимает 3кБ, на Си 22кБ, а на Delphi 5 аж 292кБ.Ведь насколько я знаю программы на ЯВУ компилятся так:
код на ЯВУ>код на асме>машинные коды.Так это же как можно так неоптимизированно переводить на асм,ведь это же скоко нужно кода на асме чтобы получит 292кБ.
Вопрос отправлен: 20.04.2004, 10:49
Отправитель: Семен
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Приветствую Вас, Семен!
> код на ЯВУ>код на асме>машинные коды
Вопрос: что такое код на асме и машинные коды. Вообще-то, код на асме = машинные коды, т.к. это суть одно и тоже. Просто разное представление (код на асме удобен для понимания человеком - мнемоники(!), а машинные коды удобны для выполнения процессором).
По поводу ЯВУ. Во-первых, любой компилятор с ЯВУ добавляет библиотеки, нужные для работы программы. Например, для запуска/завершения программ, работы с файлами, управления памятью и т.п. Все это увеличивает размер проги. Плюс не оптимальный код (скажем, часто переменные располагаются в памяти, поэтому любое обращение к переменной требует сначала считать ее из памяти, выполнить какие-либо действия, а затем записать обратно). На асме, в принципе, часто можно избежать этого. Опять же, оптимизация вызовов функций. Допустим, пусть есть функции A и B:
int A (int, int);
int B (int);
и в коде такой код:
a = A (a, b);
a = B (b);
Скорее всего он будет преобразован в нечто подобное:
mov ax, [b]
push ax
mov ax, [a]
push ax
call A
mov [a], ax
mov ax, [b]
push ax
call B
mov [a], ax
а на асме можно написать и так:
mov ax, [b]
push ax ax
mov ax, [a]
push ax
call A
call B ; а нафига нам результат, если мы его не используем?
mov [a], ax
А насчет Delphi - ну там своя кухня. Фиг его знает, чем они думали в оптимизаторе. Кажется, они в код пихают просто все, что можно из классов.
Ответ отправлен: 20.04.2004, 14:44
Отправитель: Ayl
Отвечает VOVAN
Доброе время суток, Семен!
они в код пихают, кроме кода, всякой ерунды кучу. которая помогает проге работать.
Ответ отправлен: 20.04.2004, 17:38
Отправитель: VOVAN
Отвечает Pawel
Здравствуйте, Семен!
Ну во-первых, на Delphi можно написать окно и улажиться в 10кб(а то и меньше), используя WinApi!!!
Во вторых, что бы получить в delphi код размером 292кБ. нужно использовать VCL.
Ответ отправлен: 22.04.2004, 19:37
Отправитель: Pawel
Отвечает SedHg
Здравствуйте, Семен!
Если ты программируешь на Delphi, то должен знать, что он использует
VCL. А у нее есть большой недостаток, если ты просто кинул на форму кнопку,
не важно какие функции ты используешь в своей программе, весь код. который
относится к данному контролу бутет внутри твоей программы. Этак баг
устраняет использование библиотеки KOL, но в ней пока мало контролов.
Когда програмимируешь на ассемблере, то в твоей программе присутствует только,
то что ты написал.
Если писать в Делфи на WinAPI, то даже в этом случае программа будет
гораздо больше, чем её аналог на ассемблер, т.к. любой компилятор создает
менее эффективный код, чем ассемблер.
>>Например кнопка на асме занимает 3кБ
Многовато для кнопки ;-), в 3 кб можно запихнуть окно
с несколькими кнопками и эдитом =).
Ответ отправлен: 21.04.2004, 15:10
Отправитель: SedHg
Отвечает Gibbel
Здравствуйте, Семен!
Потому что при компиляции программ, написанных на языках высокого уровня, в исполняемый файл помещается не только код вашей программы, но и много вспомогательного кода.
Ответ отправлен: 20.04.2004, 11:28
Отправитель: Gibbel
Отвечает _vt
Доброе время суток, Семен!
А тут не слушай ни Gibbel-я, ни Ayl-а, слушай меня! :-)
Во-первых, проясни ситуацию, что есть "кнопка на Delphi 5"?? Это ты создал дефолтный проект и кинул на него кнопку из палитры компонентов?
Во-вторых, проясни ситуацию, что есть "кнопка на С"?? Это ты создал дефолтный проект "MFC Dialog Application" в Visual Studio и удалил с диалога кнопку "Cancel"? :-) Или ты сделал аналогичный с Delphi проект в C++Builder?
В-третьих, что есть "кнопка на асме"?? Ты создал в редакторе ресурсов диалог с кнопкой и написал процедуру обработки сообщений диалогового окна?
Подытожим :-) - не сравнивай разные вещи. Если будешь писать на M$ Visual С/С++ и MASM, то разницы в размере ты не увидишь между C и ассемблером. А если и увидишь, то как раз на С размер проекта будет меньше! Если ты будешь использовать C++Builder, Delphi и Turbo Assembler - то в случае программы на чистом WinAPI размер программы будет примерно одинаков для всех трех компиляторов.
E-Man : Life begins at 1000Mhz!
Ответ отправлен: 20.04.2004, 17:59
Отправитель: _vt
Отвечает Евгений Иванов
Приветствую Вас, Семен!
Потому что машина НИКОГДА не сравнится с человеком. ;)
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 21.04.2004, 07:57
Отправитель: Евгений Иванов
Отвечает Foamplast
Приветствую Вас, Семен!
Этому есть несколько причин:
дополнительные функции кода
Многие компиляторы добавляют начинающий и завершающий коды к программе. В том же MS VC++ программист ведь пишет функцию WinMain (или main), которая имеет параметры. А у программы на ассемблере их нет. Откуда же они берутся? На самом деле начинающий код вызывает некоторые функции и формирует параметры для WinMain (или для main).
дополнительные средства языка
Сюда относятся всякие тупорылые языки, в которых при обращении к массиву ставится обработчик исключения, чтобы программа при неверном индексе не вылетала по GPF (general protection fault - общая ошибка защиты).
статическая линковка библиотек
В Делфи к программе с кнопкой наверняка ещё прилинкованы библиотеки для вычислений с плавающей точкой, математические библиотеки и т.п. ерунда, составляющая неотъемлемую часть языка.
внесение дополнительной информации в файл
А это по-моему вообще все подряд делают (кроме OpenSource). То есть в исполнимый файл записывается информация, например, о владельце или о версии продукта или об особенностях компиляции программы.
Ко всему этому я отношусь крайне негативно, потому что считаю, что программист сам должен решать, какую информацию стоит включать в файл, а какую - нет. А про "проверку границ массивов" и "сборку мусора" могу сказать только одно - это технологии для дебилов. В нормально написанной программе индексы никогда не должны выходить за границы и память не должна "уплывать". К слову, Д.Кнут вообще для каждого алгоритма приводит строгое математическое доказательство его свойств (конечности, результативности, устойчивости и массовости).
Вывод: лучшим языком является ассемблер.
P.S. Я тут посмотрел, что сам пишу около 1 Кб программы в день (если работаю по 2-3 часа), т.е. если сейчас начну делать кнопку, как на Делфи, то к новому году уже управлюсь :)
Ответ отправлен: 23.04.2004, 08:26
Отправитель: Foamplast
Вопрос № 5166 |
Простите за УЖАСНО ламерский вопрос, но...я страшно запутался.
Во всех книгах написано что в байте 8 бит, но читая книгу Питера Абеля я немного засомневался в этом. Цитата из книги:"Группа из девяти битов представляет собой байт; восемь битов которого
содержат данные и один бит - контроль на четность."Что тут имеется ввиду? как устроена оперативная память, или что собой представляет*единица "байт"?Насколько я знаю, в оперативной (современной)памяти, на каждый байт, приходится*одинбит, который является, т.наз. контролем ошибок. Но многие мне твердят что в байте 9 бит, один программисту не доступин, т.к. он обрабатывается процессором, поэтому якобы говорят что в байте 8 бит. Помогите разобраться, плиз. И ещё один вопрос. Почти все переводчики анг. книг, переводят например "8 битов", разве бит/байт/мегабайт.и.т.д.склоняются в русском языке? мне казалось что нет.
Спасибо!
Вопрос отправлен: 20.04.2004, 11:29
Отправитель: soko1
[Следующий вопрос >>] [Список вопросов]
Отвечает Acid Burn
Здравствуйте, soko1!
Первое: Богат и красив наш русский язык.. В нем склоняется даже несклоняемое, поэттому не удивительно что некоторые авторы пишут "Битов".. Хотя я согласен с вами, что корректнее было бы написать "8 Бит".
Второе: Лично я с гордостью могу сказать, что Питер Абель - это то, что надо для начинающих и нетолько... Я сам когда-то начинал именно с него.. Ваш вопрос заслуживает внимания. Когда-то я задал себе точно такойже вопрос, но все же пришщел к выводу, что лучше оставить эту тему.
Млжно рассмотреть эту проблему с двух сторон:
1)Байт действительно состоит из 9 бит... 8 из них нам полностью доступны, а 9-й используется только процессором для веявления корреконсти записи, либо для упращения работы с памятью (а может быть просто указывает занят данный байт или нет).
2)Абель писал свою книгу с большого будуна, и вместо того, чтобы написать что 9-й бит - это и есть флаг четности, устанавливаемый когда идет обработка комманд или данных. Написал что байт - 9бит...
Есть еще одно... Может это просто разделитль комманд по которым процессор узнает где начинается новая комманда!
Ответ отправлен: 20.04.2004, 14:38
Отправитель: Acid Burn
Отвечает Pawel
Добрый день, soko1!
В байте действительно 9 бит, но для программиста доступны только 8 из них.
Ответ отправлен: 22.04.2004, 19:39
Отправитель: Pawel
Отвечает Ayl
Доброе время суток, soko1!
1. Байт = 8 бит. Теория информации, основные определения.
2. Не путай реализацию и теорию. Равенство в п.1 не зависит от реализации, но при этом надо учесть то, что для представления на схеме одного байта информации требуется использование как минимум 9 битов - лишний бит для контроля четности. При передачи данных могут использоваться другие коды - например, код Хемминга для обнаружения и исправления ошибок. При этом для группы в 8 бит потребуется еще бита 4 для дополнительной информации. Ну и что, что полученный "байт" будет состоять из 12 бит. На равенство из п.1 это не повлияет.
3. Склоняться-то они склоняются (бит - бита и т.д.), а вот насчет множественного числа я не уверен. Но вроде как у меня множественное число не вызывает какого-либо протеста.
Ответ отправлен: 20.04.2004, 14:55
Отправитель: Ayl
Отвечает Gibbel
Здравствуйте, soko1!
В байте 8 бит.
В некоторых случаях, например при передаче через COM-порт, на один байт отводиться 9 бит. Т.е. 8 бит - это сам байт, и один бит - это бит четности, используемый для контроля правильной передачи байта.
Ответ отправлен: 20.04.2004, 11:37
Отправитель: Gibbel
Отвечает VOVAN
Добрый день, soko1!
в байте - 8 бит.
насчёт склонений - врядли склоняется множественное число
Ответ отправлен: 20.04.2004, 17:41
Отправитель: VOVAN
Отвечает _vt
Доброе время суток, soko1!
Из всего этого можно сделать один вывод - не читай книгу Абеля. :-) Лучше возьми книгу Калашникова!
P.S.
> Но многие мне твердят что в байте 9 бит, один программисту не доступин, т.к. он обрабатывается процессором
Этих тоже не слушай! ;)
Слушай Gibbel-я и Ayl-а. =)
E-Man : Life begins at 1000Mhz!
Ответ отправлен: 20.04.2004, 17:59
Отправитель: _vt
Вопрос № 5167 |
hello, народ!
Я тут ковыряюсь с win32+OpenGL, борьба идёт с переменным успехом.
в программе:
WM_CREATE: GetDC(hwnd)-> DC (и ещё hglrc берётся)
WM_CLOSE: ReleaseDC (DC) (ну и конечно wglDeleteContext(hglrc) )
WM_paint: рисование через hglrc
причём не используются функции BeginPaint, EndPaint.
проблема в том, что в этом случае окну всё время посылается
WM_paint. в хэлпе говорится что-то насчёт того, что
"The system sends this message when there are no other messages
in the application's message queue."
т. е. если приложение ничем не занято, то ему идут и идут WM_paint.
такой частый вызов WM_paint мне мешает.
я попробовал поставить в WM_paint-обработчик BeginPaint
и сразу следом EndPaint - и тогда WM_paint вызывается нормально, т.е.
только тогда, когда окно действительно надо перерисовывать:
WM_paint: (новый обработчик)
рисование через hglrc
....
рисование через hglrc
BeginPaint ....
EndPaint ....
(конец обработчика)
----------
Пожалуйста, объясните мне влияние BeginPaint на WM_paint-сообщения.
Правильно ли вызывать BeginPaint только для того, чтобы избежать
бесконечного потока WM_paint?? Какая разница между DC, полученными
через GetDC и BeginPaint? И вообще, какие есть советы?
Заранее спасибо!
Вопрос отправлен: 20.04.2004, 12:11
Отправитель: soflot (soflot@ukr.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает Pawel
Доброе время суток, soflot!
Без использование BeginPaint не обойтись.
Ответ отправлен: 22.04.2004, 19:48
Отправитель: Pawel
Отвечает Евгений Иванов
Приветствую Вас, soflot!
Их НАДО использовать и всё.
Так НУЖНО.
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 21.04.2004, 07:58
Отправитель: Евгений Иванов
Вопрос № 5168 |
Ув.эксперты, хотелось бы услышать ваше мнение -
Хочу написать драйвер под принтер струйный (немного переделанный) под Винду но с Си не очень дружу т.е. Accемблер, VB. Т.вот есть ли какая то возможность это сделать на VB или нонсенс. И реально ли где нибудь надыбать исходники к этому делу (напр.HP,Lexmark).
.Спасибо.
Вопрос отправлен: 21.04.2004, 00:02
Отправитель: arthy
[Следующий вопрос >>] [Список вопросов]
Отвечает Pawel
Доброе время суток, arthy!
На VB драйвер нен написать.
Пиши на асм.
Ответ отправлен: 22.04.2004, 19:51
Отправитель: Pawel
Отвечает Acid Burn
Доброе время суток, arthy!
Где исходники взять я тебе не скажу - сам не знаю, да и врядли тебе их кто-нибудь даст... А вот что касается написания... то на ВБ ты драйвер не напишешь, за всою долголетнюю практику я не встречал даже упоминания по этому поводу.. Зато легко написать драйвер на Ассемблере, кстати большенство драйверов пишется имеено на нем - Это будет САМЫЙ лучший вариант (хотя и не самый маленький по размерам исходника, и не самый легкий). А примеры написания драййверов ты можешь Процесть в книге ЗУБКОВА "АССЕМБЛЕР ПОД DOS, WINDOWS, UNIX".....!!!!! :) Желаю успехов!!!
Ответ отправлен: 21.04.2004, 15:10
Отправитель: Acid Burn
Отвечает _vt
Добрый день, arthy!
Драйверы под Win32 пишутся на С или Ассемблере, при наличии DDK(Device Driver Kit) для соответствующей ОС, и их структура существенно различается между Win95/98 (vxd), NT (sys), 98se(wdm), 2000/XP(sys-wdm). В VB просто нету возможности создавать драйверы. Исходники драйверов ты можешь купить у производителя принтера за пару десятков тысяч зеленых =) Ну может быть, тебе скинут цену на описание системы команд конкретного принтера =).
Вот вполне решаемая задача - написание драйвера для матричного принтера, поддерживающего систему команд Epson. =)
E-Man : Life begins at 1000Mhz!
Ответ отправлен: 21.04.2004, 21:38
Отправитель: _vt
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (24) C / C++ (12) Perl (1) Builder / Delphi (18) Pascal (17) Basic / VBA (2) Java / JavaScript (4) PHP (10) Криптография (6) WinAPI (10) Радиоэлектроника (8) |
Пользователю Windows 95/98/Me (31) Windows NT/2000/XP (43) "Железо" (24) Поиск информации (14) |
Администратору Windows NT/2000/XP (21) Linux / Unix (6) |
Юристу Гражданское право (11) Семейное право (8) Трудовое право (10) КоАП (7) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||