Учебник по основам языка Ассемблера

Учебник по основам языка Ассемблера Screenshot Микропроцессоры корпорации Intel и персональные компьютеры на их базе прошли не очень длинный во времени, но значительный по существу путь развития, на протяжении которого кардинально изменялись и возможности и даже сами принципы их архитектуры.

Разработчик:   Unknown
      другие программы →
Лицензия:   Freeware
Размер:   2K
Язык:   
ОС:   Windows Vista (?)
Рейтинг:   0 /5 (0 голосов)

Микропроцессоры корпорации Intel и персональные компьютеры на их базе прошли не очень длинный во времени, но значительный по существу путь развития, на протяжении которого кардинально изменялись и возможности и даже сами принципы их архитектуры. В то же время, внос в микропроцессор принципиальные изменения, разработчики были вынуждены постоянно иметь в виду необходимость обеспечения совмести мости новых моделей со старыми, чтобы не отпугивать потенциального покупателя перспективой полной замены освоенного или разработанного им программного обеспечения. В результате современные микропроцессоры типа Pentium, обеспечивая такие возможности, как 32-битную адресацию почти неограниченных объемов памяти, многозадачный режим с одновременным выполнением нескольких программ, аппаратных средства защиты операционной системы и прикладных программ друг друга, богатый набор дополнительных эффективных команд и способе адресации, в то же время могут работать (и часто работают) в режиме первых микропроцессоров типа 8086, используя всего лишь 1 мегабайт оперативной памяти, 16-разрядные операнды (т. е. числа в диапазоне до 216 - 1 = 65535) и ограниченный состав команд. Поскольку программирование на языке ассемблера напрямую затрагивает аппаратные возможности микропроцессора, прежде всего следует выяснить, в какой степени программист может использовать новые возможности микропроцессоров в своих программах и какие проблемы программной несовместимости могут при этом возникнуть. Первые персональные компьютеры корпорации IBM, появившиеся в 1981 г. и получившие название IBM PC, использовали в качестве центрального вычислительного узла 16-разрядный микропроцессор с 8-разрядной внешней шиной Intel 8088. В дальнейшем в персональных компьютерах стал использоваться и другой вариант микропроцессора, 8086, который отличался от 8088 тем, что являлся полностью 16-разрядным. С тех пор его имя стало нарицательным, и в программах, использующих только возможности процессоров 8088 или 8086, говорят, что они работают в режиме 86-го процессора. В 1983 г. корпорацией Intel был предложен микропроцессор 80286, в котором был реализован принципиально новый режим работы, получивший название защищенного. Однако процессор 80286 мог работать и в режиме 86-го процессора, который стали называть реальным. В дальнейшем на смену процессору 80286 пришли модели 80386, i486 и, наконец, различные варианты процессора Pentium. Все они могут работать и в реальном, и в защищенном режимах. Хотя каждая следующая модель была значительно совершеннее предыдущей (в частности, почти на два порядка возросла скорость работы процессора, начиная с модели 80386 процессор стал 32-разрядным, а в процессорах Pentium реализован даже 64-разрядный обмен данными с системной шиной), однако с точки зрения программиста все эти процессоры весьма схожи. Основным их качеством является наличие двух режимов работы - реального и защищенного. Строго говоря, в современных процессорах реализован еще и третий режим - виртуального 86-го процессора, или V86, однако в плане использования языка ассемблера этот режим не отличается от обычного режима 86-го процессора, мы его касаться не будем. Реальный и защищенный режимы прежде всего принципиально различаются способом обращения к оперативной памяти компьютера. Метод адресации памяти, используемый в реальном режиме, позволяет адресовать память лишь в пределах 1 Мбайт; в защищенном режиме используется другой механизм (из-за чего, в частности, эти режимы и оказались полностью несовместимыми), позволяющий обращаться к памяти объемом до 4 Гбайт. Другое важное отличие защищенного режима заключается в аппаратной поддержке многозадачности с аппаратной же (т.е. реализованной в самом микропроцессоре) защитой задач друг от друга. Реальный и защищенный режимы имеют прямое отношение к работе операционной системы, установленной на компьютере. В настоящее время на персональных компьютерах типа IBM PC используются в основном два класса операционных систем (оба - разработки корпорации Microsoft): однозадачная текстовая система MS-DOS и многозадачная графическая система Windows. Операционная система MS-DOS является системой реального режима; другими словами, она использует только средства процессора 8086, даже если она установлена на компьютере с процессором Pentium. Система Windows - это система защищенного режима; она значительно более полно использует возможности современных процессоров, в частности, многозадачность и расширенное адресное пространство. Разумеется, система Windows не могла бы рабо-тать с процессором 8086, так как в нем не был реализован защищенный режим. Соответственно двум типам операционных систем, и все программное обеспечение персональных компьютеров подразделяется на два класса: программы, предназначенные для работы под управлением MS-DOS (их часто называют приложениями DOS) и программы, предназначенные для системы Windows (приложения Windows). Естественно, приложения DOS могут работать только в реальном режиме, а приложения Windows - только в защищенном. Таким образом, выражения "программирование в системе MS-DOS", "программирование в реальном режиме" и "программирование 86-го процессора" фактически являются синонимами. При этом следует подчеркнуть, что хотя процессор 8086, как микросхема, уже давно не используется, его архитектура и система команд целиком вошли в современные процессоры. Лишь относительно небольшое число команд современных процессоров специально предназначены для организации защищенного режима и распознаются процессором, только когда он работает в за щенном режиме. Поэтому изучение языка ассемблера целесообразно начинать с изучения архитектуры процессора 8086 или, точнее, того гипотетического процессора, который как бы объединяет часть архитектур средств современных процессоров, предназначенных для использования в реальном режиме, и соответствующих архитектуре процессора 8086. будем называть этот гипотетический процессор МП 86. Изучению архитектуры и программирования МП 86 посвящены первые три главы. Деление программ на приложения DOS и приложения Windows исчерпывают вопроса о возможных типах программ. Дело в том, что ряд дополнительных средств, имеющихся в современных процессорах, вполне можно использовать и в реальном режиме (хотя сама операционная система MS-DOS, разработанная еще в эпоху процессора 8088, ими пользуется). К этим средствам относится расширенный состав команд процессоров и, главное, их 32-разрядная архитектура. Современные процессоры (начиная с 80386), в отличие от своего предшественника 8086, являются 32-разрядными. Это дает возможность программисту использовать в программе 32-разядные операнды (т. е. числа в диапазоне до 232-1=4 294 967 295), что во многих случаях позволяет упростить алгоритм программы и повысить ее быстродействие. Программа, предполагающая работать с 32-разрядными операндами, должна иметь в своем составе одну из директив .386, .486 или .586, которые разрешают транс тору использовать дополнительные средства соответствующего процессе. Включение в программу этой директивы одновременно открывает доступ и к дополнительным командам и способам обращения к памяти, отсутствующим в процессоре 8086, что также расширяет возможности программирования. Эти средства описаны в главе, посвященной расширенным возможностям современных процессоров. Особая ситуация возникает, если программист хочет использовать не только 32-битовые данные, но и 32-разрядные адреса ячеек памяти. Программы такого рода называются 32-разрядными приложениями (в отличие от 16-разрядных, в которых все адреса 16-разрядные, хотя дани могут иметь размер 32 бит). Для создания 32-разрядного приложения в состав программы необходимо включить (в соответствующем месте) oписатель use32. Однако следует иметь в виду, что MS-DOS не позволяет пускать 32-разрядные приложения, которые, таким образом, должны 6ыть приложениями Windows. В то же время приложения Windows обычно составляются не на языке ассемблера, а на одном из языков высокого уровня - Паскаль, С или C++, где тип создаваемой программы (16-разрядная или 32-разрядная) определяется настройками компилятора. Поэтому вопросы разработки 32-разрядных приложений на языке ассемблера не вошли в настоящую книгу. Как известно, система Windows.-допускает запуск приложений DOS (программ реального режима), организуя для этого так называемый сеанс DOS, в котором программы фактически выполняются в режиме 86-го процессора. Кроме этого, в Windows предусмотрена возможность загрузки компьютера в режиме эмуляции DOS, когда компьютер работает под уп-равлением варианта DOS, встроенного в систему Windows. Наконец, ком-пьютер можно сконфигурировать так, чтобы он позволял загружать как Windows, так и "чистую" DOS (например, MS-DOS 6.22), без всякой Windows. Каким вариантом загрузки компьютера пользоваться при проработке настоящей книги - дело вкуса и привычек читателя. Приводимые в книге примеры в своем большинстве просты, не затрагивают каких-то специальных системных средств и будут работать в любом режиме. Последнее замечание не относится только к примеру программы защищенного режима, приводимому в гл. 4, а также к обработчику прерываний от мыши, рассматриваемому в гл. 3. Эти программы следует запускать на "чистой" DOS.

 Скачать Учебник по основам языка Ассемблера

