Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Простой графический дисплей




 

Запоминающее устройство на 256 слов по 8 бит позволяет отображать 2048 точек на экране в виде сетки 64x32 элемента. В этом случае знакогенератор не требуется, поскольку каждый бит из памяти прямо отобража­ется без преобразования. Схема такого устройства индикации дана на рис. 10.9. Каждая точка формируется из восьми сосед­них горизонтальных строчек развертки.

Логика работы ТВ-дисплея довольно проста и может быть без труда реализована даже на такой простой вычислительной машине, как ПМ-ЭВМ. Вся сложность в том, что быстродейст­вие ПМ-ЭВМ, да и многих других машин более высокого клас­са, недостаточно, чтобы уложиться в жесткие рамки телеви­зионного стандарта. Выход заключается либо в создании спе­циализированного периферийного процессора — контроллера ЭЛТ, каковыми являются рассмотренные выше устройства (промышленностью выпускается специализированная микро­схема КР580ВГ75 - программируемый контроллер ЭЛТ), либо в отступлении от стандарта, если требования к информа­ционной емкости дисплея, как в нашем случае, не велики.

Покажем, что, не используя практически никакой дополни­тельной аппаратуры, можно реализовать вывод поля памяти объемом 256 байтов (сетка 64x32 элемента) на экран обыч­ного осциллографа. Подключим к ПМ-ЭВМ схему, показанную на рис. 10.10. Здесь порт 000 служит для параллельной выдачи содержимого ячеек памяти. Сдвиговый регистр преобразует параллельный код в последовательный. Сигнал с выхода сдви­гового регистра может быть подан непосредственно на вход Z модуляции яркости осциллографа. Порт 001 служит для вы­вода синхроимпульса строчной развертки Н, а порт 002 — для вывода синхроимпульса кадровой развертки V. Кадровая и строчная развертки могут быть сформированы с помощью простых пассивных цепей непосредственно из соответствую­щих синхроимпульсов. Выдаваемые портами 000, 001 и 002 сигналы формируются с помощью следующей программы:

 

014 000 176 Ml: MOV A, M 7 - количество тактов

014 001 323 OUT,OOOQ10 014 002 000

014 003 167 MOV M, А 7

014 004 000 NOP 4

014 005 054 INR L 5

014 006 035 DCRE 5

014 007 302 JNZ,M1 10

014 010 000

014 011 014

Итого: 48 тактов

 

Рис. 10.9. Схема приставки для формирования графической информации на экране ТВ

 

Эта часть программы выводит в порт 000 очередной байт из памяти. Команды MOV M, А и NOP вставлены, чтобы полу­чить выраженную в тактах длительность этого фрагмента про­граммы кратной восьми. В итоге получаем 48 тактов. Это зна­чит, что стоящий на выходе сдвиговый регистр должен выда­вать очередной разряд числа через каждые 6 тактов, чтобы завершить выдачу всех восьми разрядов за 48 тактов. После восьми циклов прохождения первого фрагмента программы содержимое регистра Е станет равным нулю и начнет испол­няться следующий фрагмент программы, предназначенный для выдачи синхроимпульса строчной развертки, здесь же про­исходит и загрузка регистра Е:

Рис. 10.10. Схема приставки для формирования графической информации на экране осциллографа

 

014012257 XRAA 4

014013323 OUT.OOOQ 10

014 014 000

014015323 OUT,001Q 10

014016 001

014017036 MVIE, 010Q 7

014 020 010

014 021 000 NOP 4

014 022 000 NOP 4

014 023 000 NOP 4

014 024 000 NOP 4

014 025 000 NOP 4

014 026 000 NOP 4

014 027 000 NOP 4

014 030 000 NOP 4

014031000 NOP 4

014032057 СМА 4

014033323 OUT, 001Q Ю

014 034 001

014035025 DCRD 5

014036302 JNZ,M1 Ю

014037 000

014040014 ---------------

Итого: 56.тактов

 

