Структура программына языке ассемблера

Структура программына языке ассемблера

Структура программына языке ассемблера




Скачать файл - Структура программына языке ассемблера

















Программа на ассемблере представляет собой совокупность блоков памяти, называемых сегментами памяти. Программа может состоять из одного или нескольких таких блоков-сегментов. Каждый сегмент содержит совокупность предложений языка, каждое из которых занимает отдельную строку кода программы. Предложения ассемблера бывают четырех типов:. В процессе трансляции инструкции ассемблера преобразуются в соответствующие команды системы команд микропроцессора;. У директив нет аналогов в машинном представлении;. Предложения, составляющие программу, могут представлять собой синтаксическую конструкцию, соответствующую команде, макрокоманде, директиве или комментарию. Для того чтобы транслятор ассемблера мог распознать их, они должны формироваться по определенным синтаксическим правилам. Для этого лучше всего использовать формальное описание синтаксиса языка наподобие правил грамматики. Наиболее распространенные способы подобного описания языка программирования — синтаксические диаграммы и расширенные формы Бэкуса—Наура. Для практического использования более удобны синтаксические диаграммы. К примеру, синтаксис предложений ассемблера можно описать с помощью синтаксических диаграмм, показанных на следующих рисунках. В результате обработки ассемблером определенной директивы этому имени могут быть присвоены определенные характеристики;. Операнды ассемблера описываются выражениями с числовыми и текстовыми константами, метками и идентификаторами переменных с использованием знаков операций и некоторых зарезервированных слов. Если такой путь существует, то предложение или конструкция синтаксически правильны. Если такого пути нет, значит эту конструкцию компилятор не примет. При работе с синтаксическими диаграммами обращайте внимание на направление обхода, указываемое стрелками, так как среди путей могут быть и такие, по которым можно идти справа налево. По сути, синтаксические диаграммы отражают логику работы транслятора при разборе входных предложений программы. Допустимыми символами при написании текста программ являются:. При этом заглавные и строчные буквы считаются эквивалентными;. Предложения ассемблера формируются из лексем , представляющих собой синтаксически неразделимые последовательности допустимых символов языка, имеющие смысл для транслятора. Правило записи идентификаторов заключается в следующем: Идентификатор не может начинаться символом цифры. Длина идентификатора может быть до символов, хотя транслятор воспринимает лишь первые 32, а остальные игнорирует. Регулировать длину возможных идентификаторов можно с использованием опции командной строки mv. Кроме этого существует возможность указать транслятору на то, чтобы он различал прописные и строчные буквы либо игнорировал их различие что и делается по умолчанию. Отождествление чисел при записи их в программах на ассемблере производится по определенным правилам:. Десятичные числа не требуют для своего отождествления указания каких-либо дополнительных символов, например 25 или Шестнадцатеричные числа имеют больше условностей при своей записи:. Во-первых , они состоят из цифр Во-вторых , у транслятора могут возникнуть трудности с распознаванием шестнадцатеричных чисел из-за того, что они могут состоять как из одних цифр Для того чтобы 'объяснить' транслятору, что данная лексема не является десятичным числом или идентификатором, программист должен специальным образом выделять шестнадцатеричное число. Если шестнадцатеричное число начинается с буквы, то перед ним записывается ведущий ноль: Таким образом, мы разобрались с тем, как конструируются предложения программы ассемблера. Но это лишь самый поверхностный взгляд. Практически каждое предложение содержит описание объекта, над которым или при помощи которого выполняется некоторое действие. Эти объекты называются операндами. Их можно определить так:. Операнды могут комбинироваться с арифметическими, логическими, побитовыми и атрибутивными операторами для расчета некоторого значения или определения ячейки памяти, на которую будет воздействовать данная команда или директива. Возможно провести следующую классификацию операндов:. Рассмотрим подробнее характеристику операндов из приведенной классификации:. Постоянные или непосредственные операнды — число, строка, имя или выражение, имеющие некоторое фиксированное значение. Имя не должно быть перемещаемым, то есть зависеть от адреса загрузки программы в память. В данном фрагменте определяются две константы, которые затем используются в качестве непосредственных операндов в командах пересылки mov и сложения add. Адресные операнды — задают физическое расположение операнда в памяти с помощью указания двух составляющих адреса: Синтаксис описания адресных операндов. Здесь третья команда mov имеет адресный операнд. Перемещаемые операнды — любые символьные имена, представляющие некоторые адреса памяти. Эти адреса могут обозначать местоположение в памяти некоторых инструкции если операнд — метка или данных если операнд — имя области памяти в сегменте данных. Перемещаемые операнды отличаются от адресных тем, что они не привязаны к конкретному адресу физической памяти. Сегментная составляющая адреса перемещаемого операнда неизвестна и будет определена после загрузки программы в память для выполнения. Полный физический адрес этой области памяти будет известен только после загрузки программы в память для выполнения. Счетчик адреса — специфический вид операнда. Специфика этого операнда в том, что когда транслятор ассемблера встречает в исходной программе этот символ, то он подставляет вместо него текущее значение счетчика адреса. Значение счетчика адреса, или, как его иногда называют, счетчика размещения , представляет собой смещение текущей машинной команды относительно начала сегмента кода. В формате листинга счетчику адреса соответствует вторая или третья колонка в зависимости от того, присутствует или нет в листинге колонка с уровнем вложенности. Если взять в качестве пример любой листинг, то видно, что при обработке транслятором очередной команды ассемблера счетчик адреса увеличивается на длину сформированной машинной команды. Важно правильно понимать этот момент. Главная Опубликовать работу О сайте. Структура программы на ассемблере. Сохрани ссылку на реферат в одной из сетей: Структура программы на ассемблере Программа на ассемблере представляет собой совокупность блоков памяти, называемых сегментами памяти. Предложения ассемблера бывают четырех типов: В процессе трансляции инструкции ассемблера преобразуются в соответствующие команды системы команд микропроцессора; макрокоманды — оформляемые определенным образом предложения текста программы, замещаемые во время трансляции другими предложениями; директивы , являющиеся указанием транслятору ассемблера на выполнение некоторых действий. У директив нет аналогов в машинном представлении; строки комментариев , содержащие любые символы, в том числе и буквы русского алфавита. Синтаксис ассемблера Предложения, составляющие программу, могут представлять собой синтаксическую конструкцию, соответствующую команде, макрокоманде, директиве или комментарию. Формат предложения ассемблера Рис. Формат команд и макрокоманд На этих рисунках: В результате обработки ассемблером определенной директивы этому имени могут быть присвоены определенные характеристики; код операции КОП и директива — это мнемонические обозначения соответствующей машинной команды, макрокоманды или директивы транслятора; операнды — части команды, макрокоманды или директивы ассемблера, обозначающие объекты, над которыми производятся действия. Как использовать синтаксические диаграммы? Допустимыми символами при написании текста программ являются: При этом заглавные и строчные буквы считаются эквивалентными; цифры от 0 до 9 ; знаки? Отождествление чисел при записи их в программах на ассемблере производится по определенным правилам: Шестнадцатеричные числа имеют больше условностей при своей записи: Их можно определить так: Возможно провести следующую классификацию операндов: Синтаксис описания адресных операндов К примеру:

Структура программы на языке Ассемблер

Лахтинская улица спб карта

Результаты информационного поиска

Структура программы на языке ассемблера и ее описание

Как подключить wifi к автомагнитоле

Описание номерана английском языке

Gle 250 d 4matic технические характеристики

Сыр виола сливочный состав

Структура программы на ассемблере

Как выращивают помидоры в турции

Причины снижения фондоотдачи

Тест диагностика заболеваний

Разработка программы на Ассемблере

Панорамы городов мира виртуальные туры карты городов

Выбрать велосипед для путешествий

Скачать карту автомобильных дорог удмуртии

Report Page