На главную Добавить в избранное Сделать стартовой Написать письмо
Главная   »  Софт(Windows программы)   »  Программирование   »  Средства разработки   »   Учебник по основам языка Ассемблера

Info:

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

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

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

Дата добавления:
Размер файла: 2 MB
Операционная система: windows
Русский интерфейс: Нет
Лицензия: Free
Просмотров/Скачиваний: 1867/ 497
Описание:

Микропроцессоры корпорации 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.

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

Реклама от Google

Драйвера по производителям

3com

3Dfx

3DLabs

3DPower

A4Tech

AB Dick

Ability

ABIT

ACARD

Accex

ACER

acme

ACORP

Actiontec

ADAPTEC

Adesso

ADI

Adlib

Adomax

ADS

Advent

AGFA

AITech

Albatron

ALi

Alliance Semiconductor

Allied Data

Altima

AmbiCom

AMD

AMI

ANYCOM

AOpen

Artronix

ASRock

ASUS

ATI

AUREAL

Auslinx

AVB

AVerMedia

Avision

Axle

Azona

AZTECH

Belkin

BenQ

Biostar

Bluetake

Bowe Bell + Howell

BRAVIS

Brother

BTC

C-Media

Canon

Canopus

Canyon

Cardinal

Chaintech

Chicony

Chips and Technologies

Chronos

Cirrus Logic

Cnet

Commodore

Compaq

KDS

Kodak

Konica Minolta

KT&C

Kworld

Kyocera

LaCie

Lanier

Lapara

Largan

Leadtek

Lenovo

Lexmark

LG

LiteOn

Logic3

Logitech

LSI Logic

Lynx Studio

M-Any

M-AUDIO

Mad Head

MAG

Marian

Martinic Computers

Match Tech

Matrox

Maxell

MaxTech

MediaForte

Memorex

Microsoft

Microstar

Microtek

Mimaki

Mitsubishi

Mitsumi

Motorola

Mustek

Nec

Nival Interactive

Number Nine

NVidia

OKI

OKLICK

OKLICK

P-active

Pacific

Packard Bell

Panasonic

Pantech

Pentax

Philips

Pine

Pinnacle

Plustek

PowerVR

PRAKTICA

Pretec

Primax

Prolink Microsystems

Promise

PSA

PSTEL

PURE

Q-Tec

Все производители

Наша кнопка:

скачать драйвер
скачать драйвера
Размести на своем сайте HTML код с нашей кнопкой.

Выделить Обмен ссылками