Этот фрагмент программы имеет продолжительность 96 так­тов, т. е. вдвое больше времени выдачи одного байта из памяти. Следовательно, общая продолжительность цикла строчной развертки составляет 48-8 + 96 = 480 тактов (т. е. 480 мкс). Количество строк определяется числом 32 (040Q), загружае­мым в регистр D следующим фрагментом программы:

 

014041257 XRA, А 4

014042323 OUT, 002Q 10

014 043 002

014 044 026 MVI D, 040Q 7

014 045 040

014046041 LXIH, ADM 10

014 047 000

014051315 CALLINP 17

014 052 X

014053 Y

014 054 057 СМА 4

014055323 OUT, 002Q 10

014 056 002

014057303 JMP, Ml 10

014 060 000

014061 014

Итого: 72 + время исполнения ПП ввода IMP (3840 тактов)

 

В этом фрагменте происходит выдача синхроимпульса кадро­вой развертки и задается адрес начала массива информации, выводимой на дисплей. Отведя на обратный ход луча время, равное четверти длительности прямого хода луча для верти­кальной развертки, получим период кадровой развертки, рав­ный 480-32 + 480-8 = 19 200 мкс. Отсюда получаем частоту кад­ровой развертки, равную примерно 50 Гц, что нас вполне удов­летворяет. В последнем фрагменте программы, длящемся 3840 мкс, предусмотрен вызов ПП ввода информации в ОЗУ с клавиатуры или внешнего устройства для изменения картин­ки на экране дисплея. Эта ПП должна иметь строго определен­ную длительность, необходимую для стабильности параметров развертки. Если в этом промежутке времени исполняются дру­гие программы неизвестной длительности, надо организовать систему с внешними прерываниями.

 

ЗВУКОВАЯ СИГНАЛИЗАЦИЯ

 

В рассмотренной в § 9.2 кон­струкции кодового замка мы уже использовали звуковую сигнализацию для подачи сигнала тревоги. Для этого наушник или репродуктор подключался через резистор 200 Ом к младшему разряду порта 001 между выводом 16 микросхемы D18 и источником +5 В. Определенный звуковой тон получался в результате того, что в порт 001 выводилось содержание ре­гистра, инкрементируемого в постоянном темпе. Частота сиг­нала, получаемого с младшего разряда порта, равна половине частоты инкрементирования и задается временной задержкой соответствующего программного цикла. В следующем разряде частота вдвое меньше и т. д. Следовательно, подключая репро­дуктор не к младшему разряду порта, а к старшим, получим тон на соответствующее число октав ниже. Подавая на репро­дуктор через резисторы сигналы с разных разрядов порта, полу­чим звуки одного тона, но с разным содержанием гармоник. Если же в несколько портов выводить содержимое регистров, к которым с постоянной частотой прибавляются различные чис­ла, то, подключив репродуктор, к выходам портов через резисто­ры, можно получить различные аккорды.

Таким образом, звуки разных частот можно получать, при­бавляя к содержимому регистра разные числа или же меняя частоту суммирования.

Подключим репродуктор и введем в ПМ-ЭВМ следующую программу:

 

014000061 Ml: LXISP,TAB

014001 036

014003301 М2: POP В

014 004 170 MOV A, B

014 005 267 ORA A

014006312 JZ.M1

014 007 000

014011171 МЗ: MOVA.C

014012267 ORA A

014013312 JZ,M4

014014 023

014015 014

014016034 INRE

014017173 MOV A, E

014020323 OUT, 0010

014 021 001

014022171 MOV А, С

014023075 М4: DCRA

014024302 JNZ,M4

014025 023

014 027 005 UCR B

014030302 JNZ,M3

014031 Oil

014032 014

014 033 303 JMP, M2

014 034 003

014035 014

014 036 175 TAB: до

014037 145

014040160 ре

014 042 144 ми

014043 177

014 044 136 фа

014 045 207

014 046 124 соль

014 047 230

014050113 ля

014 050 252

014051102 си

014 052 277

014 053 077 до

014054 313

