Пример выполнения работы. Дан массив из десяти слов, содержащих целые числа

Дан массив из десяти слов, содержащих целые числа. Требу­ется найти максимальное значение.

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

model SMALL

stack 100h

dataseg

MAX dw?

MASS dw 10h,20h,30h,5h,40h,15h,20h,70h,35h,34h

codeseg

startupcode

lea BX, MASS; Загрузить адрес массива

mov CX, 10; Установить счетчик

mov AX, [BX]; Первый элемент массива в аккумулятор

BEG: cmp [BX], AX; Сравнить текущий эл. массива с макс.

jle NO; он меньше

mov AX, [BX]; он больше

NO: add BX, 2; Следующий элемент массива

loop BEG;

mov MAX, AX

QUIT: exitcode 0

end

Программа с помощью текстового редактора заносится в файл PRIMER.ASM. Затем выполняется трансляция и компоновка с помощью команд:

tasm primer /L /ZI

tlink primer /V

Запуск программы primer под отладчиком.

td primer.exe

Простейший пример использования отладчика: в окне Module или CPU установить курсор на строку с меткой QUIT и выполнить команду Go to Cursor. После останова посмотреть содержимое области данных.

Для того что бы просмотреть область данных, следует выпол­нить следующие действия:

· открыть окно Dump или сделать активной одноименную панель окна CPU;

· с помощью пункта GoTo локального меню окна (или панели) выполнить позиционирование по адресу DS:0. Перед позицио­нированием необходимо обеспечить правильное значение реги­стра DS, как правило, это означает выполнение первых двух строк программы по загрузке регистра DS адресом сегмента данных;

· с помощью пункта DisplayAs локального меню окна (или па­нели) обеспечить просмотр данных в формате слов. Первое слово сегмента данных со смещением 0 – это переменная max, далее следует десять слов – числа массива, и далее – мусор.

Можно попробовать запустить программу в пошаговом режиме (команда Trace Into), следя за тем, как изменяются значения реги­стров AX, BX, CX.

Рекомендуется запустить программу заново (команда Program Reset), изменить данные (окно Dump, команда Change), предсказать результат для новых данных и, выполнив программу (команда Go to Cursor) до метки QUIT, сравнить ожидаемый резуль­тат с реальным.

Выход из отладчика в DOS – Alt+X.

КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Назначение программы TASM.

2. Назначение программы TLINK.

3. Что содержится в файлах *.ASM, *.OBJ, *.LST, *.MAP?

4. Назначение программы TD.

5. Какие команды и окна отладчика служат для просмотра и мо­дификации памяти?

6. Какие команды и окна отладчика служат для просмотра реги­стров?

7. Какие команды отладчика служат для выполнения программы?

8. Что такое точки останова?


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

ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ ËÈÍÅÉÍÛÕ ÊÎÍÑÒÐÓÊÖÈÉ


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



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