Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2lab.docx
Скачиваний:
73
Добавлен:
12.06.2018
Размер:
593.11 Кб
Скачать

Федеральное агентство связи

Федеральное государственное бюджетное образовательное

учреждение высшего образования

Поволжский государственный университет

телекоммуникаций и информатики

Кафедра Информационных систем и технологий

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

По дисциплине «Инструментальные средства информационных систем»

Тема: «Изучение команд передачи данных. Основы работы

с турбо отладчиком»

Руководитель доцент к. п. н.

__________________ Никитин К.А.

Самара 2018

Цель работы: Практическое освоение основных функций TURBO DEBUGGER.

5 вариант.

Вариант 5

строки

Команда

Ассемблера

Машинный код

Длина машинного кода

Логический адрес в памяти

Физичес-кий адрес в памяти

Состояние регистров и флагов

5

Mov C,1Fh

C60602001F

5 байт

5349:000F

5349F h

6

Mov D,6

C606030006

5 байт

5349:0014

534A4 h

17

Mov BX,DI

8BDF

2 байт

5349:0031

534C1 h

18

Pop CX

59

1 байт

5349:0033

534C3 h

Hello2

5

Int 21

CD21

2 байт

534B:000A

534BA h

6

Mov ah,09

B409

2 байт

534B:000C

534BC h

Просмотрите и зарисуйте область памяти, в которой хранятся данные, объявленные в сегменте данных программы (дамп памяти).

Прочитайте в трех ячейках памяти начиная с адреса F000:FFF5h дату выпуска ПЗУ BIOS в формате месяц/число/год.

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

4.1. Как записываются общие команды передачи данных на Ассемблере? Что может использоваться в качестве операндов команды?

Команды передачи данных (команды пересылок) предназначены для организации пересылки данных между регистрами, регистрами и памятью, памятью и регистрами, а также для загрузки регистров или ячеек памяти данными. При выполнении команд передачи данных флаги не устанавливаются.

Наиболее часто используются общие команды передачи данных:

MOV dst, src; dst:= (src).

Команда осуществляет передачу содержимого источника (src) в получатель (dst). Операндами этой команды могут быть:

регистр – регистр;

регистр – память;

память – регистр;

регистр – непосредственные данные;

память – непосредственные данные.

4.2. Для чего предназначена команда lea и что является ее операндами?

Команда загрузки исполнительного адреса загружает в регистр, указанный в качестве первого операнда, относительный адрес второго операнда, который находится в памяти:

LEA reg, mem; reg:= [mem].

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

Команды работы со стеком используются для занесения данных в стек и извлечения данных из стека. Для адресации к вершине стека используется регистр указателя стека SP, который при выполнении стековых команд автоматически модифицируется. Все стековые команды манипулируют только двухбайтовыми данными – словами.

PUSH src; SP:= (SP) – 2 , [(SP)]:= (src).

Эта команда PUSH - поместить в стек. Она уменьшает на 2 содержимое указателя стека SP и заносит на вершину стека по этому адресу двухбайтовый операнд, указанный в команде. В качестве операнда может использоваться любой 16 разрядный регистр или двухбайтовая ячейка памяти.

Команда извлечь из стека имеет формат

POP dst; dst:= [(SP)], SP:= (SP) + 2.

Команда извлекает 16 разрядные данные из ячеек стека, на которые указывает указатель SP и помещает их в получатель, указанный в команде. Содержимое SP при этом автоматически увеличивается на 2.

4.4. Поясните выполнение команды обмена данными.

Команда обмена данными позволяет обменивать содержимое любого общего регистра и ячейки памяти, либо любой пары общих регистров:

XCHG op1, op2; op1:= (op2), op2:= (op1).

Использование сегментных регистров в командах обмена запрещается.

4.5. Для чего предназначен отладчик Turbo Debugger?

Турбо отладчик (Turbo Debugger) - это современный отладчик, позволяющий отлаживать программы на уровне исходного текста и предназначенный для программистов, работающих на Турбо языках фирмы Borland.

4.6. Объясните смысл пунктов Главного меню в верхней строке отладчика.

Ё: Repaint desktop – обновить экран

Restore standard – перейти в начало программы

About – описание turbo debugger

