Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторые работы / Методуказ к лаб 3- Орг-я ЭВМ

.doc
Скачиваний:
31
Добавлен:
10.12.2013
Размер:
53.76 Кб
Скачать

Методические указания к выполнению лабораторной работы 3

Тема: Работа в среде отладчика TD.exe с исполняемым файлом учебной программы на языке Ассемблер для IBM PC.

Аппаратно-программное обеспечение работы: IBM PC - совместимый компьютер, ОС WINDOWS с эмуляцией MS DOS или ОС MS DOS, программа-отладчик td.exe, исполняемый файл учебной программы a1.exe.

  1. Подготовка к работе.

1.1. Получить вариант для введения изменений в программу a1.exe/

1.2. Повторить по установочной лекции, темам Учебного пособия / 1/ и лекциям 5 и 6:

  • Сегментацию памяти для процессоров IBM PC – тема 3 /1/.

  • Регистры данных и адресов: имена, разрядность, назначение - тема 3 /1/..

  • Типы сегментов памяти, адресацию сегментов и элементов в них - тема 3 /1/.

  • Взаимосвязь между типами сегментов и адресными регистрами тема - 3 /1/..

  • Способы адресации операндов в командах языка Assembler - тема 5 /1/.

  • Основные команды языка Assembler для IBM PC - тема 6 /1/.

1.3. Повторить Инструкцию по работе с программой – отладчиком TD (см. файл с тем же именем).

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

    1. Запустите отладчик TD (файл td.exe) с загрузкой в его память учебной программы a1.exe. Можно запустить отладчик TD (td.exe) из MS DOS или WINDOWS, не загружая файл a1.exe, но в этом случае в меню уже запущенной программы td.exe надо через опцию OPEN найти и открыть a1.exe

    2. Перепишите или распечатайте текст программы до введения изменений. Ввести изменения на языке Ассемблера в текст программы a1.exe, отображаемой в окне CPU отладчика TD.exe. Помните, чтоизмененные коды могут «забивать» используемые ячейки exe-файла, поэтому придется это учитывать и возвращать «забитые » команды вслед за измененными и т.д.

    3. Отладить программу с введенными изменениями, используя свой опыт, приобретенный на лаб. работах 1и 2.

    4. Составить отчет.

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

3.1.Тема и номер лаб. работы.

3.2. Номер варианта и текст исполняемой учебной программы на языке Ассемблер.

3.3. Экран программы в последнем цикле после исполнения команды, предшествующей команде возврата на начало цикла.

3.4.Структурная перационная и блочная схема алгоритма исполнения 11-той (одиннадцатой) команды.

  1. Варианты заданий на лаб. работу.

ТАБЛИЦА Варианты для введения изменений в учебную программу.

1

Элемент исходного массива имеет формат слова суммируется с константой, если она отрицательна.

2

Сохранить массив результата в стеке и . Организовать цикл без использования команды LOOP

3

Выполнять вычитание из константы элемента исходного массива и вместо регистра ВХ использовать другой допустимый регистр.

4

Увеличить размер исходного массива байт на 2: добавить в сегмент данных две константы с числовыми значениями 5 и 12 и Выполнять вычитание из константы элемента исходного массива, если константа содержит четное число единиц в b –коде.

5

Вместо третьей команды sub ax,ax использовать другую, дающую тот же результат и вместо регистра ВХ использовать другой допустимый регистр.

6

Элемент исходного массива суммируется с константой, если она имеет четный адрес и Размер исходного массива сделать равным 10 байт.

7

Вместо команд LEA и inc di использовать другие, дающие те же результаты и Увеличение адреса текущего элемента исходного массива реализовать другим способом.

8

Если константа равна элементу исходного массива, то выполнять сложение, иначе – не выполнять и Размер исходного массива сделать равным 6 слов.

9

Если результат команды add получился отрицательным, его в памяти. не сохранять. и Для организации цикла использовать команду условной передачи управления

10

Сложить константу с элементом исходного массива и вместо регистра ВХ использовать другой допустимый регистр

11

Создать программу не циклическую, а линейную с размером исходного массива 3 байта, для чего использовать прямую адресацию элементов исходного массива.

12

Сравнить константу с элементом массива и, если они не равны, выполнить сложение и Перебор элементов исходного массива реализовать другим способом.

13

. Сохранить массив результата в стеке

14

Организовать цикл без использования команды LOOP.

15

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

16

Константа вычитается из элемента исходного массива, а не суммируется, если она имеет четный адрес

17

Размер исходного массива байт уменьшить на 1 байт и Вместо команд inc использовать другие, дающие те же результаты.

18

Создать программу циклическую, с размером исходного массива 3 слова.,

19

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

20

Если результат команды add получился отрицательным, его в памяти. не сохранять

Литература:

  1. Архитектура и программирование реального режима микропроцессоров фирмы Intel: Уч. пособие /Сост. Т.К.Щемелева; Перм. техн. ун-т. Пермь,2001. 96 c.

  2. Абель П. Язык ассемблера для IBM PC и программирования. – М.: Высш. шк., 1992. 447 с.