Главная » Просмотр файлов » assembler. Учебник для вузов_Юров В.И_2003 -637с

assembler. Учебник для вузов_Юров В.И_2003 -637с (862834), страница 31

Файл №862834 assembler. Учебник для вузов_Юров В.И_2003 -637с (Юров В.И - Assembler. Учебник для вузов. 2003) 31 страницаassembler. Учебник для вузов_Юров В.И_2003 -637с (862834) страница 312021-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 31)

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

Далее перечислены ключевые моменты этого процесса.II В исходной программе обязательно должна быть определена метка для первойкоманды, с которой начнется выполнение программы. Такая метка может бытьсобственно меткой или, как видно из листинга 6.1, именем процедуры. Имя этойметки обязательно должно быть указано в конце программы в качестве операнда директивы END:end имя_меткиВ нашем случае эта метка является именем процедуры MAIN.* Исходный модуль должен быть оттранслирован с ключом /zi:tasm /zi имя_исходного_модуля , , ,Ключ /zi разрешает транслятору сохранить связь символических имен в программе с их смещениями в сегменте кода, что позволяет отладчику выполнятьотладку, используя оригинальные имена.9- Редактирование модуля должно быть осуществлено с ключом /v:tlink /v имя_объектного_модуля138'Глава 6.

Первая программаКлюч /v указывает на необходимость сохранения отладочной информациив исполняемом файле.Запуск отладчика удобнее производить из командной строки с указанием исполняемого модуля отлаживаемой программы:td имя_исполняемого_модуляКстати, сам файл отладчика td.exe логично также поместить в наш рабочий каталог ..\WORK. Изначально файлы отладчика находятся в каталоге ..\BIN пакетаTASM.

Если все же файл td.exe и файл исполняемого модуля при запуске будутнаходиться в разных каталогах, то в командной строке необходимо указать путьк этому модулю, например:td с : На5пЛкогк\имя_модуля . ехеПри правильном выполнении перечисленных действий откроется окно отладчика TD под названием Module с исходным текстом программы prg_6_l.asm.

Как онздесь оказался, ведь в командной строке для программы td.exe было указано только имя исполняемого модуля? Это как раз и есть результат действия ключей /ziи /v для tasm и tlink соответственно. Их применение позволило сохранить информацию об использовавшихся в коде на ассемблере символических именах. Для полноты эксперимента можно попытаться получить исполняемый модуль без задания этих ключей и проанализировать результат.Вернемся к окну Module (рис. 6.2). Внимание следует обратить на так называемый курсор выполнения (в виде треугольника). Он указывает на первую команду,подлежащую выполнению.

Этой команде предшествует имя метки (в нашем случае роль метки выполняет имя процедуры). Это так называемая точка входа впрограмму. Если внимательно посмотреть на конец исходного текста программы, товидно, что это же имя записано в качестве операнда в заключительной директиве END.Это единственный способ сообщить загрузчику ОС о том, где в исходном текстепрограммы расположена точка входа в нее.

В более сложных программах обычно;Выход: результат преобразования помещается в регистр dl.————— ————-,—____———_«_——__s — — — — — — ~—data segment para public "data" ;сегмент данныхmessage db "Введите две шестнадцатеричные цифры,$"data endsstk segment stackdb 256 dup <"?"> ;сегмент стекаstk endscode segment para public "code" ;начало сегмента кодаmain proc«начало процедуры mainassume cs:code,ds:data,ss=stkmouax,data «адрес сегмента данных в регистр ахmouds.ax ;ax в dsmouah,9moudx,offset messageint2ihхорах,ах;очнстить регистр ахmouah,lh;lh в регистр ahРис.

6.2. Окно Module отладчика TDПроцесс разработки программы139вначале могут идти описания процедур, макрокоманд, и в этом случае без такогоявного указания на первую исполняемую команду просто не обойтись.Основную часть главного окна отладчика обычно занимают одно или несколько дополнительных окон.

В каждый момент времени активным может быть только одно из них. Активизация любого окна производится щелчком мышью в любойего видимой точке.Управление работой отладчика ведется с помощью системы меню. Имеютсядва типа таких меню:т главное меню — находится в верхней части экрана и доступно постоянно (вызовменю осуществляется нажатием клавиши F10, после чего следует выбрать нужный пункт меню);II контекстное меню — для каждого окна отладчика можно вызвать его собственное меню, которое учитывает особенности этого окна, щелкнув в окне правойкнопкой мыши (либо активизировав окно и нажав клавиши Alt+FlO).Теперь можно проверить правильность функционирования нашей программы.Специфика программ на ассемблере состоит в том, что делать выводы о правильности их функционирования можно, только отслеживая работу на уровне процессора.

При этом нас будет интересовать прежде всего то, как программа использует процессор и изменяет состояние его ресурсов и компьютера в целом.Запустить программу в отладчике можно в одном из четырех режимов:• безусловного выполнения;« выполнения по шагам;ii выполнения до текущего положения курсора;ш выполнения с установкой точек прерывания.Рассмотрим эти режимы подробнее.Режим безусловного выполнения программы целесообразно применять, когдатребуется посмотреть на общее поведение программы. Для запуска программыв этом режиме необходимо нажать клавишу F9. В точках, где необходимо ввестиданные, отладчик, в соответствии с логикой работы применяемого средства ввода,будет осуществлять определенные действия. Аналогичные действия отладчик выполнит при выводе данных.

