
- •1 Оглавление
- •2 Введение
- •3 Описание использованного набора макросредств.
- •4. ИспользованныеApi-функции и системные константы.
- •4.1 Список использованных констант и структур.
- •4.2 Список использованныхApi-функций.
- •4.3 Основы вызова api-функций.
- •5 Демонстрационная программа
- •5.1 Листинг:
- •5.2 Демонстрация работы:
- •6 Вывод
- •7 Литература:
- •8 Программное обеспечение:
Министерство образования и науки Российской Федерации
Государственное образовательное учреждение
высшего профессионального образования
«Ижевский Государственный технический университет им.М.Т.Калашникова»
Кафедра «Вычислительная техника»
Пояснительная записка к курсовой работе по дисциплине
Операционные системы.
«Макросредства ассемблера в Windows»
Выполнил:
студент гр.8-78-2
Орефков А.В.
Принял:
Вахрушева Е.А.
Ижевск,2014
1 Оглавление
1 Оглавление 1
2 Введение 3
3 Описание использованного набора макросредств. 5
3.1Псевдооператор equ 5
Этот псевдооператор предназначен для присвоения некоторому выражению символического имени или идентификатора. Впоследствии, когда в ходе трансляции этот идентификатор встретится в теле программы, макроассемблер подставит вместо него соответствующее выражение. В качестве выражения могут быть использованы константы, имена меток, символические имена и строки в апострофах. После присвоения этим конструкциям символического имени его можно использовать везде, где требуется размещение данной конструкции. 5
3.2Структура 5
4. Использованные API-функции и системные константы. 7
4.1 Список использованных констант и структур. 7
4.2 Список использованных API-функций. 8
5 Демонстрационная программа 12
5.1 Листинг: 12
5.2 Демонстрация работы: 21
6 Вывод 23
7 Литература: 24
8 Программное обеспечение: 24
2 Введение
Целью курсовой работы является изучение основ программирования на 32-битном ассемблере, при помощи которого необходимо разработать программу, демонстрирующую работу одного из разделов ОС WINDOWS.
В данном отчете отражена работа макросредств ассемблера в WINDOWS. На основании описанных функций разработана программа, иллюстрирующая возможности макросредств.
При написании программы на чистом ассемблере часто сталкиваешься с рядом проблем таких как:
плохое понимание исходного текста программы, особенно по прошествии некоторого времени после ее написания;
ограниченность набора команд;
повторяемость некоторых идентичных или незначительно отличающихся участков программы;
необходимость включения в каждую программу участков кода, которые уже были использованы в других программах;
и многое другое
Если бы мы писали программу на машинном языке, то данные проблемы были бы принципиально не решаемыми. Но язык ассемблера, являясь символическим аналогом машинного языка, предоставляет для их решения ряд средств. Основной целью, которая при этом преследуется, является повышение удобства написания программ. В общем случае эта цель достигается по нескольким направлениям за счет следующего:
расширения набора директив;
введения некоторых дополнительных команд, не имеющих аналогов в системе команд микропроцессора.
введения сложных типов данных.
Но это все глобальные направления, по которым развивается сам транслятор от версии к версии. Что же делать программисту для решения его локальной задачи, для облегчения работы в определенной проблемной области? Для этого разработчики компиляторов ассемблера включают в язык и постоянно совершенствуют аппарат макросредств.
В общем случае есть смысл говорить о том, что транслятор ассемблера состоит из двух частей — непосредственно транслятора, формирующего объектный модуль, и макроассемблера (рис. 1).
Рис. 1. Макроассемблер в общей схеме трансляции программы на TASM
Таким образом, обработка программы на ассемблере с использованием макросредств неявно осуществляется транслятором в две фазы(рис. 1). На первой фазе работает часть компилятора, называемая макроассемблером.
На второй фазе трансляции работает непосредственно ассемблер, задачей которого является формирование объектного кода, содержащего текст исходной программы в машинном виде.