Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB_01 система.docx
Скачиваний:
28
Добавлен:
02.02.2015
Размер:
478.82 Кб
Скачать

Лабораторная работа 1

  1. Использование ассемблера при проектировании приложений

Цель работы: знакомство с технологией применения языка низкого уровня при разработке программного обеспечения.

    1. План работы

1. Изучить правила формирования проекта с использованием языка низкого уровня в системе программирования Visual studio 2010.

2. Изучить особенности формирования текста программы на языке ассемблера.

3. Освоить практические навыки отладки программы на уровне машинных команд.

    1. Указания к выполнению работы

      1. Система программирования Visual Studio

Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework и Microsoft Silverlight.

Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).

Использование языка ассемблера при разработке программ возможно несколькими способами:

встроенный ассемблер;

формирование отдельных модулей на языке ассемблера;

полная разработка приложения на языке низкого уровня.

В первом случае машинные команды вставляются в текст программы на языке высокого уровня с применением директивы _asm. Напрмер :

int _tmain(int argc, _TCHAR* argv[])

{

int t;

int h;

...

t=4;

h=5;

...

_asm mov eax, t

_asm add h,eax

...

return 0;

}

Если требуется вставка нескольких команд необходимо использовать блок фигурные скобки:

_asm

{

mov eax, t

add h,eax

}

При использовании встроенного ассемблера следует учитывать особенности использования регистров центрального процессора при трансляции программы. Кроме того, не все команды машинного уровня можно использовать после директивы _asm.

При написаниикода на языке C/C++ перед командами ассемблера не требуется сохранить регистры EAX, EBX, ECX ESI, EDX EDI.Другие регистрынеобходимо сохранять перед началом блока_asm блок и восстанавливать после окончания блока.

Если в проекте имеются отдельные модули на языке ассемблера, то необходимо согласовать использование модели памяти и правил формирования имен переменных и функций.

Отдельные модули на языке ассемблера применяются для формирования функций, которые не могут быть написаны на языке высокого уровня либо к которым предъявляются повышенные требования по эффективности (быстродействию).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]