Доставка цветов в Севастополе: SevCvety.ru
Главная -> Появление первого микропроцессора

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 [107] 108 109 110 111 112 113 114 115 116

с помощью символов, образующих алфавит языка ассемблера, в качестве которых используются:

буквы латинского и русского алфавитов (как правило, прописные);

десятичные цифры от О до 9;

специальные символы (знаки): «--», «-», «*», «/». «:». «.», «;». «( )», «?» и т. п.;

любые символы системы КОИ-7 (в строках, заключенных в апострофы, н в комментариях).

Основное отличие языка ассемблера от машинного языка заключается в использовании вместо двоичных кодов операций н адресов мнемонических и символических наименований - символических имен. Символическое имя в языке ассемблера - это последовательность букв и цифр, начинающаяся с буквы. Длина последовательности символов в имени не ограничивается, различными считаются символические имена, которые отличаются только первыми N символами (обычно N=5...8 и зависит от специфики ассемблера-транслятора). В языке используют два типа имен: постоянные и определенные пользователем. Постоянные имена ие нуждаются в определении перед их использованием в исходной программе. К ним относятся мнемокоды машинных команд, мнемокоды псевдокоманд, имена регистров и регистровых пар, мнемокоды операций языка ассемблера. Символические имена пользователя следует обязательно определять в исходной программе, причем они ие должны совпадать с постоянными именами (иначе ассемблер-транслятор выдаст сообщение об ошибке).

в поле названия предложения содержится либо имя, либо метка. Имя служит для идентификации элементов программы в псевдокомандах EQU, SET, MACRO (табл. П. 10). Если имя используется для организации адресных ссылок иа указанные операторы, оно называется меткой. Синтаксически метка определяется так же, как и имя, но отделяется от поля операции двоеточием. Числовое значение метки опреде-лр.е-ся по содержимому счетчика адреса ассемблера-транслятора при трансляции исходной программы. Метка всегда соответствует адресу первого байта машинной команды или области данных, которые она именует Поле операции содержит либо имя машинной команды, либо имя псевдокоманды, либо имя макровызова. В поле операндов имеются один или несколько операндов, каждый из которых в общем случае представляет собой некоторое выражение языка ассемблера. Поле комментария содержит произвольную последовательность символов, которая используется для описания программных элементов при создании листинга программы. Предложение может состоять только из поля комментария, образуя предложение-комментарий.

Выражения языка ассемблера, определяющие операнды,- это комбинации термов, операций ассемблера, а также открывающих и закрывающих скобок. Числовые значения выражений вычисляются ассемблером-транслятором по модулю 64К= 65536. Каждый терм представляет собой некоторое числовое значение, которое либо определяется самим термом (самоопределенный терм), либо присваивается выражению в результате вычислений ассемблера-транслятора. Самоопределенный терм представляет собой константу двоичного (последовательность двоичных цифр, оканчивающаяся буквой В), восьмеричного (последовательность восьмеричных цифр, оканчивающаяся буквой Q), десятичного (последовательность десятичных цифр с конечной буквой D или без нее), шестнадцатеричного (последовательность шестнадцатеричных цифр с конечной буквой Н и предиачальной цифрой О, если первая шестнадцатеричиая цифра является буквой) или символьного



Табл. П. 10. Псевдокоманды макроассемблера

Формат оператора

Формат оператора

ORG [МЕТКА:] ORG DB [МЕТКА:] DB СПИСОК

ВЫРАЖЕНИЕ

END [МЕТКА:] END DW [МЕТКА:] DW СПИСОК

EQU ИМЯ EQU DS [МЕТКА:] DS

ВЫРАЖЕНИЕ ВЫРАЖЕНИЕ

SET ИМЯ SET MACRO ИМЯ MACRO ВЫРАЖЕНИЕ [СПИСОК]

ENDM [МЕТКА:] ENDM

Примечание. Квадратные скобки используются для обозначения необязательных элементов в формате оператора.

(последовательность символов, заключенная в апострофы и транслируемая в соответствующие системы КОИ-7) типов.

В качестве терма могут быть использованы имя, определенное предварительно псевдокомандами языка ассемблера EQU или SET (имена, определенные с помощью псевдокоманды SET, могут в последующем тексте программы переопределяться в отличие от имен, определенных псевдокомандой EQU), а также метка, имя регистра или регистровой пары и машинная команда языка ассемблера, взятая в круглые скобки. Выражения представляют собой последовательность вышеуказанных имен и констант, объединенных знаками арифметических, логических и некоторых других операций.

