Иванова Г.С., Ничушкина Т.Н. - Основы программирования на ассемблере IA-32
Описание файла
PDF-файл из архива "Иванова Г.С., Ничушкина Т.Н. - Основы программирования на ассемблере IA-32", который расположен в категории "". Всё это находится в предмете "языки интернет-программирования" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
ОглавлениеАннотация....................................................................................................................................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-ти битового сегментного адреса по специальной схеме.