Задания по лабораторной работе

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И РОБОТОТЕХНИКИ

КАФЕДРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И АВТОМАТИЗИРОВАННЫХ СИСТЕМ

Отчет

По лабораторной работе № 3

Адресация данных в Assemblerе. Организация памяти.

По дисциплине

«Языки программирования (Assembler)»

Исполнители:   Студенты группы 107212,    
Преподаватель:   А. А. Несенчук

Минск, 2013

Цель работы

Изучение режимов адресации операндов языка Assembler и организации памяти.

Краткие теоретические сведения

Режимы адресации операндов:

1. Регистровая адресация

2. Непосредственная адресация

3. Прямая адресация

4. Косвенная регистровая адресация

5. Адресация по базе

6. Прямая адресация с индексированием

7. Адресация по базе с индексированием

Регистровая адресация – способ адресации, когда операнд извлекается из регистра или загружается в регистр.

Непосредственная адресация – это адресация когда, в качестве операнда источника указывается 8 или 16 битовое значение операнда.

Прямая адресация – это когда исполнительный адрес является составной частью программы. В качестве операнда обычно используется идентификатор.

Косвенная регистровая регистрация – это когда в качестве операнда источника или операнда приемника используется его исполнительный адрес, который содержится в одном из регистров, которые могут использоваться для адресации.

Адресация по базе - это вид адресации при которой исполнительный адрес вычисляется путем сложения содержимого регистра BX и BP и некоторого сдвига.

Прямая адресация с индексированием – это вид адресации, когда исполнительный адрес вычисляется как сумма значений и содержимого индексного регистра.

Адресация по базе с индексированием – это вид адресации, при котором исполнительный адрес вычисляется как сумма содержимого базового и индексного регистров.

Задания по лабораторной работе

Задание 1

Написать программу сложение двух чисел А1 и А2, расположенных в ОП относительно начала сегмента данных, соответственно по адресам А1- 30h и A2- 20h. Результат сложения этих чисел поместить в память начиная с адреса 10h относительно начала сегмента данных ds. Числа имеют 32 двоичных разряда.

А1=12345678h

A2=9ABCDEF0h

Основные этапы выполнения задания:

1. Занести числа А1 и А2 по соответствующим заданным адресам, используя косвенную регистровую адресацию операндов.

2. Извлечь младшие байты чисел в регистры РОН

3. Выполнить сложение чисел

4. Поместить сумму чисел по указанному адресу

5. Осуществить трансляцию и компиляцию программы, выполнить пошаговую отладку программы в отладчике TD, проконтролировать выполнение программы по состоянию дампа памяти и регистра на каждом шаге выполнения. Особое внимание обратить на регистр флагов и влаг переноса CF.

Наши рекомендации