Поволжский Государственный Университет Телекоммуникаций и Информатики Архитектура ЭВМ и систем Отчёт по лабораторной работе №3 Изучение основ работы с турбо отладчиком Выполнил студент группы ИТ-71 Горцунов В.В. Самара 2008 Оглавление 1. Ответы на контрольные вопросы. ..................................................... 3 2. Выполнение работы ............................................................................ 4 2.1. Заполнение таблицы ...................................................................... 4 2.2. Определение начальных и конечных адресов сегментов ......... 5 Использованная литература ................................................................... 6 2 1. Ответы на контрольные вопросы. 1. Для чего предназначен отладчик? Отладчик позволяет отлаживать программы на уровне исходного текста, и отслеживания изменения данных, в процессе выполнения программы. 2. Объясните смысл пунктов Главного меню в верхней строке отладчика? Пункты File, View, и т.д. предназначены для управления отладчиком. 3. Как загрузить отлаживаемую программу? File Open *.exe 4. Сколько окон можно открыть из пункта Главного меню View? Это окна: Breakpoints, Stack, Log, Watches, Variables, Module, File, CPU, Dump, Registers, Numeric Processor, Execution history, Hierarchy, Windows Message, Clipboards, Another. 5. Из каких фрагментов состоит окно CPU? Это фрагменты: сегмента кодов, сегмента данных, сегмента стека, регистров и флагов. 8. Каким образом можно редактировать ассемблерную программу? Встроенного редактора в TD нет, но можно задать редактор по умолчанию в настройках TD, или редактировать исходный текст программы отдельно. 9. Как осуществляется изменение содержимого оперативной памяти и регистров средствами отладчика? В окне CPU можно непосредственно изменять значения регистров, значения в областях сегментов данных и стека 10. Как через меню отладчика запустить программу на выполнение? Через меню Run в главном меню или с помощью горячих клавиш. можно посмотреть через User Screen (Alt+F5). Результат 11. В каком окне можно наблюдать результат выполнения программы? User Screen (Alt+F5). 12. Что такое трассировка программы и как она осуществляется в отладчике? Трассировка программы – выполнение программы пошагово, позволяющее отслеживать состояние регистров и сегментов после выполнения каждой строки программы. Трассировка может быть выполнена из меню Run главного меню командой Trace Over либо с помощью горячей клавиши F7. 3 2. Выполнение работы 2.1. Заполнение таблицы Вариант 4 № Команда строки Ассемблер а Машинн ый код Длина машинног о кода байт Логическ ий адрес в памяти Физиче ский адрес в памяти Hello_1 4 mov DX,OFFS ET Greet BA0000 3 5495: 0007 54957 Hello_1 5 int 21h CD21 2 5495: 000A 5495A Hello_2 6 Mov AH, 09h B409 2 5496: 000C 5496C Hello_2 7 mov DX, OFFSET Greet_2 BA1600 3 5496: 0011 54971 4 Состояние регистров и флагов AX=,0983 BX=0000, CX=0000, DX=0000, SP=0100, BP=0000, SI=0000, DI=0000, IP=000A, DS=5483, SS=5485, CS=5495, ES=5472. CF=0 ZF=0, SF=,0 OF=0, PF=0, AF=0 AX=0924, BX=0000, CX=0000, DX=0000, SP=0100, BP=0000, SI=0000, DI=0000, IP=000C, DS=5483, SS=5485, CS=5495, ES=5473. CF=0, ZF=0, SF=0, OF=0, PF=0, AF=0 AX=0924, BX=2680, CX=00BA, DX=0000, SP=0100, BP=0100, SI=0000, DI=957A, IP=000E, DS=5483, SS=5486, CS=5496, ES=5473. CF=0 ZF=0, SF=,0 OF=0, PF=0, AF=0 AX=,0924 BX=2680, CX=00BA, DX=0016, SP=0100, BP=0100, SI=0000, DI=957A, IP=0011, DS=5483, SS=5486, CS=5496, ES=5473. CF=0 ZF=0, SF=,0 OF=0, PF=0, AF=0 2.2. Определение начальных и конечных адресов сегментов Определение начальные и конечные адреса сегментов кодов и сегментов данных, в программах hello_1.exe и hello_2.exe hello_1.exe Сегмент кодов. Начальный адрес Конечный адрес Длина Сегмент данных Начальный адрес Конечный адрес 5316:0000 5316:0010 10 5473:0000 5473:0110 Длина hello_2.exe Сегмент кодов. Начальный адрес Конечный адрес Длина Сегмент данных Начальный адрес Конечный адрес 5496:0000 5496:0017 17 5473:0000 5473:0120 Длина Дата выпуска ПЗУ BIOS в формате месяц/число/год, в трех ячейках памяти, начиная с F000:FFF5 В памяти по адресу F000:FFFE однобайтовый идентификатор модели 5 Использованная литература Assembler. Учебник для вузов. 2-е изд. /В. И. Юров – СПб.: Питер, 2004. с.121…141. К. Г. Финогенов. Основы языка Ассемблера. – М.: Радио и связь, 2000. с. 22…31. Абель П. Язык Ассемблера для IBM PC и программирования /Пер. c англ.- М.:Высш.шк., 1992.с 51…75. 6