014 055 000

014 056 000

 

Нажмем кнопки СБРОС и Ц. Репродуктор начинает наигры­вать гамму. Воспроизводимая мелодия запрограммирована таб­лицей, начинающейся с метки TAB. Таблица содержит пары чи­сел, последовательно извлекаемые процессором из памяти с по­мощью команды POP В. Первое число из пары заносится в ре­гистр С и задает высоту тона, второе число заносится в регистр В и задает длительность звучания ноты. Если в регистре В оказы­вается нуль, программа возвращается к началу таблицы. Если в регистре С оказывается нуль, формируется пауза. Подсчитав длительности программных циклов, нетрудно определить, какие числа в таблице соответствуют различным нотам, и запрограмми­ровать любую мелодию. Надо иметь в виду следующее: для того чтобы различные ноты имели одинаковую длительность звучания, произведение первого числа из пары на второе должно быть постоянным.

Читатель может усложнить программу, чтобы получить более интересное звучание. Он может также самостоятельно разрабо­тать программу "музыкального ящика", позволяющую самому наигрывать различные мелодии, пользуясь клавиатурой ПМ-ЭВМ. Мир машинной музыки необъятен, и начав с простей­ших программ, читатель при желании может достичь в этой области новых и оригинальных результатов.

 

ДРУГИЕ ВОЗМОЖНОСТИ ПМ-ЭВМ

 

В этой главе мы рассмотрели расширение возможностей ПМ-ЭВМ в части клавиатуры и инди­кации, памяти, внешнего накопителя и ТВ-дисплея. Обслужива­ние всех этих устройств осуществлялось программным путем, без значительного усложнения схемы самой ПМ-ЭВМ и ее уст­ройств ввода/вывода. Программное обслуживание внешних устройств со стороны центрального процессора требует боль­ших затрат машинного времени за счет исполнения основной программы и снижает производительность вычислительной си­стемы. Использование прерываний, прямого доступа к памяти (ПДП) и программируемых периферийных микросхем позво­ляет повысить производительность и гибкость вычислительной системы. Периферийные программируемые микросхемы явля­ются специализированными периферийными процессорами, берущими на себя часть задач центрального процессора. При этом техническая сложность системы зачастую не возрастает или даже уменьшается.

Отечественной промышленностью выпускается широкая но­менклатура периферийных программируемых микросхем, со-гласуемых с МП типа КР580ВМ80А.

Использование программируемых микросхем в конкретной МП-системе связано: 1) с заданием режимов ее работы в систе­ме, адресацией и определением электрических связей с внутрен­ними шинами МП-системы и периферийными устройствами; 2) с вводом фрагмента программы, задающей режимы работы микросхемы (программа инициализации); 3) с обращением к микросхеме в процессе исполнения рабочей программы.

Количественный рост МП-системы ведет и к ее архитектур­ному усложнению. Возникает необходимость каким-либо обра­зом стандартизовать связи микро-ЭВМ. Известно много стан­дартов внутрисистемных шин МП-систем. Для МП серии КР580ИК80А наиболее известны шины MULTIBUS и 8=100, позволяющие объединять в систему периферийные, процессор­ные блоки и блоки памяти различных изготовителей.

Большая МП-система требует специального математического обеспечения (МО). Если при написании и отладке программ емкостью до 1 Кбайт можно с успехом обойтись программиро­ванием в кодах, то программы большего размера пишутся обыч­но на языках различных уровней, в том числе и на специализи­рованных языках высокого уровня. Для перевода таких программ на машинный язык необходимы программы-интерпрета­торы, а для отладки — программы редактирования и отладки. Чтобы весь комплекс программ мог успешно функционировать, необходимо использовать какую-либо операционную систему (ОС). Все это доводит общую емкость МО до нескольких сотен килобайт и требует для хранения специальных накопителей. Поэтому не имеет смысла, как говорят, "с нуля" проектировать большую МП-систему. Гораздо разумнее использовать уже имею­щийся опыт, взяв в качестве образца готовую промышленную систему.

