Реферат: Структура микропроцессора Z80 - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Структура микропроцессора Z80

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Microsoft Word, 243 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

Микропроцессор Z 80 его структура и система команд. Архитектура микропроцессора Z-80 фирмы ZILOG основыва ется на архитектурных принципах микропроцессора 8080 и позволяет выполнять все 78 кома нд этого микропроцессора , а также 80 дополнительных команд . Всего микропроцессор Z-80 имеет 696 кодов операций (в отличие от 244 кодов микропроцессо ра 8080). К числу особенностей микропроцессора Z-80 от носятся : использование для питания лишь одног о источни ка напряжением “ +5В” , наличие однофазного внешнего синхрогенератора , 17 внутренн их регистров и встроенная схема регенерации ОЗУ. НАЗНАЧЕНИЕ ВЫВОДОВ. Микропроцессор Z-80 - это микросхема с 40 вывода ми , пронумерованными от 1 до 40. Рассмотрим функци и выводов. Вывод 11 напряжение питания +5в . Вывод 29- о бщий . Вывод 06- тактовый вход . В SPECTRUMe используется тактовая частота 3.5 Мгц . Вывод 07-10, 12-15- информационн ая шина . Вывод 1-5,30-40- адресная шина. Оставшиеся 13 выводов присоединены к линиям , которые не сут управляющие сигналы . В ывод 21- линия считывания RD. Эта линия становится активной , когда байт информации должен бы ть считан из памяти или порта . Вывод 22- линия записи WR. Эта линия активна , когда бай т информации должен быть записан в память или в пор т . Вывод 19- запрос п амяти MREQ. Эта линия активна в тех случаях , когда требуется обращение к памяти. Байт информации считывается из памяти в соответствии с адресом , помещенным на адресной шине . Далее , в соответствии с о ткликом на сигналы RD и MREQ, байт ин формаци и поступает на информационную шину , с кото рой эта информация в дальнейшем считывается микропроцессором . Для записи байта данных в память микропроцессор помещает требуемые адреса на адресную шину и требуемую ин формацию на шину данных . Сигналы MREQ и WR активизируются , и байт данных записыва ется в память. Вывод 28- линия регенерации RFSH. Она использует ся для регенерации динамической памяти . Части чно используется для формирования TV сканирующих сигналов . Вывод 27- активизируется при выполнении машинног о цикла М 1 и показывает , ч то проходящий машинный цикл обработки команды находится в состоянии “ввода кода операц ии” при выполнении некоторой команды . Сигнал М 1 при выполнении двухбайтовой команды фо рмируется при вызове каждого байта кода о перации . Сигнал M 1 появляется вместе с сигналом IORQ в цикле приема прерывания . Выборка инструкции требует , чтобы все три сигнала MI, MREQ и RD были активизированы . В то же время выборка байта данных из ячейки памяти требует , чтобы только MREQ и RD были а ктивизированы . Вр е мя необходимое для выборки инструкции - 1.14мкс , что составляет 4 такта . Вывод 20- линия выход lORQ. Эта линия акти вна при выполнении команд IN или OUT. Вывод 18- ос танов HALT. Линия активизируется при выполнении к оманды HALT. Вывод 25- линия запроса BUSR Q . Z-80 позволяет внешним устройствам использовать адрес ную и информационную шину в режиме пропус ка цикла . Запрос микропроцессору пропустить с ледующий цикл выполняется внешними устройствами путем активизации этой линии . Вывод 23- лини я подтверждения , BUSAK. Микропроцессор подтверждае т запрос остановки после выполнения команды и активизирует эту линию. Оставшиеся 4 вывода находятся под контроле м пользователя . Вывод 26- линия сброса , RESET. Использ уется для инициализации микропроцессора . Она активизируется при включении питания . Сброс может быть осуществлен в SPECTRUMe соединением линий RESET и GND. Вывод 24- линия ожидания WAIT. “Медленная ” память может требовать большего времени для цикла считывания или записи и об этом сообщает микропроцессору путем активиз а ции линии WAIT. Вывод 17- “немаскируемое прерывание” NMI. Активизация этой линии приводит к остановке выполнения микропроцессором теку щей программы , и вместо нее микропроцессор выполняет программу прерывания , записанную спец иально для этой цели . В SPECTRU M e нем аскируемое прерывание требует системного сброса , который выполняется записыванием 0 по адресу 23728. Вывод 16- “маскируемое прерывание” , INT. В SPECTRUMe скан ирование клавиатуры и обмен в режиме реал ьного времени называется “управляемым прерывание м”. Это означает , что электроника с истемы каждые 1/50 секунды активизирует INT, вызывая остановку выполнения микропроцессором основной программы и , вместо этого , выполнение програ ммы сканирования клавиатуры . Способность Z80 реагиро вать на INT может управлятьс я программ истом специальными машинными командами. ЛОГИЧЕСКАЯ ОРГАНИЗАЦИЯ Z80 В состав Z80 входят : устройство управления , регистр команд , программный счетчик , 24 регистра пользователя и арифметико-логическое устройство. Устройство управления . В Z80 управляю щее устройство выдает огромное число внутренних управляющих сигналов , а также обеспечивает формирование внешних управляющих сигналов. Регистр команд. Термин “регистр” используется для описания простой ячейки памяти внутри Z80. Регистр содержит 8 бит (1 бай т ). В Z80 им еется большой блок регистров , и пересылка байтов данных к регистрам и от них яв ляется простейшей и наиболее важной чертой программирования в машинных кодах. Регистр команд - специальный регистр , где микропроцессор содержит копию выполняемой тек ущей команды . Одной из черт набора команд Z80 является то , что определенные инстр укции содержатся в двух байтах данных . В этих случаях регистр команд содержит каж дую команду по очереди . Программный счетчик. Программный счетчик - это пара регистров , которы е используются совместно , поэтому программный счетчик содержит 16-ти битные зн ачения. Когда инструкции выбираются , управляющее устройство использует информацию в программном счетчике как адрес ячейки памяти , содержаще й команду , которая должна выполняться с ледующей . После выполнения команды значен ие в программном счетчике увеличивается. Действие программного счетчика очень похо же на переменную РРС интерпретатора бэйсик , которая содержит номер текущей строки бэйс ик и также наращивается. Регистры пользователя (ос новные регистры ). Имеется 24 регистра пользователя . Все регистры однобайтовые , хотя обычно испо льзуются парами . Регистр А называется аккумул ятором . Аккумулятор - основной регистр микропроцесс ора при различных операциях с данными . Бол ьшинство арифметичес ких и логических опер аций осуществляется путем использования АЛУ и аккумулятора . Любая такая операция над дв умя словами данных предполагает размещение од ного из них в аккумуляторе , а другого - в памяти или еще в каком-нибудь регистре . Так при сложении дву х слов , условно называемых А и В и расположенных в аккумуляторе и памяти соответственно , р езультирующая сумма загружается в аккумулятор , замещая слово А. Регистр F - это флаговый регистр . Он част о рассматривается как набор восьми флаговых битов , связанных в месте , а не как отдельный регистр . Установление флага соотве тствует 1, сброс -0. Программист обычно имеет дело с 4-мя основными флагами . Это флаг нул я , флаг знака , флаг переноса и флаг чет ности-переполнения . Дополнительные флаги используются управляющим у с тройством и не могут быть использованы программистом непосред ственно. Регистровая пара HL. При обращении к регистровой паре HL сна чала указывается младшая часть (LOW), а затем старшая (HIGH). Память 64К может быть рассмотрена как 256 страниц по 256 адресов в каждой . В этом случае значение старшего байта указывает на используемую страницу. В микропроцессоре регистровая пара HL являе тся одной из трех регистровых пар , которые используется в качестве адресных регистров . В этом качестве регистровая пара HL являе тся наиболее важной . Регистровая пара HL также может быть использована для хранения 16-ти разрядного числа , и существует опреде ленный ряд арифметических операций , которые м огут быть выполнены с этими числами . Н-рег истр и L-регистр также могут быть использ о ваны и как отдельные регистры , хотя с ними может быть выполнено огран иченное число операций. Регистровая пара ВС и DE. Эти пары и спользуются главным образом как адресные реги стры . Регистры могут быть использованы как одинарные . Регистр В рекомендуется испо льзовать в качестве счетчиков циклов. Набор альтернативных регистров. Z80 имеет альтернативный набор регистров для А,Р,Н ,1ДС , D,E. Они обозначаются A ’ ,F, и т. д . Существуют две специальные команды , которые позволяют обменивать основной и альтернативн ый набо р регистров . После обмена для Z80 альтернативный набор становится основным , а основной - альтернативным. Альтернативные наборы регистров часто исп ользуются для сохранения среда , когда запуска ется независимая задача. Регистровые пары IX и IY используются дл я выполнения операции , которая включает индексацию . Это дает возможность работать с о списком или таблицей . Начальный адрес сп иска или таблицы должен быть первоначально занесен в подходящую пару регистров IX иди IY. В программе монитора SPECTRUMa lY пара с о держит адрес 23610 (5C3Ah), что является начальным адресом таблицы системных переменных . IX пара широко используется как указатель в програ ммах обработки команд LOAD, SAVE, VERIFY, MERGE. Указатель стека - это адресный регистр . Он используется для указания в памяти области машинного стека и всегда рассмат ривается как одинарный двухбайтовый регистр . Z80 использует стек , заполненный в памяти сверху вниз . Аналогией является магазин автомата - по принципу последний пришел , первым ушел . Указатель стека использу е тся для указания различных размещений в области стека в каждом случае . Указатель стека все гда содержит адрес , куда последний раз был а произведена запись . Поэтому управляющее уст ройство сначала уменьшает значение указателя стека , а затем помещает туда знач е ние . Пересылка в стек двухбайтовая , и поэтому указатель стека должен быть дваж ды уменьшен при помещении в стек и дв ажды увеличен при выборке из стека . Машинн ый стек обычно используется как место сох ранения адресов возврата , но можно использова ть его как р а бочую область. Регистр 1 - регистр вектора прерываний , испо льзуется для размещения адресов устройств вво да-вывода . Однако BSPECTRUMe эта возможность не исполь зуется и 1- регистр используется для генерации TV - сигнала. Регистр R- регенерации памяти . Он явл яется простым счетчиком , который увеличив ается каждый раз при выполнении цикла рег енерации . 3начение в регистре циклически измен яется от 0 до 255. Арифметико-логическое устройство ( АЛУ ). В АЛУ выполняются арифметическ ие и логические операции . Возможно выпо лнение сложения и вычитания , а также АЛУ способно выполнять большое количество битовых операций и устанавливать флаги , что бы показать результат. СИСТЕМА КОМАНД МИКРОПРОЦЕССОРА Z-80. Команды и данные. Команды поделены на 18 групп , каждая из которых состоит из тех команд , кото рые сильно похожи друг на друга . Существуе т шесть классов данных , которые могут след овать за командой. 1.0днобайтовая константа (+DD). Это число А в диапазоне 00-FFh,(0-65535d). Те к оманды , которые требуют за собой однобайтовую константу , имеют мнемоническую приставку +DD. Например : LD HL,+DDDD. 2. Двухбайтовая константа (+DDDD). Это число А в диапазоне 0000-FFFFh (0-65535d).Те к оманды , которые требуют за собой двухбайтовую константу , имеют мнемоническую приставку +DDDD. На пример : LD HL,+ DEDD. 3. Двухбайтовый адрес (ADDV). Это число А в диапазоне 0000-FFFFh (0-65535d),то е сть число , которое используется как адрес памяти . Те команды , которые требуют за соб ой двухбайтовый адрес , имеют приставку ADDV, напри мер : JP ADDV. 4. Однобайтовая конста нта смещения (e). Это число А в диапазоне 00-FFh(-128+127d).Число вегда представлено в дополнительном коде.Те команды,которые требуют за собой однобайтовую константу,имеют мнемоническую приставку e.Наприме :JP e. 5. Однобайтовая индуксирующая константа смещ е ния (+D). Это число А в диапазоне 00-FFh, (-128 +127d) представ лено дополнительной арифметике . Те команды , ко торые требуют за собой однобайтовую индексиру ющую константу смещения , имеют мнемоническую приставку +D. Например : LD A,(JX+D) 6 Однобайтовая индекс ирующая константа смещения и однобайтовая константа (+D,+DD). Это два числа в диапазоне 00-FFh, первое из которых рассматривается как десятичное -128+127,а второе - как десятичное 0-255. Команды , требующи е два байта данных , сопровождаются мнемоникам и D и + DD.Например :LD (JX+D),+DD. ГРУППА КОМАНД. Существует много путей для разделения на группы сотен различных коман д . Метод ,выбранный , здесь , разделяет команды на 18 функциональных групп. Группа 1. Команда “нет операции” Мнемоника 16-ный код NOP 00 Выполнен ие команды требует 1,14 мкс . Ни один из регистров или флагов не из меняется . Команда NOP используется программистом для организации задержек , но чаше для удалени я ненужных команд из программы. Группа 2. Команды загрузки регистра констан тами. Мнемоника 16-н ый код LD A,+DD 3EDD LD H,+DD 26DD LD L,+DD 2EDD LD B,+DD 06DD LD C,+DD 0EDD LD D,+DD 16DD LD E,+DD lEDD Каждя из этих команд требу ет два байта памяти : один для кода опе рации , второй для константы . Команды записываю т в регистр ответствующие значен ия , ст арые значения регистра пропадают. Сведущие команды выполняют загрузку пары регистров двухбайтовыми константами. Мнемоника 16-ный код LD HL,+DDDD 21 DD DD LD BC,+DDDD 01 DD DD LD DE,+DDDD 11 DD DD LD IX,+DDDD DD 21 DD DD LD IY,+DDDD FD 2 1 DD DD LD SP,+DDDD 31 DD DD Строка команды требует 3 или 4 байта в памяти . Код операции занимает 1 или 2 байта ,и 2 байта занимает константа . Первый байт константы загружается в младший регистровой пары т.е . L,C,E,X,Y,P, а второй байт в старший регист р , т.е . H,B,D,l,S. Эти команды записывают в регистровые пары данные , которые часто рассматриваются программистом как двухбайтовый адрес , но могут быть также и двухбайт овым числовым значением и двумя отдельными однобайтовыми числовыми значениями. Команды эт ой группы не изменяют флагов. Группа 3. Команды копирования регистров и обмена . Существует 59 команд , которые выполняют копирование регистров и регистровых пар .Эт и команды можно разделить на 4 подгруппы . Подгруппа А . Команды копирования типа регистр-реги стр . Следующая таблица дает ко ды операций команд , выполняющих копирование с одержимого одного регистра в другой. LD LD LD LD LD LD LD регис тр A,R H,R L,R B,R C,R D,R E,R A 7F 67 6F 47 4F 57 5F H 7C 64 6C 44 4C 54 5C L 7D 65 6D 45 4D 55 5D B 78 60 68 40 48 50 58 C 79 61 69 41 49 51 59 D 7A 62 6 А 42 4A 52 5A E 7B 63 6B 43 4B 53 5B Ни одна из команд , приведен ных в таблице , не изменяет флаги . Существу ет кроме того 4 команды для I и R регистров. Мнемоника 16-ный код LD A,I E D57 LD A,R ED5F LD I,A ED47 LD R,A ED4F Эти последние команды влияют на флаг переполнения четности . Подгруппа В . Команды копирования типа регистровая пара - регистровая пара Существует только 3 команды этой подгруппы . Они копируют значения в указатель стека. Мнемоника 16-ный код LD SP,HL F9 LD SP,IX DD F9 LD SP,IY FDF9 Эти команды не изменяют со держимое флагов . Заметим , если содержимое реги стровой пары надо копировать в другую рег истровую пару и эти команды не подходят , необходимо выполнить две ко манды копир ования регистр-регистр . Например , нет команды LD HL,DE, и её заменяют , используя LD H,D и LD L,E. Или сод ержимое первой регистровой пары может быть сохранено в стеке и затем переписано в о вторую регистровую пару. Подгруппа С . Команды DE,NL. Суще ствует только одна команда , ко торая позволяет обменивать содержимое регистровы х пар в пределах основного набора регистр ов . Мнемоника 16-ный код EXX DE,HL EB Это очень полезная команда позволяет обменивать содержимое пары DE с содержимым пары HL. Значение флагов не изменяется . Команда используется , когда необходимо , чтобы адрес или двухбайтовая числовая константа из пар ы DE была записана в пару HK, но содержимое последней не было потеряно. Подгруппа D. Команды альтернативного набора регистров. В этой групп е 2 команды. Мнемоника 16-ный код EXX D9 EX AF,A ’ F 08 Команда EXX вызывает переключение регистров H,L,B,C,D,E на регистры H ’ ,L ’ ,B ’ ,C ’ ,D ’ ,E ’ . Команды EXAF,A ’ F, как следует из мнемоники , переключают рег . A и F на A ’ F. Ал ьтернативные регистры часто использу ются для хранения адресов и данных . Помещенные в альтернативные регистры эти значения сохран яются от искажения и могут быть легко и просто восстановлены. Группа 4.Команды загрузки регистров из памяти. В систему Z80 входит много команд , позвол яющих находить данные в памяти и за тем загружать их в регистры . Все эти к оманды требуют , чтобы программист указал адре с или пару адресов в памяти , откуда да нные должны быть скопированы в регистр-получа тель данных. Команды этой группы лучше рассматривать как команды трех подгрупп в соотве тствии с методом адресации . Виды адресации : косвенная - двухбайтовый адрес уже размеще н в адресной регистровой паре ; непосредственная -действительный адрес указан в двух байтах вслед за кодом операци и ; индексная - адрес данных должен быть в ычислен путем сложения значения смещения D с основным адресом , уже содержавшимся в регистровой паре IX или IY. Подгруппа A .Команды , использующие непосредстве нную адресацию. Мнемоника 16- ный код LD A ,(ADDR) 3A ADDR LD HL ,(ADDR) 2AADDR LD BC ,(ADDR) ED 4B ADDR LD DE ,(ADDR) ED 5B ADDR LD D ,(IX+D) DD 5D D LD E ,(IX+D) DD 5E D Для команд , использующих пару IY ,надо из менить IX на IY и DD на FD. Ни одна из команд этой группы не меняет флаги. Группа 5.Команды записи в память содер жимого регистра ил и константы. Обычно команды этой группы выполняют операции , противоположные тем , которые делают команды группы 4.Команды позволяют содержимое регистров переписывать в память или записыват ь туда константы . Эти команды лучше рассмо треть по трём группам. Подг руппа A. Команды непосредственной а дресации. Мнемоника 16-ный код LD(ADDR) ,A 32 ADDR LD(ADDR),HL 22 ADDR (обычная форма ) ED 63 ADDR ( необычная форма ) LD(ADDR),BC ED 43 ADDR LD(ADDR),DE ED 53 ADDR LD(ADDR),IX Е D 22 ADDR LD(ADDR),IY Е D 22 ADDR LD(ADDR),SP Е D 73 ADDR Приведённые команды приводят т олько непосредственную адресацию и важно заме тить , что нет команд для записи в памя ть констант . Если это необходимо , константа предварительно должна быть загружена в рег истр A. Затем выполняет ся LD(ADDR),A. Команды типа LD(ADDR),HL-фактически двойные команды : LD(ADDR),L и LD(ADDR+1),H. Команд ы подгруппы часто используются для сохранения адресов и значений в памяти , когда эт и значения используются как переменные . Напри мер , часто используется LD ( RAMTOP),HL, где RAMTOP - метка пары адресов памяти , используемых для хранения текущего значения верхней границы памяти . Выборка текущего значения верхней г раницы может быть позднее выполнена команда 4 группы , например : LD HL,(RAMTOP). Подгруппа B. Команды к освенной адресаци и. Команды этой подгруппы позволяют копирова ть содержимое регистров в память , адрес ко торой содержится в регистровой паре HL,BC или DE. существует также команда записи однобайто вой константы по адресу , указанному в паре HL. Мнемоника 16-н ый код LD(HL),A 77 LD(BC),A 02 LD(DE),A 12 LD(HL),X 74 LD(HL),L 75 LD(HL),B 70 LD(HL),C 71 LD(HL),D 72 LD(HL),E 73 LD(HL),+DD 36DD Подгруппа C. Команды индексной адресации. Мнемоника 16-ный код LD(IX+D),A DD 77 D LD(IX+D),H DD 74 D LD(IX+D),L DD 75 D LD(IX+D),B DD 70 D LD(IX+D),C DD 71 D LD(IX+D),E DD 73 D LD(IX+D),+DD DD 36 DDD Для команд , использующих IY-регистровую пару , надо изменить IX на IY и DD на DF. Группа 6.Команды сложения. Эта группа команд выполняет арифметически е действ ия . Команды сложения позволяют программисту прибавить ( в абсолютной двоичной арифметике ) заданное число к регистровой паре , регистру или индексному адресу памяти. Команды этой группы могут быть побеле ны на 3 подгруппы : команды ADD; команды INC. Специальные случаи сложения , когда к числу прибавляется 1; команда ADC. Значение флага переноса прибавл яется к результату . Флаг переноса -это оди н из битов регистров флагов , который испол ьзуется для сигнализации о том , было ли при выполнении последней арифметической операции переполнение регистра или байта памя ти . Команды ADD и ADC меняют флаг переноса , а INC-не меняет. Подгруппа A. Команды ADD. Мнемоника 16-ный код ADD A,+DD C6 DD ADD A,A 87 ADD A,H 84 ADD A,L 85 ADD A,B 80 ADD A,C 81 ADD A,D 82 ADD HL,HL 29 ADD HL,BC 09 ADD HL,DE 19 ADD HL,SP 39 ADD IX,IX DD 29 ADD IX,BC DD 09 ADD IX,DE DD 19 ADD A,E 83 ADD A,(HL) 86 ADD A,(IX +D) DD 86 D Для команд использующих IY регистр , надо поменять IX на IY и DD на FD. Подгруппа В . Команды INC. Команды этой группы позволяют приба вить 1 к регистру , ячейке памяти или паре регистров . Во всех случаях флаг переноса не изменяется. Мнемоника 16-ный код INC A 3C INC H 24 INC L 2C INC B 04 INC C 0C INC D 14 INC E 1C INC (HL) 34 INC (IX+D) DD 34 D INC HL 23 INC BC 03 INC DE 13 INC SP 33 INC IX DD 23 INC IY FD 23 Подгруппа С . Команды ADC. Мнемоника 16-ный код ADC A,+DD CE DD ADC A,A 8F ADC A,H 8C ADC A,L 8D ADC A,B 88 ADC A,C 89 ADC A,D 8A ADC A,E 8B ADC A,(HL) 8E ADC A,(IX+D) DD 8E ADC A,(IY+D) D D 8E ADC HL,HL ED 6A ADC HL,BC ED 4A ADC HL,DE ED 5A ADC HL,SP ED 7A Команды этой группы позволяют сложить два числа вместе с текущим значением ф лага переноса . Все команды этой группы мен яют флаг переноса . Он сбр асывается , ес ли операция ADC не даёт переполнения , и устан авливается если даёт. Группа 7.Команды вычитания. Команды вычитания позволяют вычисть задан ное число из одинарного регистра , пары рег истров или индексного адреса памяти . Команды этой группы полезно разделить на т ри группы , каждая из которых имеет свою мнемонику : команда SUB; команда DEC. Специальный случай вычитания , ко гда из числа вычитается 1; команда SBC. Значение флага переноса вычитае тся из результата . Все команды SUB и SBC изменяю т флаг перенос а в зависимости от того , требовался ли двоичный заём . Команда DEC оставляет флаг переноса без изменения. Группа 8.Команды сравнения. Команды этой группы используют очень часто во всех программах . Они позволяют пр ограммисту сравнить значение , находящееся в регистре A, с константой , значением в ре гистрах и области памяти . Команды выполняют операцию вычитание без переноса , без запоми нания результата вычитания и только устанавли вают флаги в регистре флагов . Первоначальное значение в регистре А не изменяется . Ф л аг переноса устанавливается , как при операциях вычитания . Сравнение , которое >=,сбрасывает флаг переноса , а < устанавливает . Ко манды этой группы -команда одинарного сравнен ия . Мнемоника 16-ный код CP +DD FE DD CP A BF CP H BC CP L BD CP B B8 CP C B9 CP D BA CP E BB CP (HL) BE CP (IX) +D DD BED CP (IY) +D FD BED Группа 9.Команды логики. Это команды AND, OR, XOR .Они переменяются к ре гистру А и другой заданной переменной . Опе рация выполняется побитно , и 8-битовый результа т возвращается в регистр А. Подгруппа А . Команда AND. Логическая операция выполняется над двумя двоичными цифрами и результат равен 1,тол ько если оба тестируемых биты установлены . В противном случае результирующий бит раве н 0.Командой AND удобно сбрасывать биты 0-7 регистра А . Это т процесс называется демаскиров анием и позволяет проверять определённые биты байта данных. Мнемоника 16-ный код AND +DD E6 Подгруппа B. Команда OR. Логическая операция “или” выпо лняется над двумя двоичными цифрами , и рез ультат равен 1,если одна или обе цифр ы установлены . В противном случае бит резу льтата сброшен. Мнемоника 16-ный код OR +DD E6 DD Подгруппа C. Команда XOR. При работе команды проверяются два ра зряда . Если хотя бы один из них , но не вместе , установлен в единицу , то резу льтирующий бит у станавливается также в 1,иначе результирующий бит сбрасывается. Группа 10.Команда DJNZ. Единственная команда в этой группе яв ляется одной из самых полезных и самой широко используемой в Z80.Работа этой команды может быть уподоблена циклу FOR-NEXT программ ы бэйсик следующего вида : FOR B=X TO 0 STEP-1:NEXT B в этом цикле переменной “ B” присв аивается значение X. Затем с каждым проходом цикла она уменьшается до тех пор , пока не достигнет значения 0.Команда DJNZ используется подобным же образом. Группа 12. Кома нда стека. В большинстве программ машинных кодов осуществляется активное использование машинного стека : программистом в качестве места где можно хранить данные , микропроцессором - для сохранения адресов возврата . Команда , которые образуют эту группу , можно разделить на две подгруппы для пользователя и три подгруппы для микропроцессора. Подгруппа А .PUSH и POP Эти команды позволяют программисту по PUSH сохранить 2 байта данных в машинном стеке , а по POP-копировать 2 байта из машинного стека . Эти 2 байта данных должны копирова ться в строго определенную пару регистров , но важно знать , что не производится ник акой записи , которая указывала бы , к каком у из двух регистров какой байт данных принадлежит. Когда выполняется команда PUSH, указатель сте ка предварительно ум еньшается , чтобы указ ать на свободный адрес , и в стек копир уется содержимое старшего регистра . Затем ука затель стека уменьшается вторично , и величина из младшего регистра копируется в стек . Противоположные действия имеет место во вр емя выполнения команды P OP. Подгруппа B. Команды CALL. Действие команд CALL следующие : 1.Текущее значение счетчика команд , т.е . адрес первой ячейки после ADDR, сохраняется в стеке . Указатель стека изменяется как в случае команды PUSH. Старший байт счетчика к оманд сохраняется в ст еке над младшим байтом. 2.Адрес ADDR затем записывается в счетчик команд , и выполняется программа. 3.По команде RET осуществляется возврат из программы. Подгруппа C. Команды RET. По команде RET адрес возврата из машинно го стека побайтно восстанавливается в с четчике команд . При этом указатель стека д важды модифицируется в сторону увеличения . Ва жно понимать , что восстановленный адрес возвр ата из машинного стека не обязательно тот , что был в начале помещен туда команд ой CALL. Подгруппа D. Команды RST. Последня я подгруппа команд в этой группе содержит специальную команду RST или команду “повторный пуск”.Эти команды являются аналогичные командам CALL, но не требуют , что адрес определялся. Группа 13.Команды сдвига. Набор команд Z80 имеет большое число ком анд для с двигов битов определенного б айта . Эти команды очень полезны . Тем более , что все они сдвигают биты через флаг переноса . Сдвиг байтов влево удваивает ве личину ,записанную в этом байте (регистре ), старшие биты при этом не теряются . Во время сдвига вправо вели ч ина дели тся пополам. Группа 14.Команды обработки битов. Набор команд Z80 имеет команды , которые п озволяют определять , устанавливать и сбрасывать определенные биты в пределах байта , помещен ного в регистр или находящегося в памяти. Подгруппа А . Команды BIT. Они позволяют определять состояние опреде ленного бита . Команды BIT устанавливают флаг нол ь , если используемый бит сброшен , и наобор от. Подгруппа B. Команда SET. Эти команды позволяют устанавливать опред еленный бит , при этом не один из флаго в не изменяется. Подгруппа C. Команда RES. Данная команда сбрасывает определенный би т . Флаги не меняются. Команды подгруппы AUTOMATIC(NON-AUTOMATIC). LDIR Это самая распространенная команда из этой группы . Команда будет перемещать данны е , адрес источника которых содержи тся в регистровой паре HL, в область памяти с адреса , находящегося в регистровой паре DE. Чи сло перемещаемых байтов определяется в пара BC. При работе одиночный байт перемещается из (HL) в (DE). Величина в регистровой паре BC затем уменьшается , а величина в HL и DE увеличивается . LDDR Эта команда является такой же как команда LDIR, за исключением того , что после пересылки каждого байта значения в HL и DE уменьшаются . Поэтому команда требует , что бы базовый адрес блока соответствовал последнему адресу блока. Место назначения информац ии также должно относится к последнему ад ресу области памяти . CPIR Эта команда просматривает определенную об ласть памяти для поиска первого наличия э талонной величины . Регистровая пара HL должна со держать базовый адрес , BC-число байтов для исследования , а регистр А эталонную велич ину . При работе байт по адресу HL сравнивает ся с байтом , находящемся в А . Если они не совпали , то BC уменьшается , а HL увеличивае тся , и сравниваются следующие байты . Так п родолжается до тех пор , пока не совпадают байты , либо BC не станет равны м 0. Неавтоматические команды . LDI Выполнение этой команды даст перемещение одиночного байта данных из адреса записа нного в регистровой паре HL, по адресу запис анного в регистровой паре DE. Величина в BC ум еньшае тся . LDD Как LDI за исключением того , что величина в HL и DE уменьшаются . CPI Выполнение этой команды заключается в сравнении байта по адресу , определенному в паре HL, с байтом в регистре А . Флаг 0 устанавливается , если они совпали , в против ном случае сб расывается . Группа 16. Команды ввода \ вывода . В Z80 имеется исчерпывающий набор команд , позволяющих программисту получать данные от внешнего источника (IN) или выдавать данные на периферию (OUT). Имеются простые , неавтоматические и автоматические команд ы в этой гр уппе . Во всех случаях данные , которые пере даются через IN и OUT определяют форму 8-ми бито вых данных . По команде IN Z80 принимает байты д анных с шины данных и копирует их в заданный регистр . Во время выполнения коман ды IN линия IORQ активна , та к же как и RD. По команде OUT Z80 передает данные с зада нного регистра на шину данных , оттуда они поступают на периферийное устройство . Во время работы команды OUT линия IORQ и WR будут акт ивны . В дополнение к состоянию RD, WR и IORQ перифе рийное устройств о будет активизироватьс я с использованием адреса , помещенного на адресной шине во время выполнения либо IN , л ибо OUT команды . Этот адрес указывает конкретный порт и в Z80 представляет собой 16- битный адрес . Группа 17. Команды прерывания . EI При включени и Z80 система маскированного прерывания не может прервать выполнение команд . Эта ситуация существует до тех пор , пока прерывания не будут разрешены прогр аммистом по команде EI. DI В любом месте программы программист м ожет запретить прерывания по команде D I, которая не позволяет микропроцессору принимать сигналы с линии INT. IM0 Имеется три типа прерывания . Режим 0 вы бирается автоматически при включении или по команде IM0. Этот режим позволяет периферийным устройствам обмениваться информацией с микро процес сорм , программа перезапуска которого должна следовать за приемом маскированного прерывания на линии INT. IM1 Режим прерывания 1 выполняется по команде IM1 при выполнении программы ROM монитора . В др угих случаях необходимо включить IM1 в начало программы . В этом режиме перезапуск б удет всегда выбираться с адреса 0038h при при еме сигнала на линии INT, длительность которого соответствует возможности обработки системы маскированного прерывания . RETI Это специальная команда возврата для использования с програм мой маскированного прерывания . По этой команде происходит возв рат с сохранением маскированного прерывания , принятого раньше . RETN Это команда подобная RETI, но она примени ма в конце программы немаскированного прерыва ния . Группа 18. Дополнительные команды . CPL Представляет собой простую команду , котор ая инвертирует содержимое регистра А , т . е . она устанавливает сброшенный бит и сбрас ывает установленный . Основные флаги не изменя ются . NEG Это команда дополнения до двух содерж имого регистра А , т . е . выполн яется преобразование А =-А . Эта команда влияет на основные флаги . Флаги знака и 0 зависят от результата . Флаг переноса будет установл ен , если регистр А первоначально был 0. SCF Установка флага переноса . CCF Инверсия флага переноса . HALT Это специальная к оманда , заставляющая мп останавливать выполнение команд , пока не возникает прерывание . Следовательно , при по ступлении прерываний , команда HALT заканчивается . Кома нда “ PAUSE” использует это , чтобы подсчитать количество 1/50 долей секунды . Список Литератур ы : МАШИННЫЕ КОДЫ издательство “СОЛОН” 1993 г.
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Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
- Я – третье лицо в государстве.
- Ты им быть никак не можешь. Третье лицо – это спикер Госдумы.
- Это если с этой стороны списка смотреть.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по программированию "Структура микропроцессора Z80", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru