Иванова Г.С., Ничушкина Т.Н. - Основы программирования на ассемблере IA-32 (1075571)
Текст из файла
ОглавлениеАннотация....................................................................................................................................41 Вычислительные системы на базе ПРОЦЕССОРов i8086 – IA-32.....................................51.1 Архитектура «с общей шиной»....................................................................................................51.2 Процессор i8086............................................................................................................................61.2.1 Структурная схема процессора........................................................................................................61.2.2 Организация основной памяти ВС на базе процессоров i8086 ...................................................81.2.3 Выполнение программы ................................................................................................................111.3 Программная модель процессора IA-32....................................................................................131.3.1 Регистры общего назначения ........................................................................................................141.3.2 Режимы адресации.
Схема адресации защищенного режима ...................................................151.3.3 Форматы машинных команд..........................................................................................................17Контрольные вопросы.....................................................................................................................212 Основы программирования на ассемблере с использованием транслятора MASM32....222.1 Структура программы на языке ассемблера.............................................................................222.2 Директивы определения полей памяти для размещения данных...........................................252.3 Операнды команд ассемблера....................................................................................................282.4 Команды пересылки / преобразования данных........................................................................31Контрольные вопросы.....................................................................................................................373 Команды передачи управления.
Основные приемы программирования .........................383.1 Команда безусловного перехода (аналог GOTO).....................................................................383.2 Команды условного перехода ...................................................................................................403.2.1 Программирование ветвлений ......................................................................................................413.2.2 Программирование итерационных циклов (цикл-пока) ............................................................423.3 Команды организации циклической обработки.
Организация счетных циклов ...................433.4 Команда загрузки исполнительного адреса..............................................................................453.4.1 Обработка одномерных массивов ................................................................................................463.4.2 Обработка матриц...........................................................................................................................473.5 Команды обработки строк..........................................................................................................49Контрольные вопросы.....................................................................................................................5124 Более сложные машинные команды ассемблера.................................................................524.1 Команды манипулирования битами..........................................................................................524.2 Организация ввода – вывода в консольном режиме ...............................................................53Контрольные вопросы.....................................................................................................................59Литература.................................................................................................................................60Оглавление3МГТУ им.
Н.Э. БауманаФакультет «Информатика и Системы Управления»Кафедра ИУ-6 «Компьютерные системы и сети»ИВАНОВА ГАЛИНА СЕРГЕЕВНА,НИЧУШКИНА ТАТЬЯНА НИКОЛАЕВНАОсновы программирования на ассемблере IA-32Учебное пособиеМОСКВА2010 год МГТУ им. БауманаОглавление4АннотацияНастоящее учебное пособие ориентировано на студентов, начинающих изучатьосновы программирования на 32-х разрядном ассемблере с использованием транслятораMASM32. Оно содержит необходимые сведения об архитектуре процессоров фирмы Intel, информацию о структуре программы на ассемблере и основных директивах, а такжесведения о форматах машинных команд и правилах их записи в ассемблере. Кроме этогов пособии обсуждаются некоторые приемы программирования на ассемблере, такие какпрограммирование ветвлений, организация циклов разного вида и принципы программирования обработки массивов и матриц.
Приведены также форматы и примеры использования некоторых команд API, предназначенных для организации ввода-вывода в консольном режиме Windows.Пособие предназначено для студентов 2 курса кафедры Компьютерные системы исети, изучающих дисциплину Системное программное обеспечение.Оглавление51 ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ НА БАЗЕ ПРОЦЕССОРовi8086 – IA-321.1Архитектура «с общей шиной»Архитектурой вычислительной системы (ВС) называют совокупность основныххарактеристик системы, определяющих особенности ее функционирования.ВС с процессорами Intel строится на базе архитектуры с общей шиной (см. рисунок1). При этой архитектуре процессор соединяется со всеми остальными устройствами через общие шины управления, адреса и данных.Рисунок 1 – Архитектура с общей шинойОчевидным недостатком такой архитектуры является невозможность одновременной обработки запросов на передачу информации от разных устройств.
Все запросы обрабатываются системной шиной последовательно, что может существенно замедлять обработку. В настоящее время этот недостаток преодолевается увеличением рабочей частоты системной шины до 1.6 ГГц.Оглавление61.2Процессор i80861.2.1 Структурная схема процессораРодоначальником современного семейства процессоров фирмы Intel является процессор i8086. На рисунке 2 представлена структурная схема этого процессора. В его состав входят: устройство управления (УУ), арифметико-логическое устройство (АЛУ),блок преобразования (формирования) адресов и регистры.Рисунок 2 – Структура процессора i8086УУ дешифрирует коды команд и формирует необходимые управляющие сигналы.АЛУ осуществляет необходимые арифметические и логические преобразования данных.В блоке преобразования адресов формируются физические адреса данных, расположенных в основной памяти.
И, наконец, регистры используются для хранения управляющейинформации: адресов и данных.Оглавление7Всего в состав микропроцессора i8086 входят четырнадцать 16-ти битовых регистров, каждый из которых может иметь специальное назначение, описанное далее:а) четыре регистра общего назначения (называемые также регистрами данных):AX – регистр-аккумулятор,BX – базовый регистр,СХ – счетчик,DX – регистр-расширитель аккумулятора;б) три адресных регистра, которые должны использоваться для хранения частейадреса данных или применяется соответствующая команда:SI – регистр индекса источника,DI – регистр индекса результата,BP – регистр-указатель базы;в) три управляющих регистра:SP – регистр-указатель стека,IP – регистр-счетчик команд,Flags – регистр флагов;г) четыре сегментных регистра:CS – регистр сегмента кодов,DS – регистр сегмента данных,ES – регистр дополнительного сегмента данных,SS – регистр сегмента стека.Оглавление81.2.2 Организация основной памяти ВС на базе процессоров i8086Минимальной адресуемой единицей основной памяти является байт, состоящий из8 бит.
Адресовать отдельно бит нельзя. Если необходимо получить доступ к определенному биту, то сначала ищется соответствующий байт, а затем уже в нем – нужный бит.Номер байта является его физическим адресом в устройстве памяти.Для размещения программ и данных в основной памяти выделяются специальныеобласти – сегменты. Сегмент при 16-ти разрядной адресации – фрагмент памяти, начинающийся с адреса кратного 16 и имеющий размер от 1 байта до 64 Кб.Следовательно, базовый адрес сегмента всегда содержит в 4-х младших разрядахнули. Старшая часть адреса сегмента без последних четырех нулей называется сегментным адресом и хранится в одном из 4-х сегментных регистров. При этом каждый сегментный регистр используется для хранения адреса определенного сегмента:♦СS – сегмента кодов, т.е. собственно программы;♦DS, ES – сегмента данных;♦SS – сегмента стека.Физический адрес любых данных в памяти формируется из 16-ти битового смещения и 16-ти битового сегментного адреса по специальной схеме.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.