Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Иванова Г.С., Ничушкина Т.Н. - Программирование на ассемблере MASM32 в среде RADAsm с использованием 32-разрядного отладчика OlleDBG

Иванова Г.С., Ничушкина Т.Н. - Программирование на ассемблере MASM32 в среде RADAsm с использованием 32-разрядного отладчика OlleDBG

PDF-файл Иванова Г.С., Ничушкина Т.Н. - Программирование на ассемблере MASM32 в среде RADAsm с использованием 32-разрядного отладчика OlleDBG Языки интернет-программирования (17403): Книга - 5 семестрИванова Г.С., Ничушкина Т.Н. - Программирование на ассемблере MASM32 в среде RADAsm с использованием 32-разрядного отладчика OlleDBG: Языки интернет-2017-12-28СтудИзба

Описание файла

PDF-файл из архива "Иванова Г.С., Ничушкина Т.Н. - Программирование на ассемблере MASM32 в среде RADAsm с использованием 32-разрядного отладчика OlleDBG", который расположен в категории "". Всё это находится в предмете "языки интернет-программирования" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "языки интернет-программирования" в общих файлах.

Просмотр PDF-файла онлайн

Текст из PDF

ОглавлениеАннотация ..........................................................................................................3Лабораторная работа № 1. Изучение среды и отладчика ассемблера . .41. Начало работы со средой ....................................................................................................52. Запуск заготовки приложения ............................................................................................83. Создание простейшей программы ...................................................................................114.

Просмотр выполнения программы в отладчике .............................................................125. Описание данных в программе на ассемблере ................................................................14Задание ....................................................................................................................................16Контрольные вопросы ...........................................................................................................18Лабораторная работа № 2.

Программирование целочисленныхвычислений .....................................................................................................191. Форматы машинных команд IA-32 ..................................................................................202. Команды целочисленной арифметики IA-32 ..................................................................233. Пример линейной программы ..........................................................................................274. Организация ввода-вывода ...............................................................................................28Задание ....................................................................................................................................31Контрольные вопросы ...........................................................................................................32Литература ..............................................................................................................................33Приложение.

Наиболее важные настройки среды RADAsm .................342МГТУ им. Н.Э. БауманаФакультет «Информатика и Системы Управления»Кафедра ИУ-6 «Компьютерные системы и сети»Иванова Галина Сергеевна, Ничушкина Татьяна НиколаевнаПрограммирование на ассемблере MASM32 в среде RADAsm с использованием 32-разрядного отладчика OlleDBGМетодические указания к лабораторным работам по курсу Системное программное обеспечениеМОСКВА2010 год МГТУ им. БауманаОглавление3АннотацияМетодические указания предназначены для студентов, слушающих курс Системного программного обеспечения. Большая часть лабораторных по этому курсу выполняется на ассемблере MASM32. В качестве среды программирования при этом используется RADAsm.

Данная среда позволяет осуществлять ввод программ на ассемблере, их ассемблирование, компоновку и выполнение в консольном и обычном режимах Windows.Для отладки программ к среде подключен 32-разрядный отладчик OlleDBG.Настоящие указания содержат необходимые теоретические сведения, практические рекомендации и задания по выполнению двух первых работ в указанной среде программирования.Оглавление4Лабораторная работа № 1.

Изучение среды и отладчика ассемблераMasm32 – специализированный пакет программирования на языке ассемблера IA32. Являясь продуктом фирмы Microsoft, он максимально приспособлен для созданияWindows-приложений на ассемблере. Кроме транслятора, компоновщика и необходимыхбиблиотек пакет Masm32 включает сравнительно простой текстовый редактор и некоторые инструменты, предназначенные для облегчения программирования на ассемблере.Однако набор инструментов не содержит 32-х разрядного отладчика и предполагает работу в командном режиме, что не очень удобно.В лабораторных работах для создания программ будет использоваться специализированная интегрированная среда RADAsm, которая помимо других ассемблеров позволяет использовать Masm32.

Точнее будет использоваться специально настроенная среда –«сборка» RADAsm + OlleDBG, где OlleDBG – 32-х разрядный отладчик.Целью лабораторной работы является изучение среды RADAsm, а также структурыпрограммы на ассемблере и форматов директив объявления констант и переменных.Оглавление51. Начало работы со средойПрограммная среда инициируется запуском программы RADAsm.exe.После вызова на экране появляется окно среды RADAsm, в котором обычно высвечивается последняя программа, отлаживаемая предыдущий раз (см. рисунок 1).Рисунок 1 – Окно интегрированной среды RADAsmДля создания нового проекта необходимо выбрать пункт меню Файл/Новыйпроект, после чего на экране появится первое окно четырехоконного Мастера созданияпроекта (см.

рисунок 2).Рисунок 2 – Окно мастера создания нового проектаОглавление6В этом окне необходимо выбрать тип проекта – в нашем случае Console App (консольное приложение), а также ввести его имя, например, Lab01, описание, например,«Лабораторная работа № 1», и путь к создаваемой средой новой папке с именем проекта.В следующем окне Мастера выбирается шаблон проекта – conapp.tpl – специальносозданный для лабораторных работ шаблон консольного приложения.Предпоследнее окно Мастера предлагает выбрать типы создаваемых файлов – выбираем Asm (исходные файлы ассемблера), и папки – выбираем папку Bak, используемую для размещения предыдущих копий файлов.Последнее окно Мастера определяет доступные для работы с проектом пунктыменю запуска приложения Создать и выполняемые команды.

