Курсовая работа: Выполнение арифметических действий и строковых операций
2. Строки
2.1. Написать модуль на языке Ассемблера для обработки строк.
2.2. Написать на языке Ассемблера программу корректного ввода исходных данных.
2.4. Произвести тестовые проверки, сделать анализ результатов.
Ввести 2 строки символов. Вставить вторую строку в первую, начиная с заданного символа.
2.Теоретическая часть
2.1 Уровни языков программирования
Любой язык программирования относится к одному из следующих уровней.
· Машинный язык – представляет собой совокупность машинных инструкций, непосредственно исполняемые процессором. Последовательности таких инструкций составляют операционную систему и встроенную в аппаратную часть компьютера программное обеспечение.
· Низкоуровневые языки программирования (ассемблеры) – предназначаются для конкретных семейств процессоров. Символьные инструкции этих языков непосредственно соответствуют инструкциям машинных языков, и программы на ассемблере легко транслируются в машинный код.
· Высокоуровневые языки (С++ или Basic ) – созданы для того, чтобы сосредоточить усилия программистов на решение прикладных задач, не отвлекая их на аппаратные особенности конкретных машин. Команды языков высокого уровня обычно преобразуются в сложные последовательности машинных инструкций.
2.2 Преимущество языка ассемблера
Знание и использование языка программирования дает следующие преимущества:
· ясен способ взаимодействия программы с операционной системой, процессором и BIOS;
· доступен выбор способа представления и хранение данных в операционной памяти и во внешних накопителях;
· можно видеть, как процессор получает инструкции, как инструкции выполняются и как обрабатываются данные;
· доступно непосредственное управление внешними устройствами;
Кроме того, язык ассемблера полезен благодаря следующим свойствам:
· программа, написанная на ассемблере, значительно компактнее и быстрее выполняется, чем написанная на языке программирования высокого уровня;
· ассемблер дает возможность решать узкоспециальные задачи, которые трудно, если вообще возможно, решить на языке высокого уровня;
· хотя большинство программистов разрабатывают новые приложения с использованием языков высокого уровня, программы, которые легче сопровождать и модифицировать, или части программ, критичные в скорости выполнения, весьма часто пишутся на ассемблере;
· резидентные программы (находящиеся в памяти во время выполнения других программ) и обработчики прерываний (выполняющие, например, операции ввода/вывода) почти всегда создаются на языке ассемблера.
2.3 Структура программы на языке ассемблера
Программа на языке ассемблера представляет собой совокупность блоков памяти, называемых сегментами памяти. П рограмма может состоять из одного или нескольких сегментов. Каждый сегмент содержит совокупность предложений языка, каждый из которых занимает отдельную строку кода программы.
Предложения на языке ассемблера бывают 4 типов:
1. Команды или инструкции, представляющие собой символьные аналоги машинных команд. В процессе трансляции эти инструкции преобразуются в соответствующие команды и системы команд микропроцессора.
2. Макрокоманды – оформляемые определенным образом предложения текста программы, замещаемые во время трансляции другими предложениями.
3. Директивы – указания транслятору на выполнение отдельных действий. В директивах нет аналогов в машинном представлении.
4. Строки комментариев – любые последовательности символов, транслятором полностью игнорируются.