Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Операторы

Mov al, 4

Mov al, 5

Num equ 5

Элементы синтаксиса Ассемблера

Ассемблер уникален для каждого типа МП. Программа может состоять из одного или нескольких сегментов. Каждая строка программы содержит одно предложение. Предложения бывают 4-х типов:

§ Команды МП

§ Макрокоманды

§ Директивы транслятору

§ Строки комментариев

Допустимые символы при написании программ:

· Латинские буквы (большие и маленькие)

· Цифры (от 0 до 9)

· Знаки? @ $ _ &

· Разделители:,. [ ] () < > { } + / * %! “ “ \ = ≠ ^ ‘ ‘

Предложение Ассемблера формируется из лексема (- это последовательность символов имеющих смысл для транслятора).

Примеры лексем:

- Идентификаторы – это последовательность допустимых символов, которые используются для обозначения имен переменных и меток (первый не должен быть цифрой);

- Цепочка символов, заключенные в одинарные или двойные кавычки

- Целые числа в определенной системе исчисления (если 16-ричное число начинается с буквы, то слева надо ставить 0).

 

Операнды – это объекты (некоторые значения, регистры или ячейки памяти), на которые действуют инструкции или директивы, либо это объекты, которые определяют или уточняют действия инструкций или директив.

1. Постоянные или непосредственные операнды – это число, строка, имя или выражение имеющее некоторое фиксированное значение (например, константа)

imd = num -2

mov al, num; пересылка const в регистр al

add [SI], imd; сложение, результат - по адресу SI

2. Адресные операнды – задают физическое расположение операнда в памяти.

mov ax, es: 0025h

mov ax, [bx]

3. Перемещаемые операнды – это любые символьные адреса представляющие адреса в памяти

lea ax, mas; загрузить адрес массива mas в ax

mas – перемещаемый операнд

 

4. Счетчик адреса обозначается $ - вместо знака $ транслятор подставляет текущее значение счетчика адреса, которое может быть использовано в командах МП. Счетчик адреса – значение смещения текущей машинной команды относительно начала сегмента кода.

 

 

Например:

jmp $+3 – перейти на команду, адрес которой увеличивается на 3 относительно адреса текущей команды.

5. Регистровый операнд – это имя регистра

al – регистровый операнд

 

6. Структурные операнды – используются для доступа к конкретному Элементу структуры (записи).

 

7. Базовый и индексный регистры, которые используются для базовой/индексной адресации

 

Трансляторы TASM и MASM допускают использование выражений.

Выражение – это комбинация операндов и операторов, рассматриваемых как единое целое.

 

Операнд команды Ассемблера может быть выражением, представляющим комбинацию операндов и операторов Ассемблера

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

Операторы, которые поддерживают транслятор:

 

v Арифметические операторы:

унарные: +, -;

бинарные: +, -, *, /, mod.

 

Пример

tab equ 50; имени tab присваивается константа 50

<== предыдущая лекция | следующая лекция ==>
Эффективный адрес Линейный адрес | Mask equ 10111011b
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 299; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.