Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лр№5 Арифметич команды_передел.doc
Скачиваний:
15
Добавлен:
01.03.2025
Размер:
111.62 Кб
Скачать

Министерство образования Республики Беларусь

Учреждение образования «Витебский государственный политехнический колледж»

УТВЕРЖДАЮ

Зам. директора по учебной работе

____________ З.В. Блажевич

« ___ » ____________ 20__ г.

Микропроцессорная техника

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

Система команд CPU i8086. Арифметические команды. Влияние на флаги.

по специальности 2-40 01 01

«Программное обеспечение информационных технологий»

Витебск

2009

Разработана Иваненко Е.С., преподавателем спецдисциплин.

Рассмотрено и одобрено на заседании цикловой комиссии информатики и программирования.

Протокол № __ от « __ » _____________ 20 __ г.

Председатель ЦК ___________ А.С. Шандриков

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

Тема: «Система команд CPU Intel 8086. Арифметические команды. Влияние на флаги»

Цель работы:

- Приобрести практические навыки по применению арифметических команд;

- Закрепить навыки по отладке программ с помощью отладчика AFD на языке Ассемблера.

Оборудование:

Методические рекомендации по выполнению работ, ПК, программа-отладчик AFD.

1. Программа работы

1. Повторить теоретический материал по теме «Система команд. Арифметические команды».

2. Исследовать арифметические команды:

  1. Вызвать программу-отладчик AFD.

  2. На запрос “Press any key to continue” нажать любую клавишу.

  3. Вернуть курсор в поле 4, нажав клавишу F8 (дважды). По адресам DS:0010 и DS:0020 записать 0.

  4. Перейти в поле 2, нажав клавишу F7. Ввести команду: D 100 (ввод).

  5. Ввести команду ассемблирования: А (ввод).

  6. Ввести фрагмент программы в соответствии с таблицей 1. Предварительно изменив операнды команд 1 и 2 в соответствии с вариантом.

Таблица 1.

Шаг

Адрес

Код команды

Команда

Операнды

Комментарии

1

0100

В820000

MOV

AX, 0020

AX:=20h

2

0103

С606100002

MOV

[10], 02

[10]:=2

3

0108

03061000

ADD

AX, [10]

AX:=AX+[10]

4

010С

А32000

MOV

[20], AX

[20]:=AX

5

010F

СС

INT3

Остановка

Варианты задания

Число, записываемое в

Вариант

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

AX

1F

A2

30

B1

34

90

B5

2F

4B

C3

F9

5D

E3

87

5F

[0010]

02

04

03

01

10

06

12

07

17

05

13

08

14

09

15

  1. После ввода фрагмента программы, выйти из режима ассемблирования, нажав Ctrl+Enter.

  2. Ввести D 100 (ввод).

  3. Выполнить фрагмент программы в пошаговом режиме, многократно нажимая клавишу F2, и фиксируя на каждом этапе состояние памяти по относительным адресам DS:0010,DS:0020 и в регистре AX. Результаты занести в таблицу 2.

  4. Изменить команду шага 3 таблицы 1 на следующую из списка 1. Предварительно обнулить регистр AX и ячейки памяти по относительным адресам DS:0010 и DS:0020. Повторить все с пункта 5.

Список 1

ADD AX, [10]

INC[10]

DEC [10]

DIV [10]

ADD [10], AX

DEC AX

MUL AX

IDIV [10]

NEG AX

IMUL [10]

MUL [10]

SUB [10], AX

INC AX

SUB AX, [10]

IMUL AX

DEC AX

Таблица 2

Результат в

ADD AX,[10]

ADD [10],AX

NEG AX

INC AX

INC [10]

DIV AX

IMUL [10]

SUB AX,[10]

AX

0010

0020

SF

ZF

CF

Результат в

MUL AX

MUL [10]

IMUL AX

DIV [10]

IDIV [10]

SUB [10],AX

DEC AX

DEC [10]

AX

0010

0020

SF

ZF

CF

  1. Ввести фрагмент программы, составленный в соответствии с вариантом домашнего задания, и выполнить его в пошаговом режиме, фиксируя в графе «комментарии» состояние изменившегося регистра или ячейки памяти.

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

  1. Название и цель работы.

  2. Фрагмент программы в таблице 1. Таблица 2 с результатами работы.

  3. Фрагмент программы домашнего задания, оформленный в виде таблицы 1 с результатами каждого шага, записанными в графе «комментарии».

  4. Вывод о проделанной работе.