
- •Дагестанкий государтвенный технический университет
- •Махачкала 1997 г.
- •Лабораторная работа №1
- •1.1.Создание выполнимого файла, работа в отладчике, изучение оператора пересылки mov.
- •1.2. Оператор mov.
- •1.3. Основные команды отладчика afd.
- •1.4. Индивидуальные задания.
- •2.1. Сегментация памяти, директивы ассемблера
- •2.2. Прямая адресация
- •2.3. Косвенная адресация
- •2.4. Директива assume
- •2.5. Индивидуальные задания
- •Лабораторная работа №3
- •3.1. Директивы equ, label, команды сложения и вычитания
- •3.1.1. Директивы equ
- •3.1.2. Директива label
- •3.2. Команды сложения и вычитания
- •3.3. Индивидуальные задания Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •3.4. Примечание
- •Лабораторная работа №4
- •4.1. Изучение операторов обмена xchg и xlat
- •. Индивидуальные задания Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •4.3. Приложение
- •Литература
- •Оглавление
- •Хачумов Вячbслав Михайлович Исмаилов Шейх-Магомед Абдулаевич Лагиева Марият Тагировна
Вариант 4.
Написать программу, в которой в сегменте данных резервируются:
Пять слов со значениями: 4516Н, 2221Н, А212Н, 1С10Н, 6115Н.
Цепочка символов “кмпотхд”.
Три байта без инициализации и один со значением ‘$’.
Программа выполняет следующие действия:
Инициализирует сегмент регистр DS.
Из второго слова последовательности (1) вычитает четвертое слово этой последовательности, старший байт результата записывает в первый байт последовательности (3).
Третье слово последовательности (1) складывает с пятым словом этой последовательности, от младшего байта полученного результата вычитается значение 11 и результат записывается в третий байт последовательности (3). Старший байт результата заносится во второй байт последовательности (3).
В регистр SI заносится значение адреса последовательности (2), в регистр ВХ – значение адреса (3), затем осуществляется обмен содержимым этих регистров.
Используя адрес, хранящийся в SI (косвенную адресацию), три байта последовательности (3) перекодировать, в качестве таблицы перекодировки взять последовательность символов (2).
Перекодированную последовательность вывести на экран, а результат наблюдать в отладчике в альтернативном окне. Вывод на экран строки символов см. приложении.
Вариант 5.
Написать программу, в которой в сегменте данных резервируются:
Пять слов со значениями: 4576Н,27F0Н, 3FF1Н, 77F1Н, 3716.
Цепочка символов “кмпотхд”.
Три байта без инициализации и один со значением ‘$’.
Программа выполняет следующие действия:
Инициализирует сегмент регистр DS.
Из четвертого слова последовательности (1) вычитает второе слово этой последовательности, младший байт результата записывается в третий байт последовательности (3), старший байт результата, уменьшенный на 4D, записывает во второй байт последовательности (3).
Пятое слово последовательности (1) складывает с третьим словом этой последовательности, младший байт полученного результата записывает в первый байт последовательности (3).
В регистр SI заносится значение адреса последовательности (2), в регистр ВХ – значение адреса (3), затем осуществляется обмен содержимым этих регистров.
Используя адрес, хранящийся в SI (косвенную адресацию), три байта последовательности (3) перекодировать, в качестве таблицы перекодировки взять последовательность символов (2).
Перекодированную последовательность вывести на экран, а результат наблюдать в отладчике в альтернативном окне. Вывод на экран строки символов см. приложении.
Вариант 6.
Написать программу, в которой в сегменте данных резервируются:
Пять слов со значениями: 1F5Н, А781Н, СF84Н, С0А4Н, А483Н.
Цепочка символов “кмпотхд”.
Три байта без инициализации и один со значением ‘$’.
Программа выполняет следующие действия:
Инициализирует сегмент регистр DS.
Из третьего слова последовательности (1) вычитает пятое слово этой
последовательности, младший байт результата записывает во второй байт последовательности (3).
Первое слово последовательности (1) складывает с четвертым словом этой последовательности, от старшего байта полученного результата вычитается значение С2Н и записывает в первый байт последовательности (3), младший байт результата уменьшенный на 95 заносится в третий байт последовательности (3).
В регистр SI заносится значение адреса последовательности (2), в регистр ВХ – значение адреса (3), затем осуществляется обмен содержимым этих регистров.
Используя адрес, хранящийся в SI (косвенную адресацию), три байта последовательности (3) перекодировать, в качестве таблицы перекодировки взять последовательность символов (2).
Перекодированную последовательность вывести на экран, а результат наблюдать в отладчике в альтернативном окне. Вывод на экран строки символов см. приложении.