Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчеты по лаб_ОЭВМиС.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
863.23 Кб
Скачать

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

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

Организация эвм и систем

Отчеты по лабораторным работам №1-15

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

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

Выполнил:

учащийся группы ПЗ-44 .

____________________________

(фамилия, имя, отчество)

Проверил:

преподаватель спецдисциплин

Сорока Екатерина Сергеевна

Витебск

20__

группа ПЗ- __ ФИО _________________ дата выполнения работы __________ дата сдачи ________

Отчет по лабораторной работе №8.

Тема: «Арифметические команды, методы адресации»

Цель работы: ____________________________________________________________________

____________________________________________________________________________________________________________________________________________________________________________

Вариант № __

Описание отладчика программ на языке Ассемблера - AFD.

Отладчик AFD позволяет отлаживать программы и фрагменты программ, запи­санных на языке Ассемблера. В процессе отладки AFD позволяет выполнять фрагменты программ целиком, либо в пошаговом режиме. Просматривать изменения во всех регистрах МП, флаж­ках данных в областях памяти в процессе выполнения команд программы. Вводить информацию во все регистры МП, флажки, области памяти.

Назначение основных командных клавиш программы AFD.

F1 – выполнение программы в пошаговом режиме;

F2 – STEP PROC выполнение процедур программы в пошаговом режиме «как один шаг»;

F4 – HELP вывод информации о всех возможностях и режимах работы программы;

F5 – установка контрольных точек;

F7 – перемещение курсора вверх;

F8 – перемещение курсора вниз;

F9 – перемещение курсора влево;

F10 – перемещение курсора вправо.

Основные команды AFD.

D addr (ввод) – вывод дампа памяти (поле 3) с указанного адреса;

А {addr} (ввод) – ассемблирование;

G {addr} (ввод) – всё выполнение программы;

QUIT – выход в DOS; где addr – адрес области памяти; {} – указаны необязательные параметры.

Ход работы:

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

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

Рисунок 1

  1. По адресам DS:0010 и DS:0020 (поле 4 см. рисунок 1) записать 0 (для перемещения использовать клавишу F7).

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

  3. Ввести команду ассемблирования: А (ввод). Набрать фрагмент программы (поле 3) в соответствии с таблицей 1. Предварительно изменив операнды команд 4 и 5 в соответствии с вариантом.

Таблица 1.

Шаг

Адрес

Код команды

Команда

Операнды

Комментарии

1

0100

XOR

AX,AX

Обнуление АХ

2

MOV

[10],0000

Обнуление [10]

3

MOV

[20],0000

Обнуление [20]

4

MOV

AX, ___

AX:=___

5

MOV

[10], ___

[10]:=___

6

ADD

AX, [10]

AX:=AX+[10]

7

MOV

[20], AX

[20]:=AX

8

INT3

Остановка

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

  2. В командной строке ввести D 100 (ввод) (перешли на начало программы).

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

Вариант

№ __

AX

[0010]


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

9. Изменить команду шага 6 таблицы 1 на следующую из таблицы 2. Повторить все с пункта 5.

Таблица 2

Результат

ADD AX,[10]

ADD [10],AX

SUB AX,[10]

SUB [10],AX

NEG AX

NEG [10]

INC AX

INC [10]

AX

0010

0020

SF

ZF

CF

Результат в

DEC AX

DEC [10]

IMUL AX

IMUL [10]

MUL [10]

MUL AX

IDIV [10]

DIV [10]

AX

0010

0020

SF

ZF

CF

10. Составить фрагмент программы в соответствии с вариантом индивидуального задания, набрать в отладчике, получить и записать результат.

Вариант индивидуального задания № __

Условие задачи: __________________________________________________________________

____________________________________________________________________________________________________________________________________________________________________________

Решение:

____________________________________________________________________________________________________________________________________________________________________________

___________________________________________________________________________________________________________________________________________________________________________

____________________________________________________________________________________________________________________________________________________________________________

______________________________________________________________________________________

___________________________________________________________________________________________________________________________________________________________________________

Результат: ________________________________________________________________________

Выводы: _________________________________________________________________________ ____________________________________________________________________________________________________________________________________________________________________________

Ответы на контрольные вопросы:

1. Какие элементы входят в состав программной модели МП?

2. Назначение программы-отладчика AFD.

3. Основные команды программы-отладчика AFD.

4. Назначение и формат команд MOV, INC.

5. Назначение команды NEG, LEA, XCHG.

6. Чем отличаются команды ADD и ADC?

7. Где находится второй множитель в командах умножения?

8. В каких регистрах находится результат после умножения и деления?

группа ПЗ- __ ФИО _________________ дата выполнения работы __________ дата сдачи ________

Отчет по лабораторной работе 9.

Тема: «Команды переходов и передачи управления»

Цель работы: _________________________________________________________________________

______________________________________________________________________________________

Ход работы:

