§ Вступительное слово от автора
Этот сайт предназначен для программистов и здесь представлена информация о программировании на Ассемблере 32-разрядных процессоров фирмы Intel с архитектурой IA-32 (Intel Architecture 32-bit) - это процессоры 80386, 80486, Pentium, семейство P6 (Pentium Pro, Pentium MMX, Pentium II, Pentium III), Pentium 4 (это семейство процессоров NetBurst). Также со временем будут представлены аналоги интеловских процессоров от AMDRambler's Top100Вся информация будет приведена в следующем виде:
- Учебники, в которых подробно излагается работа процессора и других устройств и программирование отдельных технологий
- Справочники, где ту же информацию вы сможете найти в кратком виде
- Путеводитель по сайту - "Гид", благодаря которому вы сможете узнать что и где именно находится
- Поисковая система по сайту, которая поможет вам найти конкретную информацию
- "Глоссарий", который содержит ответы на часто задаваемые вопросы, а также термины и обозначения, принятые на этом сайте
- Если вы не найдёте нужной вам информации, то это значит, что её пока нет. Многие темы мною, автором, уже подготовлены и сейчас проходят стадию тестирования и подготовки в HTML-виде. Если вас очень интересует что-то конкретное, пожалуйста, сообщите мне об этом по адресу sasm@narod.ru и эта тема появится быстрее остальных.
Текст теории и практики приведены в формате HTML для обеспечения связей с другими темами, что должно облегчить изучение, тексты относительно больших примеров можно скачать в виде отдельных файлов. Все примеры проверены и надёжно работают, однако, если вам удастся обнаружить ошибки, пожалуйста, сообщите мне об этом. Я постараюсь как можно скорее рассмотреть ваши замечания и исправить ошибки, а также учесть ваши пожелания касательно содержимого и оформления сайта и примеров.
Сам код примеров, по возможности, не содержит макросов и операторов, свойственных какой-либо реализации Ассемблера, благодаря этому, вы можете использовать исходники так, как вам это удобно - код одинаково легко переносится и в tasm и в языки высокого уровня.
Если вы уже знакомы с программированием в защищённом режиме, то перед чтением рекомендую вам просмотреть оглавление с краткими комментариями к главам, чтобы вы решили для себя, что вам интересно будет читать.
В текстах часто можно встретить английские слова в скобках - я их использую для того, чтобы показать оригинальное значение слова. Например, "процессор использует u- и v-конвейеры (pipeline)". Слово "pipeline" обычно переводится как "трубопровод", но в контексте данного сайта и документации процессоров Intel подразумевается именно "конвейер". В некоторых случаях приходится употреблять слово, которое не является переводом английского, а просто подходит по смыслу. Например, слово "invalidate", часто встречаемое в описании работы кэшей, можно перевести как "Переводить в нерабочее состояние" или "Объявлять недостоверным", но здесь оно переводится просто как "сброс". Термин "сброс элемента кэша" гораздо более понятен, чем "объявление недостоверным элемента кэша".
Тем не менее, там где это нужно, вы встретите строгое соответствие английским терминам, так что после обучения на этом сайте, чтение документации на английском не вызовет у вас недоумения и необходимости переучиваться.
К настоящему времени накопилось достаточно много документации на русском языке по программированию 32-разрядных процессоров, но многие труды, особенно ранние, страдают наличием плохо переведённых терминов. Так, например, слово "gate" применительно к дескриптору, переводилось как "вентиль", хотя общеупотребимое значение этого слова - "ворота". На самом же деле нужно его переводить как "шлюз", потому что именно это слово является наиболее подходящим эквивалентом в русском языке и характеризует свойства данного объекта.
Похожая ситуация была и с термином "real-address mode", который переводили как "реальный режим", хотя правильным будет перевод "режим реальных адресов".
Тем из вас, кто привык к старым терминам, я настоятельно рекомендую переучиться говорить по правильному (вот я, например, уже переучился). А для тех, кто ещё не сталкивался с программированием IA-32, на этом сайте созданы все необходимые условия для правильного и грамотного обучения, которое в состоянии будет принести свои плоды. Я, Александр Семенко, беру смелость на себя назвать этот сайт самым лучшим сайтом по обучению программированию 32-разрядных интеловских процессоров с архитектурой IA-32 (т.е. всех современных процессоров для ПК). Если вы не согласны с моим заявлением, то я с благодарностью приму ваши замечания, а если они будут содержать ещё и конструктивные предложения, то обещаю, что очень постараюсь внедрить их в сайт.
Приятного вам изучения и успехов в программировании IA-32.
С уважением, Александр Семенко.