- •Лабораторная работа № 1
- •Основные понятия Архитектура эвм и ее структурная схема
- •Центральный процессор
- •Оперативная память
- •Представление данных
- •Содержание работы
- •Лабораторная работа № 2
- •Основные понятия
- •Запуск отладчика
- •Команды программы debug
- •Команда ассемблирования (перевод мнемокода ассемблера в машинный код)
- •Команда дизассемблирования (перевод машинного кода в мнемокод ассемблера)
- •Команда ввода данных в память
- •Команда вывода содержимого участка памяти на экран
- •Команда просмотра и изменения содержимого регистров
- •Мнемонические обозначения состояний флагов
- •Команда пошагового выполнения программы
- •Команда задания имени файла программы
- •Команда загрузки файла в память
- •Команда записи области памяти в файл
- •Команда выхода из отладчика
- •Содержание работы
- •Варианты заданий
- •Основные понятия Теоретические основы адресации памяти в реальном режиме
- •00000H [физический адрес] ffffFh.
- •Режимы адресации
- •Непосредственная адресация
- •Прямая адресация
- •Косвенная адресация
- •Адресация по базе
- •Индексная адресация
- •Базово-индексная адресация
- •Форматы команд
- •Содержание работы
- •Задачи к выполнению лабораторной работы
- •Варианты заданий
- •Арифметические команды
- •Основные понятия
- •Мнемоника арифметических команд
- •Задачи к выполнению лабораторной работы
- •Команды поразрядной обработки данных
- •Основные понятия
- •Мнемоника команд поразрядной обработки данных
- •Задачи к выполнению лабораторной работы
- •Варианты заданий
- •Команды передачи управления
- •Основные понятия
- •Мнемоника команд передачи управления
- •Команды управления циклами (loop, loope, loopz, loopne, loopnz) имеют следующие форматы в мнемонике ассемблера:
- •Задачи к выполнению лабораторной работы
- •Варианты заданий
- •Команды обработки строк
- •Основные понятия
- •Мнемоника команд обработки строк
- •Задачи к выполнению лабораторной работы
- •Варианты заданий
- •Описание команд программы debug
- •Библиографический список
Режимы адресации
Набор команд процессоров фирмы Intel обеспечивает выполнение операций над операндами, которые находятся в регистрах, памяти и непосредственно в команде. В набор входят безадресные, которые не имеют операндов, одно- и двухадресные команды (по количеству операндов). Для одноадресных команд операнд может располагаться в регистре или в памяти. Для двухадресных команд возможны следующие схемы расположения операндов:
– регистр — регистр;
– регистр — память;
– память — регистр;
– регистр — непосредственные данные;
– память — непосредственные данные.
Существует несколько способов задания операндов команд процессора, которые обычно называют режимами адресации. Эти способы содержат конкретное указание процессору откуда брать или куда помещать данные. В частности для операндов, находящихся в памяти, режимы адресации определяют правила формирования логического адреса данных.
Рассмотрим следующие режимы адресации реального режима:
– регистровая адресация;
– непосредственная адресация;
– прямая адресация;
– косвенная адресация;
– адресация по базе;
– индексная адресация;
– базово-индексная адресация.
В табл. 3.1 приведены форматы операндов языка ассемблера для всех семи режимов адресации, реализуемых процессором в реальном режиме, и для каждого формата указано, какой из сегментных регистров по умолчанию используется для вычисления физического адреса. Обратите внимание, что во всех режимах предполагается доступ к сегменту данных (т.е. сегментным регистром служит регистр DS), и только в тех случаях, когда используется регистр ВР, предполагается доступ к сегменту стека (т.е. сегментным регистром служит регистр SS).
Таблица 3.1
Форматы операндов
Режим адресации |
Формат операнда |
Сегментный регистр |
Регистровый |
AL, AH, AX BL, BH, BX CL, CH, CX DL, DH, DX SP BP SI DI |
Не используется |
Непосредственный |
Данное |
Не используется |
Окончание табл. 3.1
Режим адресации |
Формат операнда |
Сегментный регистр |
Прямой |
Сдвиг Метка |
DS DS |
Косвенный |
[BX] [BP] [DI] [SI] |
DS SS DS DS |
По базе |
[BX + сдвиг] [BP + сдвиг] |
DS SS |
Индексная |
[DI + сдвиг] [SI] + сдвиг |
DS DS |
Базово-индексная |
[BX + SI + сдвиг] [BX + DI + сдвиг] [BP + SI + сдвиг] [BP + DI + сдвиг] |
DS DS SS SS |
Регистровая адресация
В данном режиме процессор принимает данные из регистра или помещает данные в регистр. При этом данные могут быть восьмиразрядными (в этом случае используются 8 восьмиразрядных регистров общего назначения: AL, AH, BL, BH, CL, CH, DL и DH), а также шестнадцатиразрядными (используются 8 шестнадцатиразрядных регистра общего назначения: AX, BX, CX, DX, SP, BP, SI, и DI).