Пример фрагмента разветвлённой программы (таблица 1). Пусть в области памяти, адресуемой регистром SI, находится цепочка 7-битных кодов символов, заканчивающаяся символом NULL. Старшие биты всех кодов символов нулевые, необходимо записать в старший бит каждого символа контрольный разряд чётности, а на место символа NULL=0 байт продольной чётности всего блока символов.

Таблица 1.

Адрес

Код команды

Метка

Команда

Операнды

Комментарии

1

2

3

4

5

6

0100

XOR

AH, AH

Обнулить регистр AH

0102

START:

MOV

AL, [SI]

Передать в AL код

0104

AND

AL, AL

Установить флажки

0106

JZ

EXIT

Если символ NULL конец цепочки

0108

JPE

NON

Чётное число единиц

010A

OR

AL, 80

Нет записать 1 в старший бит

010C

NON:

MOV

[SI], AL

Вернуть символ

010E

XOR

AH, AL

Учесть в контрольном байте

0110

INC

SI

Продвинуть указатель, SI:= SI+1

0111

JMP

START

Повторить цикл, переход на метку START

0113

EXIT:

MOV

[SI], AH

Записать контрольный бит

0115

INT3

Остановка

1. Записать в регистр SI число 0020. По адресам, начиная с адреса со смещением [0020] записать числа в соответствии с вариантом № ___ .

2. Ввести программу таблицы 1, учитывая, что в командах переходов вместо меток START, NON, EXIT должны быть машинные адреса команд.

3. Ввести D 100 (ввод). Выполнить программу в пошаговом режиме многократно нажимать F2.

4. Заполнить графы 1, 2 таблицы 1. Результаты зафиксировать в таблице 2.

Таблица 2.

Адреса

0020

0021

0022

0023

0024

0025

0026

0027

0028

0029

Исходное состояние

Результат

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

Вариант индивидуального задания № __

Условие задачи: __________________________________________________________________

____________________________________________________________________________________________________________________________________________________________________________

Решение и результат:

________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Выводы: _____________________________________________________________________________ ______________________________________________________________________________________________________________________________________________________________________________________

Ответы на контрольные вопросы: 1. Назначение команды безусловного перехода? 2. Какие команды переходов существуют? 3. Типы команд безусловного перехода.

группа ПЗ- __ ФИО _________________ дата выполнения работы __________ дата сдачи ________

Отчет по лабораторной работе 10.

Тема: «Программирование разветвляющегося процесса»

Цель работы: _________________________________________________________________________

______________________________________________________________________________________

Ход работы:

Познакомиться с предложенным решением задачи (таблица 1). В ячейку памяти со смещением [20] записать числа E22A и в ячейку памяти со смещением [30] записать 2B54. Сложить эти числа, затем в полученном результате маскировать 0-ем 4, 7, 9, 11 и 13-й разряды. Если окончательный результат меньше AD47, то в регистр CL записать 4F, иначе в этот регистр записать 1F.

Таблица 1

Адрес

Код команды

Метка

Команда и операнды

Комментарии

0100

MOV [20], E22A

Записать в ячейку [20] число E22A

MOV [30], 2B54

Записать в ячейку [30] число 2В54

ADD AX, [30]

Сложение чисел

AND AX, D56F

Маскирование 0-ем выделенных разрядов

CMP AX, AD47

Сравнение результата с числом AD47

JB M

Переход на метку М:, если результат меньше

MOV CL, 1F

Запись в регистр CL числа 1F

INT3

Остановка

M:

MOV CL, 4F

Запись в регистр CL числа 4F

INT3

Остановка

1. Ввести команды: D 100 (ввод) (дамп памяти с адреса100), потом команду ассемблирования: А (ввод). Ввести фрагмент программы таблицы 1, учитывая, что в командах переходов вместо меток должны быть машинные адреса команд. В процессе ввода заполнить 1, 2 колонки таблицы 1.

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

Таблица 2.

Шаг

Адрес команды

AX

CX

Флажок CF

1

2

3. Набрать D 100 (ввод). Выполнить фрагмент программы в пошаговом режиме, многократно нажимая клавишу F2 и фиксируя на каждом этапе состояние регистров АХ, СХ, флажка СF. Результаты занести в таблицу 2.

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

Вариант индивидуального задания № __

Условие задачи: __________________________________________________________________

____________________________________________________________________________________________________________________________________________________________________________

Решение и результат:

____________________________________________________________________________________________________________________________________________________________________________________

____________________________________________________________________________________________________________________________________________________________________________________

____________________________________________________________________________________________________________________________________________________________________________________

__________________________________________________________________________________________

__________________________________________________________________________________________

__________________________________________________________________________________________

__________________________________________________________________________________________

Выводы: _____________________________________________________________________________ ____________________________________________________________________________________________________________________________________________________________________________________

Ответы на контрольные вопросы:

1. Какая команда условного перехода выполняется при положительности результата?

2. Какая команда условного перехода выполняется, если первое число больше второго (числа без знака)?

3. Какая команда условного перехода выполняется, если первое число меньше второго (числа со знаком)?

группа ПЗ- __ ФИО _________________ дата выполнения работы __________ дата сдачи ________