Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Метка операция операнд комментарийСодержание книги Поиск на нашем сайте Не обязательно использовать все поля, но они должны быть в указанном порядке. МЕТКА - это символическое имя адреса команды, находящейся в данной строке; обычно метки придаются командам, к которым предусматривается обращение в процессе выполнения программы. Метка начинается с буквы и ее длина неограниченна, но различаются только первые восемь символов. Нельзя внутри метки использовать пробел. Нельзя в качестве меток записывать имена регистров, коды команд и другие зарезервированные сочетания (например, А, М, СМР и т.п., но А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; просмотров: 159; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.008 с.) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||