Идентификаторы.

Идентификатор это символическое обозначение объекта программы. В качестве идентификатора может быть использована любая последовательность букв и цифр. При этом в качестве буквы может быть использована любая буква латинского алфавита, а также вопросительный знак (?) и знак "нижнее подчеркивание" (_). Идентификатор может начинаться только с буквы. Это позволяет отличать его от числа. В идентификаторах, язык программирования ASM-51 различает буквы верхнего и нижнего регистров. Количество символов в идентификаторе ограничено длиной строки (255 символов). Транслятор различает идентификаторы по первым 31 символам.

Примеры идентификаторов: ADD5, FFFFH, ?, ALFA_1.

В языке программирования ASM-51 имеются три категории идентификаторов.

1. Ключевое слово является определяющей частью оператора языка ассемблера. Значения ключевых слов языка ассемблера АSМ-51 не могут быть изменены или переопределены в программном модуле каким-либо образом. Ключевому слову не может быть назначено имя- синоним. Ключевые слова могут быть написаны буквами как верхнего, так и нижнего регистров.

В языке АSМ-51 имеются следующие категории ключевых слов: инструкции, директивы, вспомогательные слова, операции.

Инструкции по форме записи совпадают с мнемоническими обозначениями команд микроконтроллеров семейства MCS-51 и совместно с операндами, составляют команды микроконтроллера.

Директивы совместно с вспомогательными словами определяют действия в программе, которые должны быть выполнены ассемблером в процессе преобразования исходного текста программы в объектный код. В языке программирования ASM51 используются:

Директивы:

BIT, BSEG, CODE, CSEG, DATA, DB, DBIT, DS, DSEG, DW, END, EQU, EXTRN, IDATA, ISEG, NAME, ORG, PUBLIC, RSEG, SEGMENT, SET, USING, XDATA, XSEG.

Вспомогательные слова:

AT, BIT, BITADDRESSABLE, CODE, DATA, IDATA, INBLOCK, INPAGE, NUMBER, PAGE, UNIT, XDATA.

Операции выполняются ассемблером в процессе вычисления выражений на этапе трансляции исходного текста программы для определения конкретного числа, которое используется в команде. Перечень операций, использующихся языком программирования ASM-51: AND, EQ, GE, GT, HIGH, LE, LOW, LT, MOD, NE, NOT, OR, SHL, SHR, XOR.

2. Встроенные имена (табл. 4.1) — присвоены адресам регистров специальных функций, адресам флагов специальных функций AR0-AR7, рабочим регистрам R0-R7 текущего банка регистров, а также аккумулятору A и флагу переноса C.

Встроенные имена языка ASM-51

Таблица 4.1.

Имя Регистр
A аккумулятор
R0-R7 8-разрядный рабочий регистр текущего банка рабочих регистров
AR0-AR7 адреса 8-разрядных рабочих регистров текущего банка рабочих регистров
DPTR 16-разрядный регистр-указатель данных
PC 16-разрядный счетчик команд
С флаг переноса
AB регистровая пара, состоящая из аккумулятора A (старшая часть) и регистра B (младшая часть)

3. Определяемые имена - имена объявляются пользователем. В языке программирования ASM-51 имеются следующие категории определяемых идентификаторов:

метки, внутренние и внешние переменные адресного типа, внутренние и внешние переменные числового типа, имена сегментов, названия программных модулей.

 

Числа

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

· B-двоичное число (разрешённые цифры 0,1);

· Q\O- восьмеричное число (разрешённые цифры 0, 1, 2, 3, 4, 5, 6, 7);

· D -десятичное число (разрешённые цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);

· H-шестнадцатеричное число (разрешённые цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 , A, B, C, D, E, F).

Для десятичного числа суффикс может отсутствовать. Количество символов в числе ограничено размером строки, однако значение числа определяется по модулю 216 (т.е. диапазон значений числа находится в пределах от 0 до 65535).

Число всегда начинается с цифры. Это необходимо для того, чтобы отличать шестнадцатеричное число от идентификатора.

Часто бывает удобно выполнить некоторые вычисления для того, чтобы получить число. Язык программирования ASM-51 позволяет выполнять беззнаковые операции над числами (табл. 4.2).

Операции языка ASM-51

Таблица 4.2.

Арифметические операции
+ суммирование
- вычитание
* умножение
/ деление
mod вычисление остатка от целочисленного деления
Логические операции
not побитовая инверсия операнда
and логическое "и"
or логическое "или"
xor "исключающее или" (суммирование по модулю два)
Операции преобразования данных
high выделение старшего байта 16-разрядного числа
low выделение младшего байта 16-разрядного числа

 

Рис. 4.4. Пример использования выражений для определения числовой константы:

В языке программирования ASМ-51 также определена одноместная операция '-'. Для нее требуется один операнд, которому она предшествует. Для изменения порядка выполнения операций можно воспользоваться скобками.

Часто число используется для представления символов. В этом случае для определения числа можно воспользоваться литеральной константой. Литеральная константа заключается в апострофы: mov SBUF, #’Б’.








Дата добавления: 2015-10-09; просмотров: 1195;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.