Учебник по основам языка Ассемблера screenshot
Программы разработчика

Task Scheduler ver 1.7 Task Scheduler ver 1.7
Unknown

Программа предназначена для планирования запуска процессов под Windows NT (95) по дню недели и времени суток с точностью до минуты.

Date Edit v 1.0 Date Edit v 1.0
Unknown

Еще одная надстройка для Виндов, которая позволит менять дату и время файлов прямо из Проводника(Explorer).

Вечный календарь Вечный календарь
Unknown

Отображение календаря c 1583 года в полноэкранном виде (для всего года).

Часовой v1.0 by Quant Software (FreeWare) - Rus Часовой v1.0 by Quant Software (FreeWare) - Rus
Unknown

Удобные часики с каледарем от 1753 до 9999 года.

Полиграфический калькулятор (FreeWare) - Rus Полиграфический калькулятор (FreeWare) - Rus
Unknown

Простой калькулятор, предназначенный для полиграфистов.

Альтернативные программы

Учебник по основам языка Ассемблера Учебник по основам языка Ассемблера
Unknown

Микропроцессоры корпорации Intel и персональные компьютеры на их базе прошли не очень длинный во времени, но значительный по существу путь развития, на протяжении которого кардинально изменялись и возможности и даже сами принципы их архитектуры.

Спецвыпуск TUL №9 All in CPU 2 Спецвыпуск TUL №9 All in CPU 2
Шульженко Владимир

Содержание TUL №9 All in CPU 2 Intel Celeron Тестирование процессора Intel Celeron 1.

Электронный оффлайн журнал Электронный оффлайн журнал "TUL" #9
Tul

Содержание TUL №9 All in CPU 2 Intel Celeron Тестирование процессора Intel Celeron 1.

Intel Processor Frequency ID Intel Processor Frequency ID
Intel Corporation

Программа Intel Processor Frequency ID Utility разработана корпорацией Intel с целью предоставления пользователям возможности определить, не работает ли процессор Intel на тактовой частоте, превышающей номинальную.

TVicHW32 5.0 TVicHW32 5.0
Unknown

TVicHW32 представляет из себя такой набор драйверов и библиотек интерфейсов к ним, которые обеспечивают "прозрачный" доступ к аппаратуре под 32-разрядными версиями операционных систем Windows (95/98/ME/NT/2000) непосредственно из Win32-приложения.

Гитарный Процессор 2.18 Гитарный Процессор 2.18
Guitar Effects (FX) Software

Программа гитарного процессора версии 2.

Motherboard Monitro 5.2 Motherboard Monitro 5.2
Unknown

Программа предназначена для мониторинга системной платы и в режиме реального времени, отображает температур внутри корпуса, температуру процессора и жестких дисков, скорость вращения вентиляторов, а так-же уровень загрузки процессора и оперативной памяти.

SysTrayMonitor v2.0 SysTrayMonitor v2.0 
Леонид

Программа осуществляет отображение степени загрузки процессора, контроль за использованием и освобождение системной памяти, отслеживание зависших процессов.

JUL 3.1 JUL 3.1
mic

Система JUL распространяется в рамках проекта "Интернет-школа при ФТЛ №1".

Intel Processor ID Utility 3.3 Intel Processor ID Utility 3.3
Intel Corporation

Intel Processor ID Utility — это программное обеспечение, служащие для идентификации процессоров Intel.

Другие программы категории

Active File Compare 2.0 Active File Compare 2.0
Евгений Баянов

Утилита для сравнения и синхронизации любых ASCII текстовых файлов в визуальном режиме; превосходный инструмент для сравнения версий исходных текстов программ на языках программирования, так как поддерживает синтаксическое выделение и непосредственное исправления найденных различий между версиями.

Icon XP Pro Icon XP Pro
Unknown

1st Page 2000 2.0 Final 1st Page 2000 2.0 Final
EVRSoft

1st Page 2000 2.

SMS Subscribe v1.01 SMS Subscribe v1.01
almaz

Если Вы хотите получать на Ваш сотовый телефон какую-либо информацию из Интернет, то можете использовать данную программу.

RV-SMS v1.0 RV-SMS v1.0
Райчев Евгений

Отправка sms-сообщений на мобильные телефоны, много операторов, записная книжка, очень проста в использовании.