- •Практическая работа №6
- •Краткие теоретические сведения
- •Сегментирование памяти
- •Адресация байтов и слов
- •Методы адресации
- •Неявная адресация
- •Непосредственная адресация
- •Регистровая адресация
- •Косвенная регистровая (базовая) адресация
- •Косвенная регистровая (базовая) адресация со смещением
- •Косвенная базовая индексная адресация
- •Косвенная базовая индексная адресация со смещением
- •Примеры решения задач:
- •Абсолютная прямая адресация
- •Относительная прямая адресация
- •Задание на практическую работу:
- •1. Реализация программы, использующей различные режимы адресации:
- •2. Реализация программы, использующей различные режимы адресации:
- •3. Реализация программы, использующей различные режимы адресации:
- •4. Реализация программы, использующей различные режимы адресации:
- •Содержание отчета по практической работе:
Задание на практическую работу:
1. Реализация программы, использующей различные режимы адресации:
Составить программу согласно условию:
В сегменте данных задана последовательность чисел X: 0, 1, 2, 3, 5, 6, 10. Скопировать ее в последовательность Y, при этом увеличив каждый из элементов на 2.
Транслировать ассемблерный код. В случае нахождения ошибок – устранить их и повторить трансляцию.
Скомпоновать программу редактором связей.
Запустить программу в отладчике, в случае обнаружения ошибок в работе программы исправить их, повторить п.п.2, 3
Показать работу программы преподавателю.
2. Реализация программы, использующей различные режимы адресации:
Узнать у преподавателя вариант работы.
Составить программу согласно условию и варианту (таблица 6.1):
В сегменте данных определен массив символов (строка). Выполнить заданное действие согласно заданному условию. Вывести на экран исходный и преобразованный массив.
Символы содержатся в памяти как числа (см. приложение «ASCII коды»). Таким образом, к символам применимы все те операнды и условия, что и для чисел.
Для определения нижней границы массива (или количества элементов массива) можно использовать команду LEA для определения адреса следующей переменной сегмента данных.
Транслировать ассемблерный код. В случае нахождения ошибок – устранить их и повторить трансляцию.
Скомпоновать программу редактором связей.
Запустить программу в консольном режиме, в случае обнаружения ошибок в работе программы исправить их, повторить п.п.2,3
Показать работу программы преподавателю
Таблица 6.1 - данные для реализации согласно варианту
Вариант |
Исходная сторока |
Условие |
Действие |
1 |
I like read this book! |
= « » |
заменить на «_» |
2 |
I like read this book! |
> “i” |
заменить на «*» |
3 |
I like read this book! |
>= “i“ |
заменить на «!» |
4 |
I like read this book! |
< “p” |
увеличить код символа на 5 |
5 |
My favorite film is … |
<= “m” |
увеличить код символа на 2 |
6 |
My favorite film is … |
≠ “i” |
увеличить код символа на 1 |
7 |
My favorite film is … |
= «i» |
уменьшить код символа на 5 |
8 |
My favorite film is … |
> “o” |
уменьшить код символа на 3 |
9 |
I understand this problem. |
>= “ “ |
уменьшить код символа на 1 |
10 |
I understand this problem. |
< “e” |
заменить на «_» |
3. Реализация программы, использующей различные режимы адресации:
Составить программу согласно условию:
Задан массив чисел. Определить есть ли в нём число 10.
Массив заполнить произвольными данными.
Транслировать ассемблерный код. В случае нахождения ошибок – устранить их и повторить трансляцию.
Скомпоновать программу редактором связей.
Запустить программу в отладчике, в случае обнаружения ошибок в работе программы исправить их, повторить п.п.2, 3
Показать работу программы преподавателю.
