🗊Презентация Работа в Ассемблере ТАSМ

Нажмите для полного просмотра!
Работа в Ассемблере ТАSМ, слайд №1Работа в Ассемблере ТАSМ, слайд №2Работа в Ассемблере ТАSМ, слайд №3Работа в Ассемблере ТАSМ, слайд №4Работа в Ассемблере ТАSМ, слайд №5Работа в Ассемблере ТАSМ, слайд №6Работа в Ассемблере ТАSМ, слайд №7Работа в Ассемблере ТАSМ, слайд №8Работа в Ассемблере ТАSМ, слайд №9Работа в Ассемблере ТАSМ, слайд №10Работа в Ассемблере ТАSМ, слайд №11Работа в Ассемблере ТАSМ, слайд №12Работа в Ассемблере ТАSМ, слайд №13Работа в Ассемблере ТАSМ, слайд №14Работа в Ассемблере ТАSМ, слайд №15Работа в Ассемблере ТАSМ, слайд №16Работа в Ассемблере ТАSМ, слайд №17Работа в Ассемблере ТАSМ, слайд №18

Вы можете ознакомиться и скачать презентацию на тему Работа в Ассемблере ТАSМ. Доклад-сообщение содержит 18 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Работа в Ассемблере ТАSМ, слайд №1
Описание слайда:

Слайд 2





Жизненный цикл программы
1. Постановка и формулировка задачи:
изучение предметной области и сбор материала в проблемно-ориентированном контексте;
определение назначения программы, выработка требований к ней и представление требований, если возможно, в формализованном виде;
формулирование требований к представлению исходных данных и выходных результатов;
определение структур входных и выходных данных;
формирование ограничений и допущений на исходные и выходные данные.
Описание слайда:
Жизненный цикл программы 1. Постановка и формулировка задачи: изучение предметной области и сбор материала в проблемно-ориентированном контексте; определение назначения программы, выработка требований к ней и представление требований, если возможно, в формализованном виде; формулирование требований к представлению исходных данных и выходных результатов; определение структур входных и выходных данных; формирование ограничений и допущений на исходные и выходные данные.

Слайд 3





Жизненный цикл программы
2. Этап проектирования:
формирование ≪ассемблерной≫ модели задачи;
выбор метода реализации задачи;
разработка алгоритма реализации задачи;
разработка структуры программы в соответствии с выбранной моделью памяти.
3. Этап кодирования:
уточнение структуры входных и выходных данных и определение ассемблерного формата их представления;
программирование задачи;
комментирование текста и составление предварительного описания программы.
Описание слайда:
Жизненный цикл программы 2. Этап проектирования: формирование ≪ассемблерной≫ модели задачи; выбор метода реализации задачи; разработка алгоритма реализации задачи; разработка структуры программы в соответствии с выбранной моделью памяти. 3. Этап кодирования: уточнение структуры входных и выходных данных и определение ассемблерного формата их представления; программирование задачи; комментирование текста и составление предварительного описания программы.

Слайд 4





Жизненный цикл программы
4. Этап отладки и тестирования:
составление тестов для проверки работоспособности программы;
обнаружение, локализация и устранение в программе ошибок, выявленных в тестах;
корректировка кода программы и ее описания.
5. Этап эксплуатации и сопровождения:
настройка программы на конкретные условия использования;
обучение пользователей работе с программой;
организация сбора сведений о сбоях в работе программы, ошибках в выходных данных, пожеланиях по улучшению интерфейса и удобства работы с программой;
модификация программы с целью устранения выявленных ошибок и, при необходимости, изменения ее функциональных возможностей.
Описание слайда:
Жизненный цикл программы 4. Этап отладки и тестирования: составление тестов для проверки работоспособности программы; обнаружение, локализация и устранение в программе ошибок, выявленных в тестах; корректировка кода программы и ее описания. 5. Этап эксплуатации и сопровождения: настройка программы на конкретные условия использования; обучение пользователей работе с программой; организация сбора сведений о сбоях в работе программы, ошибках в выходных данных, пожеланиях по улучшению интерфейса и удобства работы с программой; модификация программы с целью устранения выявленных ошибок и, при необходимости, изменения ее функциональных возможностей.

Слайд 5


Работа в Ассемблере ТАSМ, слайд №5
Описание слайда:

Слайд 6