Для любой системы, состоящей из заданного набора элемен­тов, есть предел сложности, определяемый надежностью входя­щих в нее элементов, надежностью связей между элементами, допусками при проектировании, программным обеспечением, архитектурой системы, внешними условиями и теми функция­ми, которые система должна выполнять. Не ставьте перед собой сверхзадач и не переусложняйте систему, иначе она будет нера­ботоспособной. Имейте мужество отказаться от дальнейшего наращивания уже имеющейся системы, когда ее надежность падает до неприемлемого уровня, чтобы заново перепроектиро­вать систему на современном идеологическом и техническом уровне.

Рассмотрим коротко характеристики некоторых програм­мируемых микросхем, находящих широкое применение в МП-системах.

Микросхема программируемого последовательного интерфей­са типа КР580ВВ51А является универсальным синхронно-асин­хронным приемопередатчиком (УСАПП), предназначенным для осуществления связи в последовательном формате между МП-системой и внешним абонентом. Микросхема используется как периферийное устройство, программируемое центральным про­цессором МП-системы почти для любого стандартного протоко­ла последовательной передачи данных. Микросхема принимает данные от МП-no шине данных в параллельном формате и преоб­разует их в непрерывный поток последовательных данных для передачи абоненту. Микросхема может одновременно с этим принимать последовательные данные, преобразовывать их в параллельный формат и передавать микропроцессору. Она сиг­нализирует микропроцессору о готовности к приему нового слова, предназначенного для передачи абоненту в последователь­ном формате, а также о готовности передать МП-принятое от абонента слово. МП-может в любой момент времени считать из микросхемы слово состояния, указывающее на возможные ошибки при приеме информации и содержащее признаки нали­чия управляющих сигналов.

Микросхема типа КР580ВИ53 представляет программируе­мый таймер/счетчик, предназначенный для работы в качестве периферийного устройства МП-системы. Микросхема состоит из трех независимых 16-битовых счетчиков с максимальной частотой счета 2 МГц. Каждый счетчик микросхемы может ра­ботать в одном из шести запрограммированных режимов. С по­мощью микросхемы таймера/счетчика решается одна из наибо­лее часто встречающихся в МП-системах задач — генерирование точных программно задаваемых временных задержек взамен организации холостых программных циклов. Пользователь подключает соответствующим образом микросхему, загружает один из счетчиков нужным числом, после чего в результате по­дачи команды счетчик отсчитывает заданную задержку и выра­батывает сигнал прерывания для МП-системы. Микросхема может выполнять функции не только генератора задержки, но и программируемого генератора заданной частоты, счетчика со­бытий, датчика реального времени и др.

Микросхема типа КР580ВВ55А представляет собой програм­мируемый периферийный интерфейс, предназначенный для прие­ма в МП-систему и выдачи из нее информации в параллельном коде, функции микросхемы в системе задаются программно, поэтому, как правило, не требуется подключать какие-либо до­полнительные логические схемы. Предназначенные для ввода и вывода внешней информации 24 ножки микросхемы могут быть индивидуально запрограммированы группами по 12 и исполь­зованы в трех различных режимах работы. В первом из них (Режим 0) в каждой группе из 12 ножек часть может быть запрограммирована на ввод, а часть — на вывод. Во втором ре­жиме (Режим 1) группа программируется так, что 8 ножек слу­жат для ввода или вывода, а 3 ножки из оставшихся 4 предназ­начены для сигналов квитирования (запрос — подтверждение) и прерывания. В третьем режиме (Режим 2) из 8 ножек орга­низуется 8-разрядная двунаправленная шина, а 5 ножек (с за-емом из другой группы) предназначены для сигналов квитиро­вания и прерывания.

Микросхема типа КР580ВТ57 представляет собой четырех-канальный программируемый контроллер прямого доступа к памяти (ПДП), предназначенный для организации высокоско­ростного обмена данными между периферийными устройствами и памятью МП-системы, построенной на базе микропроцессора КР580ВМ80А. Функция микросхемы заключена в основном в

