Основы программирования микропроцессоров



Download 1,87 Mb.
bet22/119
Sana23.02.2022
Hajmi1,87 Mb.
#139915
TuriКонтрольные вопросы
1   ...   18   19   20   21   22   23   24   25   ...   119
Bog'liq
Системное программирование

3.3. Выражения


В языке ассемблера выражения делятся на два класса – константные и адресные. Значением константного выражения является целое число, а значением адресного выражения – адрес. Адрес тоже является целым числом (порядковый номер ячейки в памяти), но рассматривается как самостоятельный тип данных.
Константные выражения. Значениями константных выражений являются 16-битовые целые. К простейшим константным выражениям относятся:

  • число в диапазоне от -215 до 216-1 (числа вне диапазона рассматриваются как ошибка);

  • символ (значением выражения является код символа);

  • строка из двух символов (значением является число-слово, составленное из кодов этих символов);

  • имя константы (значением выражения является значение константы).

Среди константных операторов (операторов с числовым значением) отметим оператор TYPE и арифметические операторы (k, k1 и k2 означают константные выражения):

  • одноместные плюс и минус: +k, -k;

  • операторы сложения и вычитания: k1+k2, k1-k2;

  • операторы умножения и деления: k1*k2, k1/k2, k1 MOD k2 (* – умножение, / – целочисленное деление, MOD – взятие остатка от деления).

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

К EQU 30
X DB (3*К-1)/2 DUP(?) ; массив из 44 байтов


В арифметических операциях вычисления выполняются в области 16-битовых чисел, т.е. от результата всегда берутся только последние 16 разрядов (остаток от деления на 216).


Адресные выражения. Значениями адресных выражений являются 16-битовые адреса, поэтому все операции также выполняются по модулю 216. К простейшим адресным выражениям относятся:

  • метка (имя команды) и имя переменной, описанные по директиве DB, DW или DD (значениями таких выражений являются адреса меток и имен);

  • счетчик размещения.

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

A DW $ ; эквивалентно A DW 100h


В DW $ ; эквивалентно В DW 102h

Счетчик размещения удобен для вычисления размера памяти, занимаемой массивом, например:


X DW 10 DUP(?)


SIZE EQU $-X ; SIZE = 20

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


Среди операторов, значением которых являются адреса, отметим операторы сложения и вычитания. Адресные выражения вида <имя>±<целое> используются для ссылок на безы­мянные ячейки памяти, как правило, элементы массивов. Например, в массиве:

A DB 0,1,2,3


именованным окажется только первый байт со значениями 0, а к остальным элементам массива нельзя будет обратиться по имени. Для доступа к таким ячейкам используются адрес­ные выражения указанного вида. Например, сослаться на байт со значением 1 можно с помощью выражения А+1.


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

Download 1,87 Mb.

Do'stlaringiz bilan baham:
1   ...   18   19   20   21   22   23   24   25   ...   119




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish