- •Магомедов и. А. Микропроцессорные системы. Аппаратные и программные средства.
- •Глава 1. Микропроцессоры
- •Глава II. Программирование микропроцессоров
- •Глава III. Лабораторный практикум по программированию мп i80х86
- •Глава 1. Микропроцессоры
- •1.1. Назначение микропроцессоров
- •1.2. Универсальные микропроцессоры
- •1.2.2. Микропроцессоры компании amd
- •1.2.3. Микропроцессоры компании Cyrix
- •1.2.4. Микропроцессоры с архитектурой Alpha
- •1.2.5. Микропроцессоры с архитектурой sparc
- •1.2.6. Микропроцессоры Hewlett-Packard ра-8000
- •1.3. Микропроцессоры обработки сигналов
- •1.3.1. Сигнальные микропроцессоры компании
- •1.3.2. Сигнальные микропроцессоры компании Motorola
- •1.3.3. Микропроцессоры семейства dsp 560хх
- •1.4. Медийные микропроцессоры
- •1.5. Транспьютероподобные микропроцессоры
- •1.6. Нейропроцессоры
- •Глава II. Программирование микропроцессоров
- •2.1. Программная модель 32-разрядных процессоров
- •2.1.2. Типы данных
- •2.1.3. Регистры процессора
- •2.2. Форматы команд
- •2.3. Выбор операнда
- •2.4. Режимы адресации
- •Вопросы для самоконтроля к главе 2
- •Глава III. Лабораторный практикум по программированию мп i86
- •Обобщенная структурная схема микропроцессора х86
- •Организация основной памяти и средства аппаратной поддержки управления памятью
- •Выполнение программы
- •Формат операторов ассемблера
- •Определение полей памяти для размещения данных.
- •3.2. Операнды команд ассемблера
- •Команда пересылки данных
- •Команда загрузки исполнительного адреса
- •Команды загрузки указателя.
- •Команда записи в стек
- •Команда обмен данными
- •Команды сложения/ Команды вычитания
- •Команда изменения знака
- •Команда добавления /вычитания единицы
- •Команда сравнения
- •Команды умножения/ деления
- •Команда преобразования байта в слово, а слова - в двойное слово.
- •Команды передачи управления
- •Команды условного перехода
- •Команды организации циклической обработки
- •Команда перехода по обнуленному счетчику
- •Команды организации цикла с условием
- •Команды вызова подпрограмм
- •Команда возврата управления
- •Команды обработки строк
- •Логические команды
- •2. Программирование циклических процессов.
- •3. Моделирование одномерных массивов
- •4. Моделирование матриц
- •5. Преобразования ввода-вывода.
- •3.4. Основные команды отладчика afd
- •Fspec определяет имя файла, наименованного в соответствии с соглашениями dos. Для команды l расширением по умолчанию является “exe”;
- •String задает список значений или ascii строк (строка заключена в кавычки) разделенных пробелами или запятой.
- •Например: 1234 bx, ‘tromb’ ff.
- •Лабораторная работа № 1 Создание выполнимого файла, работа в отладчике, изучение оператора пересылки mov
- •Оператор mov
- •Индивидуальные задания
- •Лабораторная работа № 2 Сегментация памяти, директивы ассемблера
- •Прямая адресация
- •Косвенная адресация
- •Директива assume
- •Индивидуальные задания
- •Лабораторная работа №.3 Директивы equ, label, команды сложения и вычитания Директива equ
- •Директива label
- •Команды сложения и вычитания
- •Индивидуальные задания Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •Лабораторная работа № 4 Изучение операторов обмена xchg и xlat
- •Индивидуальные задания Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •П1. Команды пересылки данных
- •Система команд процессораi486
- •П2. Арифметические команды
- •П3. Логические команды
- •П4. Команды переходов
- •П5. Команды процессора i486
Индивидуальные задания
1. В директории ASM (TASM) создать exe-файл SL1.EXE, используя готовый исходный текст программы из файла SL1.ASM. Для подготовки exe-файла необходимо запустить программы TASM - транслятор и TLINK - компоновщик (редактор связей). Создав exe-файл, запустите его на выполнение.
2. Запустить отладчик AFD.COM.
3. Ознакомится с командами отладчика (см. HELP, вызываемый по F4).
4. В отладчике AFD загрузить программу SL1 и выполнить ее. Результат выполнения программы посмотреть в альтернативном окне. Альтернативное окно вызывается по F6, если оно было установлено предварительно по команде < MO A ON >.
5. Заново загрузить программу и начать ее выполнение в пошаговом режиме до первой команды INT <n>. Наблюдать изменения в регистрах процессора.
6. Установить точку останова (break point) после первого оператора INT <n> . Продолжить выполнение программы до точки останова. Результат выполнения программы наблюдать в альтернативном окне.
7. Установить в программе SL1 точки останова после каждого оператора INT <n> и выполнить программу, наблюдая и комментируя результаты работы программы в альтернативном окне.
8. Записать команды и выполнить их в отладчике в пошаговом режиме:
а) занести в регистры число:
Вариант 1 |
Вариант 2 |
Вариант 3 |
Вариант 4 |
Вариант 5 |
CXß7F45h AHß124 BLß-17 |
SIßA87h BLß77 BHß-126 |
DIß3A72h AHß87h DLß- 87 |
BPß6ACDh BLß192 CHß-103 |
DXß7734h CLß184 AHß- 111 |
Вариант 6 |
Вариант 7 |
Вариант 8 |
Вариант 9 |
Вариант 10 |
AXßF4F5h CLß202 BHß-95 |
CXßE5F1h DLßA7h ALß-57 |
BXßDEA7h DHß137 ALß- 73 |
SIßDDE2h BHß171 CLß-119 |
DXßA3F9h BLß7Ah CHß-133 |
б) переслать содержимое одного регистра в другой:
Вариант 1 |
Вариант 2 |
Вариант 3 |
Вариант 4 |
Вариант 5 |
СXßDX |
CXßSI |
BXßDI |
DXßBP |
BXßDX |
Вариант 6 |
Вариант 7 |
Вариант 8 |
Вариант 9 |
Вариант 10 |
DXßCX |
SIßAX |
DXßDI |
CXßBP |
DIßSI |
в) переслать содержимое ячейки памяти с указанным адресом в регистр AL
Вариант 1 |
Вариант 2 |
Вариант 3 |
Вариант 4 |
Вариант 5 |
0025 |
00Е6 |
0036 |
0024 |
00СЕ |
Вариант 6 |
Вариант 7 |
Вариант 8 |
Вариант 9 |
Вариант 10 |
0027 |
051 |
0079 |
0017 |
003А |
По указанному выше адресу записать слово:
Вариант 1 |
Вариант 2 |
Вариант 3 |
Вариант 4 |
Вариант 5 |
3381 |
79A1 |
0036 |
0024 |
00СЕ |
Вариант 6 |
Вариант 7 |
Вариант 8 |
Вариант 9 |
Вариант 10 |
0027 |
0051 |
0079 |
0017 |
003А |
г) переслать в регистр ВХ содержимое ячейки памяти с указанным адресом
д) переслать в память слово, адресуемое указанным в скобках регистром:
Вариант 1 |
Вариант 2 |
Вариант 3 |
Вариант 4 |
Вариант 5 |
12E4®( BX) |
3AF6®(DI) |
AE37®( SI) |
E058®(BP) |
FA65®(SI) |
Вариант 6 |
Вариант 7 |
Вариант 8 |
Вариант 9 |
Вариант 10 |
33AD®(SI) |
D78®(BX) |
67A3®(DI) |
8CFE®(SI) |
C6D®(BX) |
е) инициализировать сегментные регистры:
Вариант 1 |
Вариант 2 |
Вариант 3 |
Вариант 4 |
Вариант 5 |
DS¬1C01 |
ES¬AA12 |
SS¬F12C |
DS¬ E3A4 |
SS¬CDFE |
Вариант 6 |
Вариант 7 |
Вариант 8 |
Вариант 9 |
Вариант 10 |
DS¬7A31 |
ES¬CC33 |
ES¬AC53 |
SS¬FF55 |
DS¬34E7 |
