Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Дисциплины:
2022-11-24 | 22 |
5.00
из
|
Заказать работу |
|
|
Отладчик Turbo Debugger представляет собой оконную среду отладки программ на уровне исходного текста. Он позволяет решить две основные задачи [5, 16]:
1. Определить место логической ошибки.
2. Определить причину логической ошибки.
Turbo Debugger дает возможность по шагам проследить процесс выполнения программы на уровне регистров процессора и ячеек памяти. Это позволяет определить местоположение и источник ошибки в программе. Следует отметить, что отладчик не позволяет вносить изменения в исходный текст программы; они вносятся в исходный файл с расширением. asm, после чего заново создаются объектный и загрузочный модули как описано выше.
Запуск отладчика осуществляется из командной строки с указанием исполняемого модуля:
td имя_файла.exe
Для отладки исполняемого файла sum1.exe вызов отладчика осуществляется командой
td sum1.exe
Окно флагов |
Окно данных |
Окно стека |
Окно кода |
Окно регистров |
Окно отладчика имеет пять рабочих областей: окно кода, окно данных, окно стека, окно регистров процессора, окно флагов процессора. Важно отметить, что выводимая в них информация представлена в шестнадцатеричном виде. В каждый момент времени активным может быть только одно из них. Активизация любого окна осуществляется щелчком мыши в любой его видимой точке. По умолчанию активным является окно кода.
В окне кода отображается содержимое сегмента кода отлаживаемой программы. Каждая строка этого окна содержит следующую информацию о команде: адрес в виде сегмент:смещение (например, cs:0000), машинный код, ассемблерный код. Следует заметить, что все символьные адреса сегментов и ячеек памяти заменяются абсолютными или относительными (в квадратных скобках) адресами в виде числовых констант.
|
В окне данных отображается содержимое сегмента данных отлаживаемой программы (при его наличии): адрес ячейки памяти в виде сегмент:смещение (например, ds:0000), содержимое ячейки в виде числовой константы, символ из таблицы ASCII, если числовая константа соответствует его ASCII-коду.
В окне стека отображается содержимое сегмента стека отлаживаемой программы (при его наличии): адрес ячейки сиека в виде сегмент:смещение (например, ss:001 A), содержимое ячейки в виде числовой константы.
В окне регистров отображается содержимое регистров процессора Intel 8086, доступных для работы в реальном режиме, который поддерживает компилятор TASM.
В окне флагов отображаются значения флагов процессора Intel 8086.
Управление работой отладчика осуществляется с помощью системы меню или функциональных клавиш, расположенных в нижней части экрана. Главное меню находится в верхней части экрана, контекстное меню доступно для каждого окна и вызывается путем активизации соответствующего окна и щелчка правой кнопкой мыши для выбора нужного пункта меню.
Для проверки функционирования программы удобно использовать функциональные клавиши F 7 (трассировка) и F 8 (пошаговое выполнение). Трассировка по F 7 отличается от пошагового выполнения по F 8 тем, то при наличии подпрограмм при трассировке будет по шагам выполняться не только основная программа, но и каждая подпрограмма, которая вызывается из основной программы. А при пошаговом выполнении по F 8 по шагам выполняется только основная программа, а каждая подпрограмма выполняется как единый оператор.
Текущая выполняема команда выделяется синим цветом. После выполнения команды на экране появляется содержимое регистров, флагов и адрес следующей по очереди команды (соответствующие регистры и флаги подсвечиваются белым цветом).
|
Завершение работы с отладчиком осуществляется командой File / Quit из главного меню или нажатием сочетания клавиш Alt + X.
Теперь можно проверить, каким образом выполняется программа на компьютере, какие изменения происходят в регистрах процессора и ячейках памяти.
Из рисунка 9 видно, что выполнение программы сложения двух чисел начинается с первой команды (с нулевым смещением относительно начала сегмента кода, адрес которого расположен в регистре cs и равен 48 F 0 h). Данная команда пересылает в регистр ax адрес начала сегмента данных выполняемой программы. Важно отметить, что символьный адрес d _ s из исходного текста программы заменен абсолютным адресом ячейки памяти и равен 48 EFh. После выполнения изменяется содержимое регистра ax и осуществляется переход к следующей команде, адрес которой в сегменте кода равен 0003, о чем свидетельствует изменившееся значение регистра ip, как показано на
рисунке 10.
Рис. 10. Значения регистров после выполнения первой команды
Следующая команда пересылает значение регистра ax в сегментный регистр ds, сообщая процессору местонахождение сегмента данных в памяти. После этого сегмент данных исполняемой программы становится доступным и его содержимое можно вывести в окне данных. Для этого можно вызвать контекстное меню окна данных, выбрать в нем команду Goto, указать адрес ячейки сегмента данных и нажать OK. Для выполняемой программы содержимое сегмента данных, с самого начала (с нулевой ячейки), как показано на рисунке 11.
На рисунке 12 видно, что сегмент данных состоит из трех двухбайтовых ячеек (обведены рамкой) с адресами 0, 2 и 4, соответственно. В ячейках со смещениями 0 и 1 хранится число 7145 h, в ячейках со смещениями 2 и 3 – число 0023 h, в ячейках со смещениями 4 и 5 – число 00 h. Следует отметить, что все перечисленные числовые константы хранятся в памяти в перевернутом виде, поскольку их размер превышает байтовый диапазон.
Выполнение следующей команды заключается в пересылке значения из ячейки со смещением 0 (вместо символьного адреса aa указывается смещение [0000 h ]) в регистр ax, т.е. числа 7145 h, что также отражено на рисунке 12.
Рис.11. Ввод адреса ячейки памяти в контекстном меню
окна данных
трех первых команд программы
Следующая команда выполняет сложение текущего содержимого регистра ax, т.е. числа 7145 h, и значения ячейки памяти со смещением 0002 h, т.е. числа 0023 h. Причем в отладчике можно увидеть, каким образом выполняется операция сложения: суммируются два операнда, а результат помещается на место первого операнда. В данном случае значение 7168h помещается в регистр ax, что отражено на
рисунке 13.
|
Рис. 13. Содержимое памяти и регистров после выполнения
команды сложения
Выполнение следующей команды приводит к записи содержимого регистра ax в ячейку памяти со смещением 0004 h, т.е. числа 7168 h. При этом в памяти данное число также будет представлено в перевернутом виде. Состояние регистров процессора и ячеек памяти сегмента данных представлено на рисунке 14.
Рис. 14. Содержимое ячеек памяти и регистров после выполнения пяти команд
Две последующие команды приводят к завершению работы программы и выводом соответствующего сообщения, как показано на рисунке 15.
Рис.15. Сообщение о завершении работы программы
Таким образом, используя наглядные и выразительные средства отладчика Turbo Debugger, можно легко проследить процесс выполнения программы на языке ассемблера и увидеть особенности выполнения ассемблерных команд, представления информации в памяти вычислительной машины.
ЛИТЕРАТУРА
1. DOSBox [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/ wiki/ DOSBox. – Систем. требования: P IV; 64 Мб ОЗУ; Windows 98 и выше; SVGA 32768 и более цветов; 640×480; мышь; IE 4.0 и выше. – Загл. с экрана.
2. DOSBox 0.74 – эмулятор DOS-окружения на современных компьютерах [Электронный ресурс]. – Режим доступа: https://softclipper.net/utility-i-soputstvuyuschie-programmy/dosbox-0-74-emulyator-dos-okruzheniya-na-sovremennykh-kompyuterakh.html. – Систем. требования: P IV; 64 Мб ОЗУ; Windows 98 и выше; SVGA 32768 и более цветов; 640×480; мышь; IE 4.0 и выше. – Загл. с экрана.
3. MASM, TASM, FASM, NASM под Windows и Linux [Электронный ресурс]. – Режим доступа: https://habr.com/ru/post/326078/. – Систем. требования: P IV; 64 Мб ОЗУ; Windows 98 и выше; SVGA 32768 и более цветов; 640×480; мышь; IE 4.0 и выше. – Загл. с экрана.
4. Андриенко Д. Погружение в ассемблер [Электронный ресурс]. – Режим доступа: https://xakep.ru/2017/09/11/asm-course-1/#xakepcut. – Систем. требования: P IV; 64 Мб ОЗУ; Windows 98 и выше; SVGA 32768 и более цветов; 640×480; мышь; IE 4.0 и выше. – Загл. с экрана.
|
5. Ассемблер с нуля [Электронный ресурс]. – Режим доступа: http://assembler-code.com/. – Систем. требования: P IV; 64 Мб ОЗУ; Windows 98 и выше; SVGA 32768 и более цветов; 640×480; мышь; IE 4.0 и выше. – Загл. с экрана.
6. Выполнение программ на языке ассемблера [Электронный ресурс].– Режим доступа: http://stilus-doctus.narod.ru/tasm/ tasm_2.html. – Систем. требования: P IV; 64 Мб ОЗУ; Windows 98 и выше; SVGA 32768 и более цветов; 640×480; мышь; IE 4.0 и выше. – Загл. с экрана.
7. Записки программиста. Написание и отладка кода на ассемблере x86/x64 в Linux [Электронный ресурс].– Режим доступа: https://eax.me/linux-assembler/. – Систем. требования: P IV; 64 Мб ОЗУ; Windows 98 и выше; SVGA 32768 и более цветов; 640×480; мышь; IE 4.0 и выше. – Загл. с экрана.
8. Использование GNU ассемблера as.: Архитектурные особенности [Электронный ресурс].– Режим доступа: https://www.opennet.ru/docs/RUS/gas/gas-8.html. – Систем. требования: P IV; 64 Мб ОЗУ; Windows 98 и выше; SVGA 32768 и более цветов; 640×480; мышь; IE 4.0 и выше. – Загл. с экрана.
9. Конюхова, О.В. Программное обеспечение вычислительных машин и систем. Программирование на языке ассемблера: Практикум [Текст]/ О.В. Конюхова, Э.А. Кравцова.- Орёл: Изд-во ОГУ имени И.С. Тургенева, 2016. – 130 с.
10. Национальная библиотека имени Н.Э. Баумана. Ассемблер [Электронный ресурс]. – Режим доступа: https:// https://ru.bmstu.wiki/Ассемблер. – Систем. требования: P IV; 64 Мб ОЗУ; Windows 98 и выше; SVGA 32768 и более цветов; 640×480; мышь; IE 4.0 и выше. – Загл. с экрана.
11. Обзор языков ассемблера и макроассемблера [Электронный ресурс].– Режим доступа: https://vuzlit.ru/977980/ obzor_yazykov_ assemblera_makroassemblera. – Систем. требования: P IV; 64 Мб ОЗУ; Windows 98 и выше; SVGA 32768 и более цветов; 640×480; мышь; IE 4.0 и выше. – Загл. с экрана.
12. Пирогов, П.Ю. ASSEMBLER. Учебный курс [Текст]/ П.Ю. Пирогов. – М.: Издатель Молгачева С.В. – Нолидж, 2001. – 848 с. – ил.
13. Синтаксис команд (Intel, AT&T) [Электронный ресурс].– Режим доступа: https://stepik.org/lesson/20059/step/1?unit=4746. – Систем. требования: P IV; 64 Мб ОЗУ; Windows 98 и выше; SVGA 32768 и более цветов; 640×480; мышь; IE 4.0 и выше. – Загл. с экрана.
14. Структура программы на ассемблере [Электронный ресурс].– Режим доступа: http://kit.znu.edu.ua/eDoc/Arch/assembl/guide/Text/ Structur.htm – Систем. требования: P IV; 64 Мб ОЗУ; Windows 98 и выше; SVGA 32768 и более цветов; 640×480; мышь; IE 4.0 и выше. – Загл. с экрана.
15. Установка и настройка FASM [Электронный ресурс].– Режим доступа: http://www.manhunter.ru/assembler/ 31_ustanovka_i_nastroyka_ flat_assembler_fasm.html.– Систем. требования: P IV; 64 Мб ОЗУ; Windows 98 и выше; SVGA 32768 и более цветов; 640×480; мышь; IE 4.0 и выше. – Загл. с экрана.
16. Юров, В.И. Assembler [Текст]/ В.И. Юров.- Учебник для вузов.- 2-е издание.- СПб.: Питер, 2006.- 637 с.: ил.- ISBN: 5-94723-581-1
17. Юров, В.И. Assembler. Практика [Текст]/ В.И. Юров.- Учебник для вузов.- 2-е издание.- СПб.- Питер, 2006.- 399 с.: ил.- ISBN: 5-94723-671-0
18. Язык ассемблера [Электронный ресурс].- Режим доступа: https://prog-cpp.ru/category/asm-posts/. – Систем. требования: P IV; 64 Мб ОЗУ; Windows 98 и выше; SVGA 32768 и более цветов; 640×480; мышь; IE 4.0 и выше. – Загл. с экрана.
|
Учебное издание
Конюхова Оксана Владимировна
Кравцова Эльвира Александровна
|
|
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!