мы имеют информационную емкость 2К х 8 и программируются побайтно импульсами на ТТЛ-уровне. Микросхема приводится в исходное состояние (когда во всех разрядах стоят единицы) путем облучения ультрафиолетовым источником света, в каче­стве которого можно использовать с соответствующими предо­сторожностями обычную бытовую кварцевую лампу, а в ка­честве программатора — саму ПМ-ЭВМ.

 

ПРИЛОЖЕНИЯ

Система команд микропроцессора КР580ИК80А

 

ПРИЛОЖЕНИЕ1

Мнемокод команды Описание команды Длина команды байт , Изменяемые флаги Число тактов
INRr Увеличение содержимого регистра г на еди-   Z,S,P,AC  
  ницу      
INRM Увеличение на единицу содержимого ячейки   Z,S,P,AC  
  памяти по адресу, указанному в регистрах Н      
  и L      
DCRr Уменьшение содержимого регистра г на еди-   Z,S,P, AC2  
  ницу      
DCRM Уменьшение на единицу содержимого ячейки   Z, S,P, AC2  
  памяти по адресу, указанному в регистрах Н      
  иЬ      
MOVrl,r2 Пересылка данных из регистра г 2 в регистр rl   -  
MOV M, г Пересылка данных из регистра г в ячейку па-   -  
  мяти по адресу, указанному в регистрах Н и L      
MOV г, М Пересылка данных в регистр г из ячейки памя-   -  
  ти по адресу, указанному в регистрах Н и L      
ADDr Суммирование содержимого регистра г и со-   Z,S,P,C,AC  
  держимого аккумулятора      
ADDM Суммирование содержимого ячейки памяти   Z,S,P,C, AC  
  по адресу, указанному в регистрах Н и L,      
  с содержимым аккумулятора      
ADCr Сложение с учетом переноса содержимого ре-   Z,S,P, C, AC  
  гистра г и содержимого аккумулятора      
ADCM Сложение с учетом переноса содержимого   Z,S,P,C,AC  
  ячейки памяти по адресу, указанному в ре-      

Продолжение прилож. 1

Мнемокод команды Длина Описание команды команды, Изменяемые флаги байт Число тактов
  ги страх Н и L, с содержимым аккумулятора  
SUB r Вычитание содержимого регистра г из содер- 1 Z,S,P, С, АС  
  жимого аккумулятора  
SUBM Вычитание из содержимого аккумулятора 1 Z, S, Р, С, АС  
  содержимого ячейки памяти по адресу, ука-  
  занному в регистрах Н и L  
SBBr Вычитание с заемом содержимого регистра г 1 Z, S, Р, С, АС  
  из содержимого аккумулятора  
SBBM Вычитание с заемом из содержимого аккуму- 1 Z,S,P,C, AC  
  лятора содержимого ячейки памяти по адресу,  
  указанному в регистрах Н и L  
ANA г Поразрядное И над содержимым регистра г 1 Z, S, Р, С = 0, АС = 0  
  и аккумулятора  
ANAM Поразрядное И над содержимым аккумуля- 1 Z, S, Р, С = 0, АС = 0  
  тора и ячейки памяти по адресу, указанному  
  в регистрах Н и L  
XRAr Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над со- 1 Z, S, Р, С = 0, АС = 0  
  держимым регистра г и аккумулятора  
XRAM Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над со- 1 Z, S, Р, С = 0, АС = 0  
  держимым аккумулятора и ячейки памяти  
  по адресу, указанному в регистрах Н и L  
ORAr Поразрядное ИЛИ над содержимым регист- 1 Z,S,P,C = 0, AC = 0  
  pa r и аккумулятора  
ORAM Поразрядное ИЛИ над содержимым аккуму- 1 Z, S, Р, С = 0, АС = 0  
  лятора и ячейки памяти по адресу, указанно-  
  му в регистрах Н и L  
CMP г Сравнение содержимого регистра г и аккуму- 1 (Z, S, P, С, АС)3  
  лятора  
