Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Метка операция операнд комментарий ⇐ ПредыдущаяСтр 4 из 4
Не обязательно использовать все поля, но они должны быть в указанном порядке. МЕТКА - это символическое имя адреса команды, находящейся в данной строке; обычно метки придаются командам, к которым предусматривается обращение в процессе выполнения программы. Метка начинается с буквы и ее длина неограниченна, но различаются только первые восемь символов. Нельзя внутри метки использовать пробел. Нельзя в качестве меток записывать имена регистров, коды команд и другие зарезервированные сочетания (например, А, М, СМР и т.п., но А2, ММ, СМР9 можно). В одной программе не должно быть двух и более одинаковых меток. Разделителем между меткой и операцией является двоеточие. ОПЕРАЦИЯ - в этом поле содержатся мнемокоды команд или директивы ассемблера, которые описываются ниже. Разделителем между кодом команды и операндами является пробел. ОПЕРАНД - это символические имена регистров, адресов, меток или константы. Целочисленные константы могут быть определены в двоичной (префикс b, b’11101101), шестнадцатеричной (префикс h, h’2a3f) или десятеричной (префикс отсутствует) системах счисления. При наличии двух операндов разделителем служит запятая. У некоторых команд операнды отсутствуют (RRC, NOP и др.) и поле операндов остается пустым. Операнд может быть выражением. На начальном этапе обучения программированию на Ассемблере их можно не использовать. С правилами составления выражений можно познакомиться в литературе. КОММЕНТАРИЙ начинается с точки с запятой. Если строка начинается с точки с запятой, то вся строка считается комментарием, и в ней могут присутствовать любые символы в любой последовательности. Комментарий является вспомогательным средством, используемым для пояснения и документирования программ. Не следует пренебрегать комментариями, так как через короткое время программа становится непонятной даже ее автору. В приложении 1 приведен пример записи программы на Ассемблере.
Директивы Ассемблера
Директивы Ассемблера (или псевдокоманды) управляют работой транслятора и не переводятся в машинные коды. Используемый в лаборатории транслятор распознает 15 директив. В табл. 2 приведены правила записи некоторых наиболее употребительных директив. Метки, заключенные в квадратные скобки, необязательны. Все директивы могут иметь метки и комментарии.
Директива. ORG определяет начальный адрес размещения в памяти следующих далее команд. Директив. ORG в программе может быть несколько. При отсутствии директивы. ORG программа начинается с нулевого адреса.
Директива. END располагается на последней строке и указывает транслятору на завершение программы. В программе может быть только одна Директива. END.
Директива. EQU (эквивалентность) ставит в соответствие константам, адресам, регистрам и т.п. символические имена. В случае изменения, например, адресов достаточно отредактировать только директиву. ORG.
Директива. SET действует также как директива. EQU, однако в отличие от. EQU может употребляться в программе неоднократно, переопределяя значение символического имени. Это позволяет использовать одно и то же символическое имя в разных значениях.
Таблица 2
Директива. DB резервирует ячейки памяти и помещает в них представленные выражения. В качестве выражения может присутствовать цепочка символов, заключенная в кавычки, например, ‘STOP’. На каждое выражение или символ отводится один байт. Директива. DW действует аналогично директиве DB с той лишь разницей, что каждое выражение хранится в двух ячейках памяти и цепочки символов не допускаются. Директива. RS только резервирует ячейки памяти, в качестве выражения обычно записывается просто число резервируемых ячеек. Часто эта директива обозначается как DS.
Режим ассемблирования
Вызов транслятора с языка Ассемблера осуществляется командой IASM 85< NAME >, где <NAME> - имя прикладной программы, написанной согласно изложенным выше правилам. Расширение asm можно не указывать. Ассемблирование выполняется сразу и выдается сообщение:
000XXX lines assembled - проассемблировано 000ХХХ строк, 0 Errors detected - ошибок нет. Такое сообщение указывает на отсутствие синтаксических ошибок в тексте программы, но ни в коей мере не говорит о правильности работы программы. Если ассемблером обнаруживаются ошибки, то выдается сообщение: (тип ошибки) in line xx column xx - в строке хх, колонке хх, (тип ошибки) in line xx column xx - в строке хх, колонке хх, 000ХХХ lines assembled - проассемблировано 000ХХХ строк, 2 Errors detected- обнаружено 2 ошибки.(2 ошибки взято для примера). В ходе ассемблирования создаются еще файл листинга с тем же именем и расширением lst иобъектный файлс расширением obj. Причем оба файла создаются как при отсутствии, так и при наличии ошибок. Места ошибок отмечаются в листинге символом ^. Ошибки в исходном файле исправляются в текстовом редакторе с повторным ассемблированием. Редактирование текста выполняется по правилам текстового редактора. Файл листинга кроме исходного текста содержит дополнительно номера строк, адреса ячеек памяти и содержимое этих ячеек, т.е. машинные коды (см. приложение 1). Объектный файл в формате INTEL, который в реальных условиях с помощью программатора записывается в ПЗУ, в данном случае используется симулятором.
Практическая часть
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2020-10-24; просмотров: 101; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.247.31 (0.008 с.) |