Формат кодирования в языке Ассемблера 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Формат кодирования в языке Ассемблера



Программирование на уровне машинных команд — это тот минимальный уровень, на котором еще возможно программирование компьютера. Система машинных команд должна быть достаточной для того, чтобы реализовать требуемые действия, выдавая указания аппаратуре машины. Каждая машинная команда состоит из двух частей: операционной, определяющей «что делать» и операндной, определяющей объекты обработки, то есть то «над чем делать».

Машинная команда микропроцессора, записанная на языке Ассемблера, представляет собой одну строку, имеющую следующий вид:

[метка] команда/директива [операнд(ы)];комментарии

Метка (если имеется), команда/директива и операнд (если имеется) разделяются по крайней мере одним символом пробела или табуляции. Если команду или директиву необходимо продолжить на следующей строке, то используется символ «обратный слеш»: «\». По умолчанию Ассемблер не различает заглавные и строчные буквы.

Примеры кодирования:

Count db 1;Имя, директива, один операнд

mov eax,0;Команда, два операнда

cbw       ; Команда

Метка в языке ассемблера может содержать следующие символы:

· все буквы латинского алфавита;

· цифры от 0 до 9;

· спецсимволы: _, @, $,?.

В качестве первого символа метки может использоваться точка, но некоторые компиляторы не рекомендуют применять этот знак. В качестве меток нельзя использовать зарезервированные имена Ассемблера (директивы, операторы, имена команд).

Первым символом в метке должна быть буква или спецсимвол (но не цифра). Максимальная длина метки – 31 символ. Все метки, которые записываются в строке, не содержащей директиву ассемблера, должны заканчиваться двоеточием «:».

Команда указывает транслятору, какое действие должен выполнить микропроцессор. В сегменте данных команда (или директива) определяет поле, рабочую область или константу. В сегменте кода команда определяет действие, например, пересылка (mov) или сложение (add).

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

Операнд определяет начальное значение данных (в сегменте данных) или элементы, над которыми выполняется действие по команде (в сегменте кода).

Команда может иметь один или два операнда, или вообще не иметь операндов. Число операндов неявно задается кодом команды.

Примеры:

Нет операндов ret        ;Вернуться

Один операнд inc cx     ;Увеличить cx

Два операнда add ax,12  ;Прибавить 12 к ax

Метка, команда (директива) и операнд не обязательно должны начинаться с какой-либо определенной позиции в строке. Однако рекомендуется записывать их в колонку для большей yдобочитаемости программы.

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

Предложения ассемблера формируются из лексем, представляющих собой синтаксически неразделимые последовательности допустимых символов языка, имеющие смысл для транслятора. Лексемами являются:

· Идентификаторы –последовательности допустимых символов, использую­щи­­еся для обозначения таких объектов программы, как коды операций, имена переменных и названия меток. Правило записи идентификаторов заключает­ся в следующем. Идентификатор может состоять из одного или нескольких символов. В качестве символов можно использовать буквы латинского алфа­вита, цифры и некоторые специальные знаки: _,?, $, @. Идентификатор не может начинаться символом цифры. Длина идентификатора может быть до 255 символов, хотя транслятор воспринимает лишь первые 32, а остальные иг­норирует.

· Цепочки символов – последовательности символов, заключенные в одинарные или двойные кавычки;

· Целые числа в одной из следующих систем счисления: двоичной, десятичной, восьмеричной, шестнадцатеричной.



Поделиться:


Последнее изменение этой страницы: 2020-12-09; просмотров: 306; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.217.228 (0.005 с.)