Введение
Ассемблер позволяет очень просто опуститься до «работы на уровне бит», чего не позволяют осуществить с такой легкостью многие языки высокого уровня. Хотя ассемблер и не поддерживает такие технологии, как ООП, но все же в нем есть макросредства, возможность писать модули, процедуры, что так же упрощает разбивку программы на более простые логические блоки с целью лучшего понимания программы и возможности вносить изменения только в часть кода не изменяя при этом весь код программы.
В ассемблере удобно то, что мы сами решаем какого типа числа мы храним в ячейках памяти (знаковые или беззнаковые, упакованные).
В данной работе разрабатываются модуль для вычисления значения функции, который впоследствии подключается к программе в которой осуществляется ввод исходных данных с контролем допусимого значения в таблицу, а также отображение этой таблице на устройстве вывода, а также модуль для работы со строками, который впоследствии может использоваться для обработки больших массивов текстовой информации с высоким быстродействием.
1. Теоретические сведения
1.1 Преимущества написания программы на ассемблере
Так как язык ассемблера для компьютера «родной», то и самая эффективная программа может быть написана только на нем (при условии, что ее пишет квалифицированный программист). Здесь есть одно маленькое «но»: это очень трудоемкий, требующий большого внимания и практического опыта процесс. Поэтому реально на ассемблере пишут в основном программы, которые должны обеспечить эффективную работу с аппаратной частью. Иногда на ассемблере пишутся критичные по времени выполнения или расходованию памяти участки программы. Впоследствии они оформляются в виде подпрограмм и совмещаются с кодом на языке высокого уровня.
Язык ассемблера будет существовать, пока будут существовать процессоры. Это не преходяще и не подвержено моде. Владение языком ассемблера дает ощущение полного обладания компьютером, власти над ним.
С помощью ассемблера можно создавать самый компактный и быстрый код. Ни один компилятор языков высокого уровня не может давать таких результатов. Многие модули операционных систем или даже операционные системы целиком было написано на языке ассемблера.
1.2 Типы данных
При программировании на языке ассемблера используются данные следующих типов:
– Непосредственные данные, представляющие собой числовые или символьные значения, являющиеся частью команды.
Непосредственные данные формируются программистом в процессе написания программы для конкретной команды ассемблера.
– Данные простого типа, описываемые с помощью ограниченного набора директив резервирования памяти, позволяющих выполнить самые элементарные операции по размещению и инициализации числовой и символьной информации. При обработке этих директив ассемблер сохраняет в своей таблице символов информацию о местоположении данных (значения сегментной составляющей адреса и смещения) и типе данных, то есть единицах памяти, выделяемых для размещения данных в соответствии с директивой резервирования и инициализации данных.
Эти два типа данных являются элементарными, или базовыми; работа с ними поддерживается на уровне системы команд микропроцессора. ............