В данной сборке выполняемые команды уже настроены, поэтому в нем можно ничего не менять, хотя использоваться будут не все пункты созданного меню, а только следующие: Assemble (транслироватьили, точнее, ассемблировать), Link (компоновать), Run (выполнить) и Run w/Debug (выполнить в подключенном отладчике).В результате будет получена заготовка консольного приложения Windows. Просмотреть эту заготовку можно, дважды щелкнув левой клавишей мыши по файлуLab01.asm в окне навигатора Project, расположенном справа вверху.Заготовка содержит:•директивы, определяющие набор команд, модель памяти, конвенциюпередачи данных и опцию различия строчных и прописных букв;•директивы подключения библиотек;•разделы констант, инициализированных и неинициализированных дан-ных с минимально необходимыми директивами определения данных;•раздел кода, процедуры в котором обеспечивают задержку закрытия окнадо нажатия любой клавиши.; Template for console application.586.MODEL- комментарий; подключение набора команд Реntiumflat, stdcall ; модель памяти и; конвенция о передаче параметровOPTION CASEMAP:NONE ; опция различия строчных;и прописных буквОглавление7Include kernel32.inc; подключение описаний процедур иInclude masm32.inc; константIncludeLib kernel32.lib ; подключение библиотекIncludeLib masm32.lib.CONSTMsgExitDB.DATA; начало раздела констант"Press Enter to Exit",0AH,0DH,0;раздел инициализированных переменных.DATA? ;раздел неинициализированных переменныхinbufDB.CODE100 DUP (?); начало сегмента кодаStart:;;Место, кудаAdd you statementsдобавляется код;Invoke StdOut,ADDR MsgExit; вывод сообщенияInvoke StdIn,ADDR inbuf,LengthOf inbuf; ввод строкиInvoke ExitProcess,0; завершение программыEnd; конец модуляStartЗаготовку, как в других средах программирования, можно запустить на выполнение.

Она содержит вызовы процедур, обеспечивающие вывод на экран запроса «PressEnter to Exit» (Нажмите клавишу Enter для выхода) и ввод строки. Это сделано для того,чтобы задержать автоматическое закрытие окна консоли при завершении программы донажатия клавиши Enter.Оглавление82. Запуск заготовки приложенияДля запуска заготовки необходимо выполнить:•трансляцию Создать/Assemble,•компоновку Создать/Link,•запуск на выполнение Создать/Run.В процессе трансляции (ассемблирования) исходная программа на ассемблерепреобразуется в двоичный эквивалент. Если трансляция проходит нормально, то в окнеOutput, которое появляется под окном программы, выводится текст:C:\Masm32\Bin\ML.EXE /c /coff /Cp /nologo/I"C:\Masm32\Include" "Lab01.asm"Assembling: Lab01.asmMake finished.Total compile time 78 msПримечание – Окно Output появляется и закрывается.

Чтобы повторно посмотреть результаты, необходимо установить курсор мыши на верхнюю часть строки состояния под окном текста программы (нижнюю рамку окна Output).Первая строка сообщения об ассемблировании – вызов ассемблера:C:\Masm32\Bin\ML.EXE – полное имя файла транслятора ассемблера masm32 (путь +имя), за которым следуют опции:/c – заказывает ассемблирование без автоматической компоновки,/coff – определяет формат объектного модуля Microsoft (coff),/Cp – означает сохранение регистра строчных и прописных букв всех идентификаторов программы,/nologo – осуществляет подавление вывода сообщений на экран в случаеуспешного завершения ассемблирования,/I"C:\Masm32\Include" – определяет местонахождение вставляемых (.inc)файлов,и параметр "Lab01.asm" – задает имя обрабатываемого файла.Оглавление9Остальные строки – сообщение о начале и завершении процесса ассемблирования ивремени выполнения этого процесса.Результатом нормального завершения ассемблирования является создание файла,содержащего объектный модуль программы, – файла Lab01.obj.Если при ассемблировании обнаружены ошибки, то объектный модуль не создаетсяи после сообщения о начале ассемблирования идут сообщения об ошибках, например:Lab01.asm(26) : error A2006: undefined symbol : EAYВ сообщении указывается:• номер строки исходного текста (в скобках),• номер ошибки, под которым она описана в документации,• возможная причина.После исправления ошибок процесс ассемблирования повторяют.Следующий этап – компоновка программы.

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