Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ к цифрам.doc
Скачиваний:
32
Добавлен:
06.05.2019
Размер:
2 Мб
Скачать
☆

3.2. Запись исходного текста программы на языке программирования asm-51

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

Оператор - это базовая конструкция языка программирования, определяющая действия в программе. В языке программирования ASM-51 в одной строке может быть записан только один оператор! Максимальный размер строки - 255 символов. Признаком конца оператора является символ "возврат каретки".

Оператор состоит из трех полей:

<поле метки> <поле операции> <поле комментария>,

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

Пример оператора, записанного на языке программирования ASM-51:

Поле метки используется для записи меток. Метки используются для организации условных и безусловных переходов, а также для объявления переменных и констант. Признаком конца поля метки является символ "двоеточие" (:). Однако язык программирования ASM-51, в виде исключения, допускает использовать символы интервала как признак конца поля метки.

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

3.3. Встроенные имена

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

Имя

Регистр

A

Аккумулятор

R0-R7

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

DPTR

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

PC

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

C

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

AB

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

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

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

  • метки,

  • внутренние и внешние переменные адресного типа,

  • внутренние и внешние переменные числового типа,

  • имена сегментов,

  • названия программных модулей.

3.5 Числа

В языке программирования 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)

Для десятичного числа суффикс может отсутствовать. Количество символов в числе ограничено размером строки, однако значение числа определяется по модулю (т.е. диапазон значений числа находится в пределах от 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 байта шестнадцатиразрядного числа.