Меню File

Open – Загружает в отладчик новую программу

Change Dir – Выполняет смену диска и/или директории

Get Info – Выдает информацию о программе

DOS Shell – Запускает командный процессор ДОС

Resident – Делает Turbo Debugger резидентным

Symbol Load – Загружает таблицу символических имен, независимую от файла .EXE.

Table Relocate – Устанавливает базовый адрес таблицы символических имен

Quit – Выполняет возврат в ДОС

Меню View

Breakpoints – Просмотр точек останова

Stack – Просмотр стека вызова

Log – Просмотр журнала событий и данных

Watche– Просмотр значений отслеживаемых переменных

Variables – Просмотр списка локальных и глобальных переменных

Module – Просмотр исходного текста модуля программы

File – Просмотр содержимого дискового файла в текстовом или шестнадцатеричном формате

CPU – Просмотр машинных команд, данных исодержимого стека

Dump – Просмотр построчного дампа области памяти

Registers – Просмотр состояния регистров и флагов процессора

Numeric Processor– Просмотр состояния сопроцессора или его эмулятора

Execution History– Выводит ассемблерный код, который был запомнен для обратной трассировки или обратного воспроизведения нажатий клавиш

Hierarchy– Выводит список объектов или типов класса и иерархическое дерево

Another

Module – Открывает еще одно окно модуля

Dump – Открывает еще одно окно дампа

File – Открывает еще одно окно файла

Меню Run

Run – Запускает программу без остановок

Go To Cursor – Выполняет программу до текущей позиции курсора

Trace Into – Выполняет одну строку исходного текста или команду

Step Over – Выполняет одну строку исходного текста без вхождения в подпрограмму

Execute To – Выполняет программу до указанного адреса

Until Return – Выполняет программу до возврата из функции

Animate – Запускает программу в непрерывном пошаговом режиме

Back Trace – Реверсирует выполнение программы на одну исходную строку или команду

Instruction Trace– Выполняет одну команду

Arguments– Устанавливает аргументы командной строки

Program Reset– Заново загружает текущую программу

Меню Breakpoint

Toggle – Переключает точку останова в текущей позиции курсора

At – Устанавливает точку останова на строке с указанным адресом

Changed Memory Global – Устанавливает глобальную точку останова, которая включается при изменении содержимого области памяти

Expression True Global – Устанавливает глобальную точку останова, которая включается, когда выражение становится истинным

Delete All – Удаляет все точки останова

Меню Data

Inspect – Позволяет проверить элемент данных

Evaluate/Modify – Вычисляет значение выражения

Add Watch – Заносит переменную в окно слежения

Function Return – Отображает значение, возвращаемое текущей подпрограммой

Меню Options

Language – Определяет язык для вычисления выражений по исходному модулю

Macros

Create – Определяет клавишный макрос

Stop Recording– Заканчивает запись макроса

Remove – Удаляет клавишный макрос

Delete All – Удаляет все клавишные макросы

Display Option– Позволяет установить опции экрана (свопинг, размер, табуляция)

Path for Source– Список директорий, в которых находятся исходные файлы

Save Options– Сохраняет на диске параметры отладчика, макросы и параметры окон

Restore Options – Восстанавливает параметры с диска

Меню Window

Zoom– Выполняет трансфокацию до полного размера окна и назад

Next – Последовательно активизирует окна, открытые на экране

Next Pane– Выполняет переход к следующему подокну текущего окна

Size/Move – Позволяет изменить размеры и положение текущего окна

Iconize/Restore – Уменьшает размер окна до небольшой пиктограммы и восстанавливает его

Close – Закрывает текущее окно

Undo Close – Отменяет последнюю команду Close

Dump Pane to Log– Записывает в окно регистрации содержимое текущего подокна

User Screen – Выводит на дисплей выход вашей программы

Open window list – Выводит список открытых окон для активации

Window Pick – Выводит меню открытых меню, если на экране их более 9

Меню Help

Index – Выводит оглавление интерактивной подсказки

Previous Topic – Выводит предыдущий экран подсказки

Help on Help – Выводит подсказку по самой интерактивной системе подсказки

Соседние файлы в предмете Инфокоммуникационные системы и сети