Для просмотра или ввода этой информации можнооткрыть окно пользователя (выбрав в меню команду Window > User screen или нажав клавиши Alt+F5). Если программа работает правильно, то на этом отладку можнои закончить. В случае, если возникают какие-то проблемы или нужно более детально изучить работу программы, применяются три следующих режима отладки.Режим выполнения программы до текущего положения курсора целесообразноиспользовать в том случае, если интерес представляет только правильность функционирования некоторого участка программы.

Для активизации этого режима необходимо установить курсор на нужную строку программы и нажать клавишу F4.Программа запустится и остановится на отмеченной команде, не выполнив ее. Далеепри необходимости вы можете перейти в пошаговый режим.В режиме выполнения программы с установкой точек прерывания программапосле запуска будет останавливаться в строго определенных точках прерывания(breakpoints). Перед выполнением программы необходимо установить эти точки140Глава 6.

Первая программав программе, для чего следует перейти к нужной строке и нажать клавишу F2. Выбранные строки подсвечиваются. Установленные ранее точки прерывания можноубрать — для этого нужно повторно перейти к нужной строке и нажать клавишу F2.После установки точек прерывания программа запускается клавишей F9 (см.

ранее режим безусловного выполнения). На первой точке прерывания программаостановится. После этого можно посмотреть состояние процессора и памяти, а затем продолжить выполнение программы. Сделать это можно в пошаговом режимеили до следующей точки прерывания.Режим выполнения программы по шагам применяется для детального изученияее работы. В этом режиме выполнение программы прерывается на каждой машинной (ассемблерной) команде. При этом становится возможным наблюдение за результатом исполнения команд. Для активизации этого режима нужно нажатьклавишу F7 (Run > Trace into) или F8 (Run > Step over). Обе эти клавиши активизируют пошаговый режим; различие их проявляется в том случае, когда в потоке команд встречаются команды перехода в процедуру или на прерывание. При нажатии клавиши F7 отладчик осуществит переход к процедуре или прерываниюи остановится.

Если же нажимается клавиша F8, то вызов процедуры или прерывания отрабатывается как одна команда, и управление передается следующей команде программы. Здесь нужно отметить, что кроме окна Module при работе в этомрежиме полезно использовать окно CPU, вызвать которое можно через главное менюкомандой View > CPU.Окно CPU отражает состояние процессора и состоит из пяти подчиненных окон.II В окне с исходной программой в дизассемблированном виде представлена таже самая программа, что и в окне Module, но уже в машинных кодах. Пошаговуюотладку можно производить прямо в этом окне; строка с текущей командойподсвечивается.ii В окне регистров процессора (Registers) отражается текущее содержимое регистров (по умолчанию — только регистров процессора 18086).

Чтобы увидетьрегистры i486 или Pentium, нужно задать режим их отображения. Для этогощелкните правой кнопкой мыши в области окна регистров и выберите в контекстном меню команду Registers 32-bit — Yes.ш В окне флагов (Flags) отражается текущее состояние флагов процессора в соответствии с их мнемоническими названиями.9 В окне стека (Stack) отражается содержимое памяти, выделенной для стека.Адрес области стека определяется содержимым регистров SS и SP.ж Окно дампа оперативной памяти (Dump) отражает содержимое области памятипо адресу, который формируется из компонентов, указанных в левой части окна.В окне можно увидеть содержимое произвольной области памяти.

Для этогонужно в контекстном меню выбрать нужную команду.Заметим, что окно CPU, по сути, отражает видимую часть программной моделипроцессора. Некоторые из подчиненных окон окна CPU можно вывести на экранотдельно. Хотя удобнее работать с исходным текстом в окне Module, чем с его дизассемблированным вариантом в окне CPU, часто есть необходимость отслеживатьсостояние процессора с помощью подчиненных окон окна CPU. Совместить воз-Процесс разработки программы141можности окон Module и CPU можно, выбрав в меню View имена нужных подчиненных окон окна CPU.Прервать выполнение программы в любом из режимов можно, нажав клавишиCtrl+F2.Особенности разработки программ в MASMДля успешной работы с ассемблером MASM корпорации Microsoft в современныхоперационных средах (Windows NT\2000\XP) необходимо иметь версию 6.13 этогопакета или выше.

В него входят следующие основные программы:^ masm.exe — ассемблер;* ml.exe — ассемблер и компоновщик (Masm and Link);s link.exe — компоновщик;« cv.exe — отладчик (CodeView);* lib.exe, implib.exe, nmake.exe, cref.exe, h2inc.exe, exehdr.exe, cvpack.exe, helpmake.exe,rm.exe, undel.exe, exp.exe — вспомогательные утилиты.В пакете MASM изначально предпринимались попытки совместить удобствосредств программирования, свойственных языкам высокого уровня, с традиционными средствами машинно-ориентированных языков.

Характеристики

Тип файла
PDF-файл
Размер
14,34 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6363
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее