Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Топ:
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Согласно [4, 10, 16], ассемблер (от. англ. assembler – сборщик) – это транслятор исходного текста программы, записанной в виде условных обозначений машинных команд (мнемоник), представленных в удобной для человека форме, в эквивалентную программу на машинном языке, понятном процессору. Язык этих условных обозначений называется языком ассемблера.
Язык ассемблера – язык программирования низкого уровня второго поколения (после машинного кода). Команды языка ассемблера один в один соответствуют командам процессора. Однако, поскольку существуют различные модели процессоров со своим собственным набором команд, то, соответственно, существуют и диалекты языка ассемблера. Поэтому при именовании языка, на котором написана конкретная программа, необходимо уточнять, для какой архитектуры она предназначена и на каком диалекте языка написана. Поскольку ассемблер привязан к устройству процессора, а тип процессора жестко определяет набор доступных команд машинного языка, то программы на ассемблере не переносимы на другую компьютерную архитектуру.
Как и сам язык, ассемблеры также специфичны для конкретной архитектуры, операционный системы и варианту синтаксиса языка.
Далее рассмотрим общую структуру программы на языке ассемблера и особенности вариантов синтаксиса.
Общее описание программы
Программа на языке ассемблера представляет собой совокупность блоков памяти – сегментов. Сегменты программы имеют определенное назначение, соответствующее типу сегментов: кода, данных и стека. Названия типов сегментов отражают их назначение. Каждый сегмент содержит совокупность предложений языка, каждое из которых занимает отдельную строку кода программы.
Можно выделить четыре типа предложений языка ассемблера [4, 14, 16, 17]:
1. Команды или инструкции, представляющие собой символические аналоги машинных команд. В процессе трансляции инструкции ассемблера преобразуются в соответствующие команды системы команд процессора.
2. Макрокоманды – оформляемые определенным образом предложения текста программы, замещаемые во время трансляции другими предложениями.
3. Директивы, являющиеся указанием транслятору ассемблера на выполнение некоторых действий. У директив нет аналогов в машинном представлении.
4. Комментарии, содержащие любые символы, в том числе и буквы русского алфавита. Комментарии игнорируются транслятором.
Для распознавания этих предложений компилятором их нужно записывать в соответствии с определёнными синтаксическими правилами.
Синтаксис ассемблера
Общепринятого стандарта для синтаксиса языков ассемблера не существует. При написании программ можно придерживаться общих традиционных подходов. Наиболее распространенные варианты синтаксиса: AT & T и Intel [4, 7, 8, 13]. Кратко рассмотрим основные особенности и отличия между ними.
1. Комментарий по правилам AT&T начинается с символа «#», а не «;» как в Intel. В свою очередь символ «;» разделяет команды и позволяет записывать несколько команд в одной строке.
2. По правилам AT&T имена регистров процессора начинаются с символа «%». Например,
| Синтаксис AT&T | Синтаксис Intel |
| %ax, %bh, %dl | ax, bh, dl |
3. Числовые константы в синтаксисе AT&T записываются с символом «$». Например,
| Синтаксис AT&T | Синтаксис Intel |
| $0x20 | 20h |
4. Размер операнда определяется как суффикс в имени команды (инструкции):
b (от byte) – операнды размером 1 байт;
w (от word) – операнды размером 2 байта (слово);
l (от long) – операнды размером 4 байта (двойное слово).
5. По правилам AT&T в командах порядок операндов следующий: вначале источник (src), затем приемник (dst).
В Intel наоборот – сначала приемник (dst), затем источник (src). Например,
| Синтаксис AT&T | Синтаксис Intel |
| movb %al,%ah | mov ah,al |
| subw $0x25,%ax | sub ax,25h |
| movw $1,%dx | mov dx,1 |
6. Отсутствие префикса операнда в синтаксисе AT&T указывает на адрес в памяти. Например, приведенная ниже команда пересылает значение, хранящееся в памяти по адресу a, в регистр bx.
| Синтаксис AT&T | Синтаксис Intel |
| movw a,%bx | mov bx,a |
А следующая команда помещает адрес ячейки a в регистр bx.
| Синтаксис AT&T | Синтаксис Intel |
| movw $a,%bx | lea bx,a |
7. При использовании режимов адресации c косвенной адресацией операндов по правилам Intel используются квадратные скобки, а по правилам AT&T – круглые скобки. Например, указанная ниже команда помещает в регистр al значение, хранящееся в памяти по адресу, указанному в регистре si.
| Синтаксис AT&T | Синтаксис Intel |
| movb (%si),%al | mov al,[si] |
Также отличаются мнемоники некоторых команд.
Более подробные сведения об особенностях синтаксисов AT&T и Intel можно найти в документации для компиляторов языка ассемблера, поддерживающих соответствующий формат.
В дальнейшем описание структуры программ, команд, примеры фрагментов программного кода будут приводиться в формате Intel.
|
|
|
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!