Порядок выполнения работы

1. Повторить команды сложения (ADD и ADC), сравнения (CMP) и сохранения флагов (LAHF).

2. Составить программу, состоящую из трех частей. В первой части сложить первое и второе числа из последовательности входных данных в соответствии с вариантом и посмотреть состояние флагов. Во второй части сравнить 2 и 3, 2 и 4, 3 и 4 числа из последовательности и также посмотреть состояния флагов после каждого сравнения. Тип данных и используемые регистры выбрать самостоятельно, обосновав выбор:

№ варианта Входные данные
  240, 40, 32, 40
  -600, 20, 10, 20
  31100, 2010, 50, 2010
  3015, 105, 100, 105
  250, -40, 5, -40
  60000, 6000, 20, 6000
  -100, 50, 100, 50
  200, 70, 150, 70
  2000, 150, 200, 150
  100, 180, 200, 180

3. Набрать программу.

4. Откомпилировать и отладить программу.

5. Оформить отчет.

Содержание отчета

Отчет должен содержать:

1. Вариант задания.

2. Текст программы.

3. Содержание регистров после выполнения операции сложения и результат сложения в шестнадцатиричном, двоичном и десятичном виде.

4. Содержание регистра АН в шестнадцатиричном и двоичном виде и состояние флагов после каждого выполнения команды LAHF.

Контрольные вопросы

1. Какие команды пересылки флагов вы знаете?

2. Какие команды сложения вы знаете?

3. Что из себя представляет команда сравнения СМР?

4. Какими способами можно узнать состояние флага CF?

5. Что означают состояния флагов?


Лабораторная работа № 5

Способы адресации

Цель и задачи исследования

Целью работы является изучение структуры контекста процесса. Задачами работы является приобретение навыков трансляции и отладки программ под управлением отладчика DEBUG.

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

Смещение, которое вычисляется операционным блоком для доступа к находящемуся в памяти операнду, называется исполнительным адресом (ИА) операнда.

Типы адресации и их форматы представлены в таблице [6, 7].

Таблица

Тип адресации Формат Пример
1. Регистровая регистр, регистр MOV AX,CX
2. Непосредственная регистр, значение MOV CL,500
3. Прямая регистр, ИА регистр, ИА+С T DB 5, 4 .... MOV AL,T
4. Косвенная регистровая регистр, [BX] регистр, [BP] регистр, [SI] регистр, [DI] T DB 5 Т1 DB 4 ..... MOV BX,OFFSET T MOV AL,[BX] MOV BX,OFFSET T1 MOV AL,[BX]
5. По базе регистр, [BX]+С регистр, [BP]+С T DB 5,4 ... MOV BX,OFFSET T MOV AL,[BX] MOV AL,[BX]+1
6. Прямая с индексированием регистр, ИА[DI] регистр, ИА[SI] TABL DB 5,4,3,2 ... MOV DI,2 MOV AL,TABL[DI]
7. По базе с индексированием регистр, [БР+ИР+С] T DB 5,4,3,2,1 .... MOV DI,1 MOV BX,OFFSET T MOV AL,[BX+DI+2] MOV AL,[DI+BX+2] MOV AL,[BX+2][DI] MOV AL,[BX][DI+2]

Примечания: 1. Условные обозначения

БР - базовый регистр,

ИР - индексный регистр,

С – сдвиг,

ИА – исполняемый адрес.

2. [BX] и т.п. - значение регистра.

3. Данные описываются в сегменте данных, команды находятся в сегменте команд.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: