Дипломированных специалистов «Информатика и вычислительная техника»



Download 12,06 Mb.
Pdf ko'rish
bet77/357
Sana22.02.2022
Hajmi12,06 Mb.
#115195
TuriДиплом
1   ...   73   74   75   76   77   78   79   80   ...   357
Bog'liq
assembler uchebnik dlya vuzov 2-e izd YuRXUW1

ПРИМЕЧАНИЕ Почему в учебнике много программ для MS-DOS? Ведь времена мас-
сового использования этой операционной системы давно прошли.
На сегодняшний день у этой ОС остался один, но очень важный аспект
ее применения — методический. Опыт показывает, что при обучении
любому языку программирования, в том числе ассемблеру, на первом
месте должен быть сам язык, а не программные средства поддержки
процесса программирования на нем. В этом контексте отметим два
момента. Во-первых, начинающему изучать ассемблер легче объяснить
принципы построения и работы ассемблерных программ в среде ре-
ального режима (MS-DOS), чем защищенного (Windows). По мере
накопления практического опыта и теоретических знаний с целью их
наращивания можно переходить к работе с более сложными приложе-
ниями, в том числе и для операционной системы Windows. Во-вторых,
для большинства изучающих язык ассемблера его освоение является
промежуточным этапом на пути к реализации некоторой большей за-
дачи. Поэтому подавляющее большинство глав данного учебника по-
священо рассмотрению различных групп команд ассемблера, для де-
тального изучения которых вполне достаточно среды реального режима
(MS-DOS).
Пакеты TASM и MASM имеют достаточно эффективные инструменты разра-
ботки программ для среды MS-DOS, работу с которыми вполне по силам освоить
даже начинающему программисту. Конечно, сейчас мало кто пишет программы
для среды MS-DOS, поэтому работу с 16-разрядными инструментами пакетов
TASM и MASM нужно рассматривать как часть методики обучения. Аналогичные


Процесс разработки программы
рассуждения относятся и к средствам отладки. В этой книге для программ TASM
реального режима будет использоваться 16-разрядный отладчик Turbo Debugger
(TD), разработанный фирмой Borland International. Это наиболее удачный отлад-
чик для ассемблерных программ реального режима. Принципиально важно, что
работа с TD прививает навыки, которые наверняка окажутся полезными при ра-
боте с другими отладчиками, например с отладчиком cv.exe из пакета
Отладчик TD представляет собой оконную среду отладки программ на уровне
исходного ассемблерного текста. Он позволяет решить две главные задачи:
определить место логической ошибки;
определить причину логической ошибки.
Перечислим некоторые возможности TD:
* трассировка программы в прямом направлении, то есть последовательное вы-
полнение программы, при котором за один шаг выполняется одна машинная
инструкция;
* трассировка программы в обратном направлении, то есть выполнение програм-
мы по одной команде за один шаг, но в обратном направлении;
просмотр и изменение состояния аппаратных ресурсов процессора во время
трассировки.
Эти действия позволяют определить место и источник ошибки в программе.
Нужно сразу оговориться, что TD не позволяет вносить исправления в исходный
текст программы. Однако после определения причины ошибочной ситуации мож-
но, не завершая работу отладчика, внести исправления прямо в машинный код
и снова запустить программу. Поскольку после завершения работы отладчика эти
изменения не сохраняются, на практике подобное прямое внесение изменений в код
не применяют. Изменения вносят в исходный текст программы, заново создают
загрузочный модуль, который снова загружают в отладчик.
Правильная организация процесса получения исполняемого модуля, пригод-
ного для отладки на уровне исходного текста, рассмотрена ранее. Далее перечис-
лены ключевые моменты этого процесса.
В исходной программе обязательно должна быть определена метка для первой
команды, с которой начнется выполнение программы. Такая метка может быть
собственно меткой или, как видно из листинга
именем процедуры. Имя этой
метки обязательно должно быть указано в конце программы в качестве операн-
да директивы END:
end
В нашем случае эта метка является именем процедуры MAIN.
Исходный модуль должен быть оттранслирован с ключом /zi:
tasm /zi
, , ,
Ключ /zi разрешает транслятору сохранить связь символических имен в про-
грамме с их смещениями в сегменте кода, что позволяет отладчику выполнять
отладку, используя оригинальные имена.
Редактирование модуля должно быть осуществлено с ключом /v:
/v


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

Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   73   74   75   76   77   78   79   80   ...   357




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish