русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Язык ассемблер

Ассемблер (англ. assembler) - общепринятое название транслятора из автокода. Ассемблер переводит исходную программу, написанную на автокоде, в перемещаемую программу на языке машинной. Поскольку ассемблер осуществляет трансляцию на язык загрузчика, при загрузке программы необходима настройка условных адресов, т.е. адресов, значения которых зависят от расположения данной программы в памяти ЦВМ и от ее связей с другими, независимо транслируемыми программами.

В простейшем случае, ассемблер переводит одно предложение начальной программы в один объект (команду, константу) модуля загрузки (т. наз. трансляция «один в один»). При этом взаимное расположение объектов в модуле загрузки и в памяти машины определяется порядком предложений в исходной программе на автокод, и полностью зависит от программиста. Ассемблер выполняет и вспомогательные функции, такие, как подготовка к печати документов необходимой формы, регистрация связей данной программы с другими программами и т. д. Для этой цели в автокодах предусматриваются команды ассемблера, которые не порождают объектов в рабочей программе и предназначены только для указания вспомогательных действий ассемблера.

Трансляция обычно требует двух просмотров исходной программы: при первом просмотре осуществляется распределение памяти и предоставления значений символическим именам, при втором - формируется рабочая программа в виде модуля загрузки. В процессе трансляции, ассемблер проводит полный синтаксический контроль исходной программы (см. синтаксический анализ программ), обеспечивая при этом достаточно точную диагностику ошибок по месту и характеру.

Расширение возможностей автокодов достигается за счет использования макрокоманд, которые строятся по правилам, близким к правилам написания команд автокодов, но описывающих сложные функции, для реализации которых нужна группа обычных команд. В этом случае, перед трансляцией, производится замена макрокоманд, макрорасширение - последовательностями команд на базовом языке, согласно макроопределениям. В последних, задается прототип макрокоманды со структурой списка параметров и процедура генерирования макрорасширения. Транслятор, выполняющий функции макрогенератора и ассемблера, называется макроассемблером. При трансляции с языков высокого уровня, ассемблер нередко используется для выполнения завершающей фазы трансляции.

Ассемблер (assembler) - система программирования, включающая язык ассемблера и транслятор с этого языка. Является языком программирования низкого уровня. Чем ниже уровень языка программирования, тем ближе специфика работы программы к самому процессору, для которого она и была написана. Считается, что языки низкого уровня более сложные и требуют более узкой специализации программиста, поскольку программа написана на ассемблере для одного типа процессоров, окажется не всегда пригодной для работы с другими процессорами. Кроме того, программы написаны на ассемблере компактные и быстрые, что тоже является немаловажным.
Пока существуют процессоры, будет существовать и ассемблер.

Описание языка Ассемблера

Команды языка ассемблера соответствуют машинным кодам соответствующего микропроцессора или микроконтроллера. Фактически, речь ассемблера представляет собой более удобную символьную форму записи машинных команд. Как следствие, программы, написанные для одного типа процессоров, на другом не будут функционировать. Язык ассемблера также содержит средства для создания меток и переходов, что необходимо для создания циклов и ветвлений. Могут быть имеющиеся средства для создания макросов, процедур. Каждое семейство (модельный ряд) микропроцессоров имеет свой набор команд и, соответственно, свой набор инструкций на языке ассемблера.

Синтаксис

Intel-синтаксис

Intel-синтаксис является одним из самых распространенных, используется для IBM-совместимых компьютеров.

AT T-синтаксис

Отличается от Intel-синтаксиса наличием суффиксов к мнемоникам и префиксов к операндам.

Использование языка ассемблера и языков семейства С

Иногда возникает необходимость использования ассемблера при программировании на языках высокого уровня, часто при обращении к оборудованию.

Просмотров: 3408

Оглавление: Компьютерная графика и информация в компьютерной сфере


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.