Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 6 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.

Презентация:



Advertisements
Похожие презентации
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 7 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Advertisements

Архитектура ЭВМ Практика 4. Программы с ветвлениями.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 4 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 2 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 3 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Архитектура ЭВМ Практика 5. Программирование циклов.
Циклы в языке Ассемблер.. Цикл со счетчиком Цикл со счетчиком можно организовать с помощью конструкций IF и GOTO. В нашем примере тело цикла должно повторяться.
Учебный курс Принципы построения и функционирования ЭВМ Лекция 11 Микрокоманды и микрооперации профессор ГУ-ВШЭ, доктор технических наук Геннадий Михайлович.
Организация циклов в Ассемблере. Цикл – это многократно повторяющаяся последовательность операторов.
Директивы сегментации. Упрощенные директивы сегментации. Лекция доцента кафедры ИВТ ГрГУ кандидата технических наук Ливак Е.Н.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 1 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Ф ОРМАТ КОМАНДЫ ПРОЦЕССОРА I NTEL С АРХИТЕКТУРОЙ IA-32.
С ИСТЕМА КОМАНД ЕОМ. С ТРУКТУРА ТА ФОРМАТИ КОМАНД.
Определение констант для размещения их компилятором в составе инструкций языка Определение числовых констант: имя = значение PI= V_size = 5 M_size.
Тема 2. Операторы (инструкции) передачи управления. Условный оператор (инструкция) и его формы. Логические выражения и логические переменные. Составные.
Системное программное обеспечение Кыргызско – Российский Славянский Университет Кафедра ИВТ, 3-й курс ИВТ, 5 семестр Лекция 9.
Языки программирования. Алгоритмические (указаны действия, которые надо выполнять) Декларационные (не указано, как выполнять действия; есть исходные данные.
Глава 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ Оператор присваивания Простой и составной операторы Условный оператор Оператор множественного выбора Оператор цикла с предусловием.
Язык ASSEMBLER Команды пересылки данных Лекция доцента кафедры ИВТ ГрГУ кандидата технических наук Ливак Е.Н.
Программирование на языке низкого уровня Ассемблер.
Транксрипт:

Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 6 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов к.т.н., доцент Красов Андрей Владимирович директор УИЦ ИТТ, доцент кафедры ИБТС Куратор специальности «Защищенные системы связи» Автор курса

Все команды передачи управления можно разделить на группы: безусловная передача управления; безусловный переход; вызов и возврат из процедуры; вызов и возврат из программных прерываний; условная передача управления; переход по результатам сравнения; переход по состоянию флага; переход по состоянию регистра ecx/cx; команды управления циклами; цикл со счетчиком ecx/cx; цикл со счетчиком ecx/cx с возможностью выхода из цикла по дополнительному условию. При организации переходов используются метки. Метка в ассемблере имеет следующие атрибуты: имя сегмента; смешение; тип метки. Тип метки может принимать следующие значения: near – адрес метки определен только в пределах сегмента; far- адрес метки определен полным адресом. Метка может быть заданна двумя способами: оператором «:» (только для меток типа near); ключевым словом label. Формат задания меток с помощью ключевого слова label, приведен на рис Команды передачи управления Рис Структура создания меток

Команда безусловного перехода переходит к оператору программы, помеченному указанной меткой. Синтаксис команды безусловного перехода: jmp [модификатор] адрес перехода. Модификатор позволяет преобразовать адрес перехода к определенному типу. Использование режима short ptr позволяет реализовать переходы не более чем на 127 байт вниз и не более чем на 128 байт вверх (диапазон числа типа short – ). Этот режим соответствует двух байтному варианту команды jmp. Прямой вариант команды jmp позволяет организовать переходы в пределах 64Кбайт вверх и вниз по программе. Косвенный переход. При косвенном переходе в команде jmp задается адрес переменной в которой содержится адрес перехода. Пример: Безусловные переходы L1: jmp short ptr L1 ; короткий переход L2: jmp L2 ; прямой переход L3: lea bx, L3 jmp bx ; адрес перехода содержится в регистре bx.data label4dw L4.code jmp label4 ; адрес перехода содержится в переменной label4 seg_1segment … jmpfar ptr L4 … seg_1ends seg_2segment … L4label far … seg_2ends Команда межсегментного перехода. В этом случае адрес задается значением типа far и имеет длину 5 байт. Пример:

Условные переходы Процессор поддерживает 18 команд организации перехода в зависимости от условий. Сравнение операндов осуществляется с помощью команды cmp. Формат команды: cmp операнд1, операнд2 Результаты сравнения записываются в регистр флагов. Команда перехода осуществляет переход на метку, в зависимости от значения регистра флагов установленные командой cmp. Команды перехода приведены в табл.6.1. Таблица 6.1. Команды условного перехода Кроме этого процессор поддерживает группу команд перехода в зависимости от значения регистров флагов. Команды условного перехода представлены в табл Таблица 6.2. Команды условного перехода Еще одной возможностью организации перехода является контроль значения регистра ecx/cx. Синтаксис команды: jcxz метка перехода, jecxz метка перехода. Команда jcxz осуществляет переход если cx = 0, команда jecxz осуществляет переход если ecx = 0.

Приведенные выше команды условных переходов позволяют организовать циклы. Однако в языке ассемблера для организации циклов предусмотрены специальные команды, представленные в таблице 6.3. Организация циклов Таблица 6.3. Команды организации циклов Регистр ecx/cx используется при организации циклов в качестве служебного.