Трансляция программы
Решаются задачи:
перевод команд ассемблера в соответствующие машинные команды;
построение таблицы символов;
расширение макросов;
формирование файла листинга и объектного модуля.
Программа, которая реализует эти задачи, называется ассемблером. Итог работы ассемблера —  файл объектного модуля и файл листинга.
Объектный модуль включает в себя представление исходной программы в машинных кодах и некоторую другую информацию, необходимую для отладки и компоновки его с другими модулями.
Файл листинга содержит код ассемблера исходной программы. Для каждой команды ассемблера указываются ее машинный (объектный) код и смещение в кодовом сегменте. В конце листинга TASM формирует таблицы с информацией о метках и сегментах, используемых в программе, а также сообщения об ошибках.
Описание слайда:
Трансляция программы Решаются задачи: перевод команд ассемблера в соответствующие машинные команды; построение таблицы символов; расширение макросов; формирование файла листинга и объектного модуля. Программа, которая реализует эти задачи, называется ассемблером. Итог работы ассемблера — файл объектного модуля и файл листинга. Объектный модуль включает в себя представление исходной программы в машинных кодах и некоторую другую информацию, необходимую для отладки и компоновки его с другими модулями. Файл листинга содержит код ассемблера исходной программы. Для каждой команды ассемблера указываются ее машинный (объектный) код и смещение в кодовом сегменте. В конце листинга TASM формирует таблицы с информацией о метках и сегментах, используемых в программе, а также сообщения об ошибках.

Слайд 7





Трансляция программы
Формат командной строки для запуска tasm.exe:
TASM [опции] имя_исходного_файла [,имя_объектного_файла] [,имя_файла_листинга] [,имя_перекрестных _ссылок]
если имена объектного файла, файла листинга и файла перекрестных ссылок должны совпадать с именем исходного файла, то нужно просто поставить запятые вместо имен этих файлов:
tasm.exe prg_6_l , , ,
если имена объектного файла, файла листинга и/или файла перекрестных ссылок не должны совпадать с именем исходного файла, то нужно в командной строке указать имена нужных файлов в соответствующем порядке.
если требуется выборочное создание файлов, то вместо ненужных файлов необходимо подставить параметр nul
Описание слайда:
Трансляция программы Формат командной строки для запуска tasm.exe: TASM [опции] имя_исходного_файла [,имя_объектного_файла] [,имя_файла_листинга] [,имя_перекрестных _ссылок] если имена объектного файла, файла листинга и файла перекрестных ссылок должны совпадать с именем исходного файла, то нужно просто поставить запятые вместо имен этих файлов: tasm.exe prg_6_l , , , если имена объектного файла, файла листинга и/или файла перекрестных ссылок не должны совпадать с именем исходного файла, то нужно в командной строке указать имена нужных файлов в соответствующем порядке. если требуется выборочное создание файлов, то вместо ненужных файлов необходимо подставить параметр nul

Слайд 8





Трансляция программы
Формат строки в файле листинга:
<глубина_вложенности> <номер_строки> <смещение> <машинный_код> <исходный_код>
глубина_вложенности — уровень вложенности включаемых файлов или макрокоманд в файле.
номер_строки — номер строки в файле листинга. Номера строк листинга могут не соответствовать номерам строк в исходном файле.
смещение — смещение в байтах текущей команды относительно начала сегмента кода. Это смещение называют также счетчиком адреса. Величину смещения вычисляет транслятор для адресации в сегменте кода.
машинный_код — машинное представление команды ассемблера, представленной далее в этой строке полем исходный_код.
исходный_код — строка кода из исходного файла.
Описание слайда:
Трансляция программы Формат строки в файле листинга: <глубина_вложенности> <номер_строки> <смещение> <машинный_код> <исходный_код> глубина_вложенности — уровень вложенности включаемых файлов или макрокоманд в файле. номер_строки — номер строки в файле листинга. Номера строк листинга могут не соответствовать номерам строк в исходном файле. смещение — смещение в байтах текущей команды относительно начала сегмента кода. Это смещение называют также счетчиком адреса. Величину смещения вычисляет транслятор для адресации в сегменте кода. машинный_код — машинное представление команды ассемблера, представленной далее в этой строке полем исходный_код. исходный_код — строка кода из исходного файла.

Слайд 9


Работа в Ассемблере ТАSМ, слайд №9
Описание слайда:

Слайд 10


Работа в Ассемблере ТАSМ, слайд №10
Описание слайда:

Слайд 11


Работа в Ассемблере ТАSМ, слайд №11
Описание слайда:

Слайд 12





