Микропроцессорная техника: практический курс : учебное пособие для студентов Физико-технологического института, обучающихся по направлениям подготовки "Ядерная физика и технологии", "Биомедицинская инженерия"


Download 0.63 Mb.
Pdf ko'rish
bet8/74
Sana29.03.2023
Hajmi0.63 Mb.
#1306393
1   ...   4   5   6   7   8   9   10   11   ...   74
Bog'liq
978-5-321-02171-21 2012 (1)

Встроенные имена. Встроенные имена присвоены адресам реги-
стров специальных функций, адресам флагов специальных функций
AR0-AR7, рабочим регистрам R0 – R7 текущего банка регистров, а
также аккумулятору A и флагу переноса C.
A,
R0,
R1,
R2,
R3,
R4,
R5,
R6, R7,
DPTR, PC,
C,
AB,
SP.
Определяемые имена. Определяемые имена объявляются пользо-
вателем.В языке программирования ASM-51 имеются следующие ка-
тегории определяемых идентификаторов:
13


1. Программирование на языке ассемблера
• метки;
• внутренние и внешние переменные адресного типа;
• внутренние и внешние переменные числового типа;
• имена сегментов;
• названия программных модулей.
Представление чисел
В языке программирования ASM-51 используются целые беззна-
ковые числа, представленные в двоичной, восьмеричной, десятичной
и шестнадцатеричной формах записи. Для определения основания си-
стемы счисления используется суффикс (буква, следующая за числом):
B
(двоичное число), Q или O (восьмеричное число), [D] (десятичное чис-
ло) и H (шестнадцатеричное число). Для десятичного числа суффикс
может отсутствовать. Количество символов в числе ограничено раз-
мером строки, однако значение числа определяется по модулю 2
16
(т.е.
диапазон значений числа находится в пределах от 0 до 65535).
Примеры записи чисел:
011101b, 1011100B, 735Q, 456o, 256, 0FAH, 0CBH.
Часто число используется для представления символов. В этом случае
для определения числа можно воспользоваться литеральной констан-
той. Литеральная константа заключается в апострофы (’a’, ’W’):
mov SBUF, #'â'
Для записи фраз в памяти программ можно воспользоваться лите-
ральными строками:
Nadp: DB 'ïÛÉÂËÁ × ÂÌÏËÅ 5'
В этом случае каждый символ заменяется отдельным байтом и запо-
минается в ПЗУ памяти программ.
Сегменты памяти
Ассемблер поддерживает определенную логическую структуру па-
мяти микроконтроллера для спецификации размещения отдельных ча-
стей программы. Основу логической структуры составляет понятие
общего (родового) сегмента (generic segment).
Общий сегмент имеет имя, класс памяти (class) и другие атрибуты.
Сегменты с одним и тем же именем, но расположенные в разных объ-
ектных модулях считаются частями одного и того же общего сегмента
и называются частными (partial) сегментами. Объединение частных
14


1.1. Язык ассемблера ASM-51
сегментов осуществляет редактор связей. Общий сегмент создается
директивой SEGMENT, специфицирующей имя и класс сегмента.
MYPROG
SEGMENT CODE
; éÍÑ = MYPROG,
; ËÌÁÓÓ = CODE
Параметр class используется редактором связей для группировки
сегментов с одним классом памяти. В ассемблере поддерживаются
классы памяти BIT, CODE, DATA, IDATA, XDATA.
Необязательные параметры директивы SEGMENT позволяют за-
дать параметры для настройки редактора связей, характеризующие
тип перемещаемости и тип выделяемых ресурсов. Ассемблер поддер-
живает следующие типы перемещаемости (reloctype):

Download 0.63 Mb.

Do'stlaringiz bilan baham:
1   ...   4   5   6   7   8   9   10   11   ...   74




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling