ВУЗ:
Составители:
2. Лабораторная работа N 2.
"Дизассемблирование и анализ машинных программ"
Цель работы: изучение принципов дизассемблирования и анализа
машинных программ, получение навыков работы с
программой дизассемблера.
2.1. Принципы дизассемблирования и анализа объектных программ.
Разработка программного обеспечения (ПО) МПС является одним из
наиболее трудоемких этапов проектирования МПС. Именно поэтому до 80%
стоимости разрабатываемой МПС составляет проектирование и отладка
программ.
Для автоматизации разработки ПО могут быть использованы
разнообразные средства, начиная с простейших автономных отладчиков и
кончая специальными многозадачными комплексами разработки и отладки.
Все средства автоматизации проектирования можно разделить на два
большие класса: резидентные и кроссовые(межмашинные).
Резидентными средствами называются программы, которые используются
для разработки программ МПС, реализованные на разрабатываемой или
совместимой по языку МПС.
Кросс-средства используют для разработки программ МПС на иных
чем разрабатываемая МПС микро-, мини- или больших ЭВМ. В этом
случае возможна опережающая разработка программ МПС без наличия
аппаратной части МПС.
Состав резидентных и кросс-средств включает обширный список
разнообразных программ [5,6]. В данной лабораторной работе
рассматривается программа дизассемблера (ДА).
Программа ДА осуществляет перевод объектной программы МП
КР580 на язык ассемблера этого же МП, т.е. производит действия
обратные программе ассемблера.
Начиная дизассемблирование со стартового адреса, ДА выбирает
первый байт машинной программы. Этот байт определяет КОП, по
которому можно точно определить длину команды и содержимое поля
операндов для языка ассемблера.
Для точного восстановления текста программы на языке ассемблера
необходимо знать расположение данных и команд в программе. Поэтому
при неверно заданном стартовом адресе, листинг программы может
содержать неправильные последовательности команд, которые легко
обнаружить в программе по несоответствию логики переходов или
действия команд.
Для анализа правильности восстановления исходной программы
ДА в пакетном режиме работы печатает специальные таблицы для команд
ветвления, вызова и возврата из подпрограмм. Эти таблицы
используются для анализа правильности логики действия команд пе-
реходов и выделения подпрограмм в тексте основной программы. В
диалоговом режиме ДА сразу показывает исходный текст после диз-
Страницы
- « первая
- ‹ предыдущая
- …
- 5
- 6
- 7
- 8
- 9
- …
- следующая ›
- последняя »