CMPM Сравнение содержимого аккумулятора и ячей- 1 (Z, S, P, С, АС)3  
  ки памяти по адресу, указанному в регист-  
  рах Н и L  
INXrp Увеличение на единицу содержимого пары ре- 1 -  
  гистров гр (В, D, Н, SP)  
DCXrp Уменьшение на единицу содержимого пары 1 -  
  регистров гр (В, D, H, SP)  
DADrp Сложение содержимого пары регистров тр 1 С  
  (В, D, H, SP) с содержимым пары регистров  
  Н и L и хранение результата в Н и L  
POPrp Выдача данных из стека в пару регистров гр 1 (Z, S, P, С, АС)6  
  (В, D, H) или в аккумулятор и регистр при-  
  знаков PSW  
PUSH rp Занесение в стек содержимого пары регист- 1 -  
  ров гр (В, D, H) или содержимого аккумуля-  
  тора и регистра признаков PSW  
STAXrp Запись содержимого аккумулятора в ячейку 1 -  
  памяти, косвенно адресуемую парой регист-  
  ров гр (В, D)  
LDAX rp Запись в аккумулятор содержимого ячейки 1  
  памяти, косвенно адресуемой парой регист-  
  ров гр (В, D)  
RNZ Возврат из подпрограммы при отсутствии 1 - 5/11
  нуля (флаг нуля в состоянии 0)  
RZ Возврат из подпрограммы при наличии нуля 1 - 5/11
  (флаг нуля в состоянии 1)  
RNC Возврат из подпрограммы при отсутствии 1 - 5/11
  переноса (флаг переноса в состоянии 0)  
RC Возврат из подпрограммы при наличии пе- 1 - 5/11
  реноса (флаг переноса в состоянии 1)  

Продолжение прилож. 1

Мнемокод команды Описание команды Длина команды, Изменяемые флаги байт Число тактов  
RPO Возврат из подпрограммы при отсутствии   5/11  
  четности (флаг четности в состоянии 0)      
RPE Возврат из подпрограммы при наличии чет-      
  ности (флаг четности в состоянии 1)      
RP Возврат из подпрограммы при положительном   5/11  
  результате (флаг знака в состоянии 0)      
RM Возврат из подпрограммы при отрицательном   5/11  
  результате (флаг знака в состоянии 1)      
RET Безусловный возврат из подпрограммы 1 С4 5/11  
RLC Циклический сдвиг содержимого аккумуля- 1 С4    
  тора влево 1 С4    
RRC Циклический сдвиг содержимого аккумуля- 1 С    
  тора вправо      
RAL Циклический сдвиг содержимого аккумуля- 1 С4    
  тора влево, включая флаг переноса 1 С4    
RAR Циклический сдвиг содержимого аккумуля- 1 С4    
  тора вправо, включая флаг переноса      
XCHG Обмен данными между парами регистров Н,      
  L HD.E      
XTHL Обмен данными между двумя верхними ячей-      
  ками стека и парой регистров Н, L (сначала      
  самая верхняя обменивается с L, затем сле-      
  дующая с Н)      
SPHL Передача в указатель стека содержимого ре-      
  гистров Н и L      
PCHL Передача в счетчик команд содержимого пары 1 -  
  регистров Н и L с последующим выполнением  
  программы с адреса, равного новому содер-  
  жимому счетчика команд (по существу коман-  
  да перехода)  
HLT Останов программы 1 -  
NOP Отсутствие операции 1 -  
DI Запрет на прерывание программы 1 -  
EI Разрешение прервать программу 1 -  
DAA Перевод двоичного представления содержимо- 1 —  
  го аккумулятора в двоично-десятичный код  
СМА Поразрядное инвертирование содержимого 1 -  
  аккумулятора  
STC Установка флага переноса С в единицу 1 С = 1  
CMC Инвертирование значения флага переноса 1 С=С  
RSTA Повторный запуск программы с адреса 1 -  
  10 = (ОА08)  
ADI<B2> Сложение содержимого байта В2 с содержи- 2 Z,S,P, С, АС  
  мым аккумулятора  
ACI <В2> Сложение с учетом переноса содержимого 2 Z,S, P, С, АС  
  байта В2 с содержимым аккумулятора  
SUI <В2> Вычитание содержимого байта В2 из содер- 2 Z, S, Р, С1, АС2  
  жимого аккумулятора  
SBI <В2> Вычитание с заемом содержимого байта В2 2 Z, S, Р, С1, АС2  
ANI <В2> из содержимого аккумулятора Поразрядное И над содержимым байта В2 и 2 Z, S, Р, С = 0, АС = 0  
  содержимым аккумулятора  
XRI <B2> Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над со- 2 Z, S, Р, С = 0, АС =0  
  держимым байта В2 и содержимым аккуму-  
  лятора  
             

Продолжение прилож. 1

Мнемокод команды Описание команды Длина команды, байт Изменяемые флаги Число тактов
ORI<B2> Поразрядное ИЛИ над содержимым байта В2   Z,S,P, C = 0, AС=0  
  и содержимым аккумулятора      
CPI <В2> Сравнение содержимого байта В2 с содержи-   (Z, S, Р,С, АС)3  
  мым аккумулятора      
IN <B2> Ввод данных в аккумулятор из порта ввода,   -  
  определяемого адресом в байте В2      
OUT<B2> Вывод данных из аккумулятора в порт вы-   -  
  вода, определяемый адресом в байте В2      
MVI r <B2> Занесение содержимого байта В2 в регистр г   -  
MVI M <B2> Запись содержимого байта В2 в ячейку памя-   -  
JNZ<B2><B3> ти по адресу, указанному в регистрах Н и L Переход в программе к выполнению команды по адресу в В2, ВЗ при отсутствии нуля (флаг нуля в состоянии 0)   -  
JZ<B2><B3> Переход в программе к выполнению команды по адресу в В2, ВЗ при наличии нуля (флаг ну­ля в состоянии 1)   -  
JNC<B2><B3> JC<B2><B3> Переход в программе к выполнению команды по адресу в В2, ВЗ при отсутствии переноса (флаг переноса в состоянии 0) Переход в программе к выполнению команды по адресу в В2, ВЗ при наличии переноса (флаг переноса в состоянии 1) 3 3 - 10 10
JPO<B2><B3> Переход в программе к выполнению команды по адресу в В2, ВЗ при наличии нечетности (флаг четности в состоянии 0)   -  
JPE<B2><B3> Переход в программе к выполнению команды    
  по адресу в В2, ВЗ при наличии четности (флаг четности в состоянии 1)      
JP<B2><B3> Переход в программе к выполнению команды по адресу в В2, ВЗ при положительном резуль­тате (флаг знака в состоянии 0)      
JM<B2><B3> Переход в программе к выполнению команды по адресу в В2, ВЗ при отрицательном резуль­тате (флаг знака в состоянии 1)      
JMP<B2><B3> Безусловный переход к команде по адресу в В2, ВЗ   . с
CNZ<B2><B3> Вызов подпрограммы при отсутствии нуля (флаг нуля в состоянии 0)     11/175 с
CZ<B2><B3> Вызов подпрограммы при наличии нуля (флаг нуля в состоянии 1) • 3 ~ 11/175 с
CNC<B2><B3> Вызов подпрограммы при отсутствии перенос, (флаг переноса в состоянии 0) i3 И/175
CC<B2><B3> Вызов подпрограммы при наличии переноса (флаг переноса в состоянии 1)   И/175
CPO<B2><B3> Вызов подпрограммы при наличии нечетности (флаг четности в состоянии 0)   11/175
CPE<B2><B3> Вызов подпрограммы при наличии четности (флаг четности в состоянии 1)   И/175
CP<B2><B3> Вызов подпрограммы при наличии положи­тельного результата (флаг знака в состоя­нии 0)     И/175
CM<B2><B3> Вызов подпрограммы при наличии отрица­тельного результата (флаг знака в состоя­нии 1)     И/175

 