Псевдокоманды не имеют простых аналогов команд на машинном языке. Они предназначены для передачи ассемблеру-транслятору дополнительной информации о транслируемой программе. Можно выделить четыре класса псевдокоманд (см. табл. П.Ю): 1) управления трансляцией ORG, END; 2) определения данных и выделения области памяти для данных DB, DW, DS; 3) определения символических имен EQU, SET; 4) определения макрокоманд MACRO, ENDM.

Псевдокоманда ORG используется для установки начального адреса программы (ее фрагмента) или данных в памяти, а псевдокоманда END - для прекращения процесса трансляции исходной программы. Псевдокоманда DB формирует в оперативной памяти массив 8-битных констант, значения которых задаются в списке - последовательности выражений языка ассемблера, разделенных запятыми. Псевдокоманда DW аналогична команде DB, но формирует в отличие от нее массив 16-битных констант. Псевдокоманда DS используется для резервирования области памяти под данные (содержимое этой области ассемблер-транслятор не определяет).

Псевдокоманды MACRO и ENDM применяются для создания макросредств в языке ассемблера, тем самым превращая его в язык макроассемблера. Макросредства служат для повышения эффективности труда программиста. Потребность в них возникает тогда, когда в программе часто должны встречаться одинаковые или почти одинаковые последовательности команд. Макросредства позволяют однократно описать эти повторяющиеся последовательности с помощью макроопределений, а в тех местах программы, где встречаются эти



последовательности, помещать только краткие ссылки на них - макрокоманды (макровызовы).

Макроопределение представляет собой фрагмент текста программы, заключенный между псевдокомандами MACRO и ENDM. В поле названия псевдокоманды MACRO указывается имя определяемой макрокоманды, а в поле операндов - список формальных параметров - имен, имеющихся в теле микроопределеиия, которые требуется изменять при раскрытии макроопределения. Место подстановки макроопределения в текст программы указывается с помощью макрокоманды, которая в поле операции содержит имя соответствующего макроопределения, а в поле операндов - список фактических параметров, подставляемых вместо формальных параметров. При трансляции макрокоманды вместо нее подставляется текст соответствующего макроопределения. Замена формальных параметров фактическими производится по принципу позиционного соответствия простой текстовой подстановкой: первый фактический параметр в списке заменяет первый формальный параметр и т. д. Наличие списка параметров в макрокоманде не является обязательным условием, а зависит от вида макроопределения.

4. ПРОГРАММИРОВАНИЕ ПЕРИФЕРИЙНОГО ПАРАЛЛЕЛЬНОГО АДАПТЕРА KP5S0BB55

Микросхема KP580BB55 программируемого периферийного параллельного адаптера (ППА) предназначена для применения в МП системе в качестве универсального элемента ввода-вывода, обеспечивающего обмен данными в параллельном формате между МП и системными, в частности периферийными, устройствами. Аналогичное назначение, функции и структуру имеют микросхема К580ИК55 и зарубежный прототип ППА микросхема Intel 8255 [2, 3, 4, 12, 19, 31, 41, 42].

Условное обозначение ППА и его программная модель показаны на рис. П.2. Микросхема KP580BB55 размещена в 40-контактном корпусе и подключается к МП системе посредством двунаправленной трех-стабильной 8-разрядной шины данных ШД(8), двухразрядной шины адреса ША(2) и 4-разрядной шины управления ШУ(4) с сигналами: ЗП - запись, ЧТ - чтение, ВМ - выбор микросхемы и СБР - сброс. Адаптер включает три программно-доступных 8-разрядных порта ввода-вывода (ПА, ПВ, ПС) и 7-разрядный регистр управляющего слова РУС, содержимое которого определяет направление передачи и функциональное назначение 24 двунаправленных трехстабильиых линий ввода-вывода, т. е. конфигурацию и режимы работы портов. Порты ПА и ПВ предназначены для обмена байтами данных с системными устройствами, а порт ПС, как правило,- для обмена интерфейсными сигналами управления. Порт ПС в отличие от портов ПА н ПВ программно-доступен при операциях записи данных не только как элемент в целом, но и поразрядно, т. е. с независимой адресацией каж ого отдельного разряда ПС; (t = О, 1, 7), а в операциях выбора режима - как два полупорта: старший - ПСС,>1Ладший - ПСМ или их части. Обмен данными между элементами ППА и МП системой происходит через внутреннюю шину, связанную с ШД и через устройство управления (УУ) с шинами ША(2) и ШУ(4).

в МП системе, содержащей ППА, возможны два типа операций над его элементами: чтение (ввод) в МП содержимого адресуемого элемента и запись (вывод) из МП байта данных в адресуемый элемент ППА. Эти операции выполняются программно с помощью двух команд МП: IN В2 и OUT Б2, где В2 - системный адрес конкретного порта



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 [107] 108 109 110 111 112 113 114 115 116



0.0114
Яндекс.Метрика