Программы могут разрабатываться на языках различных уровней. Машинный язык и язык ассемблера не требуют сложного программного и. аппаратного обеспечения и позволяют получать очень эффектдоные
Ассемблер МП Intel 8080 включен в состав Intelec 8/Mod 80 и системы разработки MDS фирмы Intel. Имеются также собственные ассемблеры систем разработки для МП Intel 8080, поставляемые другими фирмами.
В МП Intel 8080 имеются макросредства, в МП Motorola 6800 они не предусмотрены. Макрокоманды можно использовать для того, чтобы Двести удобные Обозначения для существующих команд, расширить систему
Ассемблер МП Intel 8080 позволяет предусмотреть условное ассемблирование с помощью псевдоопераций IF и ENDIF; в МП Motorola 6800 такая возможность не предусмотрена В псевдооперации IF выражение
Поле адреса в МП Ii.tel 8080 может быть пустым, как например, в командах STC (установить в 1 признак ПЕРЕНОС) или HLT (ОСТАНОВ). Адресное поле может быть определено несколькими способами:
1) как
В табл. 4.4 приведен перечень псевдокоманд, имеющихся в ассемблерах МП Intel 8080 и Motorola 6800. По форме отличаются только те псевдокоманды, которые обеспечивают генерацию в памяти 8- или
Оба ассемблера предоставляют широкие возможности для задания меток. В МП Intel 8080 допускаются метки длиной до пяти символов; при этом первым
символом должна быть буква, символ @ или
В языке ассемблера операторы записываются по формату, показанному на рис. 4.4. Каждый оператор имеет поля метки, кода операции, адреса и комментариев. Поля метки и комментариев являются
Микропроцессорные ассемблеры поставляются изготовителями микропроцессоров. Собственные ассемблеры обычно входят в состав системы разработки. Кросс-ассемблеры могут быть приобретены йибона
Кросс-ассембдеры для микропроцессоров могут вводить исходную программу с любогсЗ кос^ителй, используемого на ЭВМ раэработки.'ЧаЩе всего ввод осуществляется с перфокарт или перфоленты. Собственные
Некоторые возможности ассемблера особенно удобны при программировании микропроцессоров, поскольку последние имеют короткое слово, программное ПЗУ И используются в системах, требующих обработки
Большинство микропроцессорных ассемблеров существует в двух вариантах: кросс-ассемблер и собственный ассемблер. Причиной этого является сравнительно малое быстродействие микропроцессоров и их
Размер ассемблера зависит от предоставляемых им возможностей и от допустимого размера таблицы символов. Простейший ассемблер может занимать 8 К ячеек 8-битной памяти, а более развитый ассемблер от 8
Ассемблер или компилятор может работать не обязательно на той ЗЁМ, для которой он генерирует объектную программу. Ассемблер, работающий на ЭВМ того же типа, на которой будет выполняться программа,,
Большинство ассемблеров являются двухпроходными, так как для получения правильного объектного кода они осуществляют два просмотра исходной программы. Во время первого прохода ассембл'ер создает
Некоторые ассемблеры позволяют получить программу на машинном языке, которая является переместимой, т. е. может быть помещена загрузчиком в любое место памяти. Ассемблер вырабатывает информацию,
Почти все ассемблеры предоставляют возможность задавать комментарии, что позволяет документировать программы. Обычно комментарий в ассемблере отмечается специальным символом или отделяется пробелом.
При использовании макрокоманд и подпрограмм возникает проблема использования в них имен, определенных в главной программе, и наоборот. Обычно такое использование недопустимо, если только эти имена не
Использование подпрограмм и макрокоманд имеет следующие преимущества:
1) программист может написать некоторую последовательное команд 1 раз и многократно использовать ее;
2) программы
Во многих ассемблерах имеются специальные средства, облегчающие работу с подпрограммами. Ассемблер дает возможность транслировать подпрограммы отдельно/Затем он собирает Информацию обо всех ссылках
Если данная последовательность команд часто встречается в программах (а также в некоторых других не очень очевидных случаях), оказывается удобным обозначить ее симвлическим именем. Такое средство
В некоторых ассемблерах имеются средства, которые позволяют .в зависимости от условий, возникающих в момент ассемблирования, включать или не включать в объектную программу отдельные участки
Большинство ассемблеров позволяет программисту задавать данные и адреса самыми различными способами. Обычно способ адресации указывается с помощью специальных символов, например:
@ —
Ассемблер собирает все имена, использованные в ассемблерной программе, в таблицу символов, подобную постоянной таблице мнемонических кодов. Методы организации таблицы символов выходят за рамки данной
В поле кода операции могут содержаться также директивы ассемблера. Они называются псевдокомандами, поскольку эти директивы появляются в поле кода операций, но не транслируются в двоичные кольт
В поле кода операции обычно содержится мнемонический код команды. Это единственное поле, которое никогда не может быть пустым.
Ассемблер отыскивает соответствующий код в массиве, хранимом в
Поле метки позволяет задать в символическом виде адрес команды или элемента данных. В этом случае можно испотьзовать имя в качестве адреса или в качестве данных в других командах. Большинство
Операторы ассемблера соссоят из нескольких частей или полей. На рис. 4.4 показана типовая структура оператора.
Пример.
LAST: JUMP START; ВОЗВРАТ К НАЧАЛУ ПРОГРАММЫ
Некоторые ассемблеры
Основное назначение ассемблера — перевод мнемонических кодов языка ассемблера в двоичные коды машинного языка.
Некоторые ассемблеры этим и ограничиваются. В таких случаях, чтобы привести
Программист может избежать зависимости своих программ от архитектуры и системы команд конкретных ЭВМ, используя процедурно-ориентированные языки. Процедурно-ориентированные языки иЛи языки высокого
Процесс ручного ассемблирования несложен; однако операции преобразования мнемонических кодов операций и десятичных чисел в их двоичные эквиваленты, введение счетчика с целью определить значения
Команды, выполняемые ЭВМ, представляют собой двоичные числа. которые центральный процессор (ЦП) выбирает из памяти точно так же, как и любые другие данные, а затем декодирует их и выполняет требуемые