Продолжение прилож. 1

Мнемокод команды Длина Описание команды команды, Изменяемые флаги байт Число тактов
CALL<B2><B3> Вызов подпрограммы из памяти по адресу, 3 -  
  указанному в байтах В2, ВЗ  
LXIrp<B2><B3> Занесение содержимого двух байтов В2, ВЗ 3 -  
  в пару регистров гр (В, D, Н, SP)  
STA<B2><B3> Запись содержимого аккумулятора в ячейку 3 -  
  памяти по адресу в В2, ВЗ  
LDA<B2><B3> Запись в аккумулятор содержимого ячейки 3 —  
  памяти по адресу в В2, ВЗ  
SHLD<B2><B3> Занесение содержимого регистров Н и L в па- 3 -  
  мять: содержимое L пересылается в ячейку  
  по адресу в В 2, ВЗ; содержимое регистра Н -  
  в ячейку, адрес которой на единицу больше  
LHLD<B2><B3> Загрузка в регистры Н и L содержимого ячеек 3 -  
  памяти: в L пересылаются данные из ячейки па-  
  мяти по адресу в В2, ВЗ; в Н — из ячейки, ад-  
  рес которой на единицу больше  

Примечания [14]:

1. Флаг устанавливается при наличии заема в старший разряд, в противном случае сбрасывается.

2. Флаг устанавливается при наличии заема из старших четырех разрядов в младшие, в противном случае сбрасывается.

3. Флаг нуля Z устанавливается, если содержимое регистра или байта данных совпадает с содержимым аккумулятора; флаги знака и переноса S и С устанавливаются, если содержимое регистра или байта данных больше содержимого аккуму­лятора; флаг вспомогательного переноса АС устанавливается, если содержимое младших четырех разрядов регистра или байта данных больше содержимого соответствующих разрядов аккумулятора; флаг четности Р устанавливается, если байт разности между содержимым аккумулятора и содержимым регистра или байта данных содержит четное число единиц.

4. Состояние флага равно значению выдвигаемого из аккумулятора двоичного разряда.

5. Большее значение (за косой чертой) указывает на число тактов при выполнении условий, меньшее — при невыпол­нении.

6. По команде POP PSW флаги устанавливаются в соответствии со значением разрядов слова, хранящегося в стеке; при выдаче данных из стека в другие регистры флаги не меняются.

 

Приложение 2. СХЕМА ПМ-ЭВМ

 

Приложение 3. Таблица элементов, используемых в схеме ПМ-ЭВМ

 

 

 

 

Обозначение микросхемы Тип микросхемы Выводы микросхем
Питание
+ 5 В общее
D1 КР580ИК80А Данные в тексте
D2 КР580ГФ24 Данные в тексте
D3-D7, D31 К155ЛН1 14 7
D8 К155ЛА1 14 7
D9, DIG, D23 К589АП16 16 8
Dll, D24 К155ИД4 14 7
D12, D13 КР541РУ2 18 9
D14, D15 КР556РТ4 16 8
D16-D22, D29 К155ТМ7 5 12
D25 К155ЛА2 14 7
D26 К155ЛЕ1 14 7
D27, D28 К155ЛАЗ 14 7
D30 К155ТМ2 14 7

 

Примечания:

KB - 9 МГц

С1 - 0,15 мкФ

R1-R6 - 1 кОм

R7 — R30 — в зависимости от типа VI — V24

R31-R34- 5,1 кОм

V1-V24 - АЛ102А, АЛ102Г, АЛ112А-М

 

Список

РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ

 

1. Нестеров П. В. Микропроцессо­ры 1. Архитектура и ее оценка. М.: Высшая школа, 1984.

2. Вайда Ф., Чакань А. Микро-ЭВМ: Пер. с венгер./ Под ред. В. В. Ста-шина. М.: Энергая, 1980.

3 Шаньги

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...