Компоновка программы
Цель этапа — преобразование кода и данных в объектных файлах в их перемещаемое выполняемое отображение.
Формат командной строки для запуска компоновщика:
TLINK [опции] список_объектных_файлов [,имя_загрузочного_модуля] [,имя_файла_карты] [,имя_файла_библиотеки] [,имя_файла_определений] [,имя_ресурсного_файла]
список_объектных_файлов — список компонуемых файлов с расширением .obj. Файлы разделяются пробелами или знаком + .
имя_загрузочного_модуля — если не указано, то имя загрузочного модуля будет совпадать с первым именем в списке имен объектных файлов.
имя_файла_карты — параметр для создания специального файла с картой загрузки (перечисляются имена, адреса загрузки и размеры всех сегментов, входящих в программу).
имя_файла_библиотеки — путь к файлу библиотеки (.lib). Этот файл создается и обслуживается специальной утилитой tlib.exe
имя_файла_определений — путь к файлу определений (.def). Файл используется при компоновке Windows-приложений
имя_ресурсного_файла — путь к файлу с ресурсами Windows-приложения (.res).
Описание слайда:
Компоновка программы Цель этапа — преобразование кода и данных в объектных файлах в их перемещаемое выполняемое отображение. Формат командной строки для запуска компоновщика: TLINK [опции] список_объектных_файлов [,имя_загрузочного_модуля] [,имя_файла_карты] [,имя_файла_библиотеки] [,имя_файла_определений] [,имя_ресурсного_файла] список_объектных_файлов — список компонуемых файлов с расширением .obj. Файлы разделяются пробелами или знаком + . имя_загрузочного_модуля — если не указано, то имя загрузочного модуля будет совпадать с первым именем в списке имен объектных файлов. имя_файла_карты — параметр для создания специального файла с картой загрузки (перечисляются имена, адреса загрузки и размеры всех сегментов, входящих в программу). имя_файла_библиотеки — путь к файлу библиотеки (.lib). Этот файл создается и обслуживается специальной утилитой tlib.exe имя_файла_определений — путь к файлу определений (.def). Файл используется при компоновке Windows-приложений имя_ресурсного_файла — путь к файлу с ресурсами Windows-приложения (.res).

Слайд 13





Отладка программы
Цель этапа — проверка правильности функционирования как отдельных фрагментов кода, так и программы в целом в соответствии с алгоритмом. Включает в себя тестирование программы, т.е. проверку ее работы на «пограничных» и заведомо некорректных исходных данных. Специфика программ на ассемблере состоит в том, что они интенсивно работают с аппаратными ресурсами компьютера. Это обстоятельство заставляет программиста постоянно отслеживать содержимое определенных регистров и областей памяти.
Типы отладчиков:
интегрированные отладчики, реализованные в виде интегрированной среды, напоминающей среду для языков высокого уровня (Turbo Pascal, Visual C и т. д.);
автономные отладчики, представляющие собой отдельные программы.
Описание слайда:
Отладка программы Цель этапа — проверка правильности функционирования как отдельных фрагментов кода, так и программы в целом в соответствии с алгоритмом. Включает в себя тестирование программы, т.е. проверку ее работы на «пограничных» и заведомо некорректных исходных данных. Специфика программ на ассемблере состоит в том, что они интенсивно работают с аппаратными ресурсами компьютера. Это обстоятельство заставляет программиста постоянно отслеживать содержимое определенных регистров и областей памяти. Типы отладчиков: интегрированные отладчики, реализованные в виде интегрированной среды, напоминающей среду для языков высокого уровня (Turbo Pascal, Visual C и т. д.); автономные отладчики, представляющие собой отдельные программы.

Слайд 14





Turbo Debugger
Позволяет решить две главные задачи:
определить место логической ошибки;
определить причину логической ошибки.
Возможности TD:
трассировка программы в прямом направлении, т.е. последовательное выполнение программы, при котором за один шаг выполняется одна машинная инструкция;
трассировка программы в обратном направлении, т.е. выполнение программы по одной команде за один шаг, но в обратном направлении;
просмотр и изменение состояния аппаратных ресурсов процессора во время трассировки.
Формат командной строки для запуска отладчика:
TD имя_исполняемого_модуля
Описание слайда:
Turbo Debugger Позволяет решить две главные задачи: определить место логической ошибки; определить причину логической ошибки. Возможности TD: трассировка программы в прямом направлении, т.е. последовательное выполнение программы, при котором за один шаг выполняется одна машинная инструкция; трассировка программы в обратном направлении, т.е. выполнение программы по одной команде за один шаг, но в обратном направлении; просмотр и изменение состояния аппаратных ресурсов процессора во время трассировки. Формат командной строки для запуска отладчика: TD имя_исполняемого_модуля

Слайд 15





