Ежедневное обновление программ и музыки » Мультфильмы » 6.2 Символы,идентификаторы и числа языка ASM-51


Мультфильмы ~ 6.2 Символы,идентификаторы и числа языка ASM-51
1. Алфавит языка

 

Символы исходной программы представляют собой подмножество таблиц символов ASCII для DOS и ANSI для WINDOWS. В исходном тексте программы, написанном на языке рограммирования PL/M-51 допустимо использование следующих символов: 
  •     символы интервала, 
  •     буквы,
  •     знаки 
  •     цифры.

Символы интервала определяют один или несколько пробелов в предложении исходного модуля. К этим символам относятся "пробел" и " табуляция".

В качестве букв воспринимаются латинские буквы верхнего и нижнего регистра:

A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z.

Ниже приведен перечень цифр:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Наименования знаков и их обозначение приведено в таблице 1:   

 

Наименование



   

Обозначение



   

Номер



   

#



   

Знак денежной единицы

   


   

$



   

   

Апостроф



   



   

'



   

   

круглая скобка левая



   


   

(



   

   

круглая скобка правая



   


   

)



   


   

Звездочка



   


   

*



   

   

Плюс



   


   

+



   

   

Запятая



   


   

,



   

   

Минус



   


   

-



   

   

Точка



   



   

.



   

   

дробная черта



   


   

/



   

   

Двоеточие



   


   

:



   


   

Точка с запятой



   


   

;



   

   

Меньше



   


   

<



   


   

Равно



   


   

=



   

   

больше



   


   

>

   

   

вопросительный знак



   


   

?



   

   

коммерческое эт



   



   

@



   
Знаки, комбинации знаков (<>, >=, <= ), а также символы интервала являются разделителями конструкций языка. До ипосле знака - разделителя в любой конструкции языка могут быть вставлены символы интервала.

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


Из символов формируются  идентификаторы и числа.


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


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


Количество символов в идентификаторе ограничено длиной строки (255 символов). Транслятор различает идентификаторы по первым 31 символам.


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


ADD5, FFFFH, ?, ALFA_1.


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

  1.     ключевые слова
  2.     встроенные имена
  3.     определяемые имена.

2.1. Ключевые слова


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


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

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


ACALL, ADD, ADDC, AJMP, ANL, CALL,

CJNE, CLR, CPL, DA, DEC, DIV, DJNZ, INC, JB,

JBC, JC, JMP, JNB, JNC, JNZ, JZ, LCALL, LJMP,

MOV, MOVC, MOVX, MUL, NOP, ORL, POP, PUSH, RET,

RETI, RL, RLC, RR, RRC, SETB, SJMP, SUBB, SWAP,

XCH, XCHD, XRL.


Директивы
совместно с вспомогательными словами определяют действия в программе, которые должны быть выполнены ассемблером в процессе преобразования исходного текста программы в объектный код. В языке программирования 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.2. Встроенные имена

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

 

   

Имя



   

   

Регистр



   


   

A



   

   

Аккумулятор



   

   

R0-R7



   

   

8-разрядный рабочий регистр текущего банка рабочих регистров



   

   

DPTR



   

   

16-разрядный регистр-указатель данных



   

   

PC



   

   

16-разрядный счетчик команд



   

   

C



   


   

флаг переноса



   

   

AB



   

   

регистровая пара, состоящая из аккумулятора A (старшая часть) и регистра B (младшая часть)



   

2.3. Определяемые имена


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

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

3. Числа


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

  •     B двоичное число (разрешённые цифры 0,1) 
  •     QO восьмеричное число (разрешённые цифры 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)

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

Примеры записи чисел:


011101b, 1011100B, 735Q, 456o, 256 , 0fah, 0CBH


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


ADCH - идентификатор
0ADCH - число

Часто бывает удобно выполнить некоторые вычисления для того, чтобы получить число. Язык программирования ASM-51 позволяет выполнять беззнаковые операции над числами. В таких выражениях допустимо использовать арифметические операции: 

  1.     + суммирование 
  2.     - вычитание 
  3.     * умножение 
  4.     / деление 
  5.     mod вычисление остатка от целочисленного деления
В языке программирования ASМ-51 также определена одноместная операция '-'. Для нее требуется один операнд, которому она предшествует. Для изменения порядка выполнения операций можно воспользоваться скобками. Кроме арифметических операций в выражениях допустимо использование логических операций: 
  1.     not побитовая инверсия операнда 
  2.     and логическое "и" 
  3.     or логическое "или" 
  4.     xor "исключающее или" (суммирование по модулю два)и функций выделения старшего HIGH и младшего LOW байта шестнадцатиразрядного числа.

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


 

 


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

'a', 'W'

 

Для записи фраз в памяти программ можно воспользоваться литеральными строками:

 

В этом случае каждый символ заменяется отдельным байтом и запоминается в ПЗУ памяти программ.

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

 (голосов: 0)
Комментарии [0]   Просмотров: [+149]   Автор, admin 5 июля 2008 Напечатать


Добавление комментария
Ваше Имя:
Ваш E-Mail:

Введите цифры, которые вы видите на картинке.
Включите эту картинку для отображения кода безопасности
обновить если не виден код
Введите код:


Рубрики нашего сайта
Тут вы найдете много интересного...


Опросы на сайте


Архивы проекта


Самое интересное

Слова благодарности
Искренняя благодарность за любезно предоставленные материалы. Все ваши пожелания, советы и рекомендации будут учтены. Будем рады снова видеть Вас на страничках нашего сайта.

"Движение свободных сайтов Рунета" 2007—2008. Администрация не несет ответственности за файлы размещенные пользователями.