Turbo Debugger
Правильная организация процесса получения исполняемого модуля, пригодного для отладки на уровне исходного текста.
В исходной программе обязательно должна быть определена метка для первой команды, с которой начнется выполнение программы. Такая метка может быть собственно меткой или именем процедуры. Имя этой метки обязательно должно быть указано в конце программы в качестве операнда директивы END: еnd имя_метки
Исходный модуль должен быть оттранслирован с ключом /zi: tasm /zi имя_исходного_модуля , , , Ключ разрешает транслятору сохранить связь символических имен в программе с их смещениями в сегменте кода, что позволяет выполнять отладку, используя оригинальные имена.
Редактирование модуля должно быть осуществлено с ключом /v: tlink /v имя_объектного_модуля Ключ указывает на необходимость сохранения отладочной информации в исполняемом файле.
Описание слайда:
Turbo Debugger Правильная организация процесса получения исполняемого модуля, пригодного для отладки на уровне исходного текста. В исходной программе обязательно должна быть определена метка для первой команды, с которой начнется выполнение программы. Такая метка может быть собственно меткой или именем процедуры. Имя этой метки обязательно должно быть указано в конце программы в качестве операнда директивы END: еnd имя_метки Исходный модуль должен быть оттранслирован с ключом /zi: tasm /zi имя_исходного_модуля , , , Ключ разрешает транслятору сохранить связь символических имен в программе с их смещениями в сегменте кода, что позволяет выполнять отладку, используя оригинальные имена. Редактирование модуля должно быть осуществлено с ключом /v: tlink /v имя_объектного_модуля Ключ указывает на необходимость сохранения отладочной информации в исполняемом файле.

Слайд 16





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

Слайд 17





Turbo Debugger
Окно CPU - отражает состояние процессора и состоит из пяти подчиненных окон.
В окне с исходной программой в дизассемблированном виде представлена та же самая программа, что и в окне Module, но уже в машинных кодах. Пошаговую отладку можно производить прямо в этом окне; строка с текущей командой подсвечивается.
В окне регистров процессора (Registers) отражается текущее содержимое регистров. 
В окне флагов (Flags) отражается текущее состояние флагов процессора в соответствии с их мнемоническими названиями.
В окне стека (Stack) отражается содержимое памяти, выделенной для стека. Адрес области стека определяется содержимым регистров SS и SP.
Окно дампа оперативной памяти (Dump) отражает содержимое области памяти по адресу, который формируется из компонентов, указанных в левой части окна. В окне можно увидеть содержимое произвольной области памяти. Для этого нужно в контекстном меню выбрать нужную команду.
Описание слайда:
Turbo Debugger Окно CPU - отражает состояние процессора и состоит из пяти подчиненных окон. В окне с исходной программой в дизассемблированном виде представлена та же самая программа, что и в окне Module, но уже в машинных кодах. Пошаговую отладку можно производить прямо в этом окне; строка с текущей командой подсвечивается. В окне регистров процессора (Registers) отражается текущее содержимое регистров. В окне флагов (Flags) отражается текущее состояние флагов процессора в соответствии с их мнемоническими названиями. В окне стека (Stack) отражается содержимое памяти, выделенной для стека. Адрес области стека определяется содержимым регистров SS и SP. Окно дампа оперативной памяти (Dump) отражает содержимое области памяти по адресу, который формируется из компонентов, указанных в левой части окна. В окне можно увидеть содержимое произвольной области памяти. Для этого нужно в контекстном меню выбрать нужную команду.

Слайд 18





Ассемблер MASM корпорации Microsoft
Основные программы:
masm.exe — ассемблер;
ml.exe — ассемблер и компоновщик (Masm and Link);
link.exe — компоновщик;
cv.exe — отладчик (CodeView)
Командная строка ml.exe:
ml [ключи] исх_файл_1 [[ключи] исх_файл_2] . . . [/link ключи_link]
Ключи командной строки для ml.exe чувствительны к регистру.
Командная строка masm.exe:
masm [ключи] исх_файл [, [объектный_файл] [, [файл_листинга]
[, [файл_перекрестных_ссылок]]]]
Компоновщик компонует (объединяет) объектные файлы и библиотеки в исполняемый файл или динамически компонуемую библиотеку (DLL). 
Командная строка Link.exe:
link [ключи] объект_файлы [,[исполн_файл][,[файл_карты][,[файлы_6иблиотек] [ , [ def _ файл] ] ] ] ] [ ; ]
Описание слайда:
Ассемблер MASM корпорации Microsoft Основные программы: masm.exe — ассемблер; ml.exe — ассемблер и компоновщик (Masm and Link); link.exe — компоновщик; cv.exe — отладчик (CodeView) Командная строка ml.exe: ml [ключи] исх_файл_1 [[ключи] исх_файл_2] . . . [/link ключи_link] Ключи командной строки для ml.exe чувствительны к регистру. Командная строка masm.exe: masm [ключи] исх_файл [, [объектный_файл] [, [файл_листинга] [, [файл_перекрестных_ссылок]]]] Компоновщик компонует (объединяет) объектные файлы и библиотеки в исполняемый файл или динамически компонуемую библиотеку (DLL). Командная строка Link.exe: link [ключи] объект_файлы [,[исполн_файл][,[файл_карты][,[файлы_6иблиотек] [ , [ def _ файл] ] ] ] ] [ ; ]



Похожие презентации
Mypresentation.ru
Загрузить презентацию