Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Котрольная по ВМИС - Вариант 5 - заочная форма обучения

.docx
Скачиваний:
13
Добавлен:
01.04.2014
Размер:
82.81 Кб
Скачать

Задание №1

  • Основные параметры МП КР580ВМ80А:

разрядность шины данных — 8;

разрядность шины адреса — 16;

количество операций в секунду — 0,5*106 ;

длительность цикла, мкс — 1,6;

максимальная емкость адресуемой памяти — 64 Кбайта;

  • С помощью двух шин 16-разрядной однонаправленной шины адреса (ША) и 8- разрядной двунаправленной шины данных (ШД) микропроцессор (МП) соединяется с памятью (БЗУ) и внешними устройствами (БВУ). Для повышения нагрузочной способности шины данных. МП обмен информацией между МП и узлами системы ведется через двунаправленный шинный формирователь-буфер данных (БД). Значения разрядов выходною кода БД индицируются с помощью светодиодов. Непосредственно с шиной данных МП связан регистр слова состояния (РСС), на выходы которого для индикации значений кода состояния подключены тоже светодиоды. Слово состояния МП передается в РСС в начале каждого машинного цикла

Буфер шины адреса (БА) служит для увеличения нагрузочной способности адресной шины МП. Для индикации значений разрядов кода адреса используются светодиоды, подключенные к разрядам буфера адреса (БА).

Хранение данных и программ осуществляется в ПЗУ и ОЗУ. ПЗУ выполнено в виде двух, модулей, емкостью по 1 Кбайту. В первом модуле хранится "Монитор", второй зарезервирован за пользователем.

  • Блок регистров включает семь программно доступных 8-разрядных регистра А, В, С, Д, Е, Н, L. Из них регистр А, называемый аккумулятором, предназначен для обмена информацией с внешними устройствами (т.е. либо содержимое этого регистра может быть выдано на выход, либо со входа в него может быть принято число) при выполнении арифметических, логических операций и операций сдвига. Он служит источником операнда (числа, участвующего в операции), в него помещается результат выполнения операции

Шесть других регистров В, С, Д, Е, Н, L образуют так называемый блок регистров общего назначения (РОН) (название связано с тем, что эти регистры могут использоваться для хранения как данных, так и адресов).

Они предназначены для приема, хранения и выдачи различной информации, участвующей в процессе выполнения программы. Эти регистры могут использоваться как одиночные 8-разрядные регистры, а когда возникает необходимость хранить 16-разрядные двоичные числа, они объединяются в пары: ВС, СЕ, НL. Обмен информацией между этими регистрами и внутренней шиной данных осуществляется с помощью двух восьмиразрядных мультиплексоров, а с внешней шиной адреса — с помощью третьего мультиплексора (на схеме не показан) — шестнадцатиразрядного.

Буферные регистры 1 и 2, регистры W и Z используются как буферные, программно-недоступные регистры временного хранения информации. Так регистры W и Z предназначены для приема и временного запоминания второго и третьего байтов команды переходов, передаваемых с внутренней шины данных в счетчик команд. Указатель стека SР (16-разрядный) служит для адресации особого вида памяти, называемого стеком. Счетчик команд РS (16 разрядный) предназначен для хранения адреса команды, после выбора из ОЗУ текущей команды содержимое счетчика увеличивается на единицу и таким образом формируется адрес очередной команды (при отсутствии безусловных и условных переходов).

  • Система команд МП КР580ВМ80А. В зависимости от типа команда может быть выполнена за один, два и т.д. циклов. Самые длинные по времени исполнения команды выполняются в пять циклов (М1 … М5). Каждый цикл включает в себя от 3 до 5 тактов (Т1 … Т5). Первые три такта во всех циклах используются для организации обмена с памятью и УВВ, такты Т4 и Т5 (если они присутствуют в цикле) - для выполнения внутренних операций в микропроцессоре. В течении одного такта выполняется одна микрокоманда.

При выполнении команды в такте Т1 содержимое счетчика команд выдается на шину адреса ША. В этом же такте МП выдает на шину данных ШД 8-разрядное управляющее слово, информирующее о том, что будет происходить в данном машинном цикле, и формирует специальный сигнал синхронизации SYNC, по которому это слово записывается в буферный регистр внешних схем управления. Управляющее слово (слово состояния процессора) указывает тип выполняемого машиною цикла. В табл. 1.2 приведено назначение отдельных разрядов кода состояния.

<Набор ><команд ><МП ><КР580 ><содержит ><78 б><азовых ><команд, ><различающихся ><мнемоническим ><обозначением ><кода ><операции, ><а ><в ><целом ><включает ><244 ><различные ><><модификации. ><Функциональное ><описание ><команд ><приведено ><в ><прил. ><I.>

<Код ><операции ><любой ><команды ><(для ><однобайтовой ><команды >< ><- >< ><это ><ппросто ><код ><команды) ><в ><МП ><представляется ><двоичным ><8 ><- ><разрядным ><кодом. >< ><Например, >< ><код ><команды ><пересылки ><из ><регистра ><А ><в ><регистр ><В ><будет ><иметь ><вид ><01111000, ><код ><операции ><команды ><непосредственной ><записи ><8-разрядного ><операнда >< >< >< ><в >< >< >< ><память><>< >< ><имеет вид ><00110110, а ><команда ><загрузки ><аккумулятора ><с ><непосредственной ><адресацией ><будет ><иметь ><код ><операции ><00111010. >< ><Естественно, ><что ><запомнить более 200 ><бол>кодов ><команд, ><представленных ><в ><виде ><двоичных 8><88-разрядных чисел ><(набора ><единиц ><и ><нулей), ><почти ><невозможно. Поэтому ><каждому ><коду ><команды ><ставится ><в ><соответствие ><мнемоническое ><название ><команды ><(мнемоника), ><которое ><является ><сокращением ><от ><английских ><слов, ><описывающих ><ее ><действие. ><Мнемонический ><код ><команд ><позволяет ><легче ><запомнить ><их ><функции ><и ><значительно ><упрощает ><написание ><программ.>

<После ><мнемоники ><операции ><для ><двухбайтовых ><команд ><записывается ><8-разрядний ><операнд, ><обозначаемый ><D8, ><а ><для ><трехбайтовых ><- ><16-разрядный ><адрес ><ADR, ><либо ><операнд D><DD16.>

<Для с><окращения ><записи ><и ><удобства ><ввода ><в ><ЭВМ ><двоичные ><коды ><команд ><обычно ><представляют ><в ><шестнадцатеричном ><виде. ><Для ><этого ><двоичный ><код ><команды ><делится на>< ><группы ><по ><4 ><разряда ><(тетрады) ><и ><каждая ><тетрада ><представляется ><шестнадцатеричной ><цифрой. ><Таким ><образом, ><коды ><команд ><можно ><представить двухразрядным ><шестнадцатеричным ><кодом><. (Приложение ><2),16 ><-разрядный ><код ><адреса ><-четырьмя ><шестнадцатеричными ><цифрами, ><а ><операнды ><- ><8 ><- ><разрядные ><(D8) ><- ><двумя ><разрядами ><и ><16-разрядлие ><(D16)>< ><- ><четырьмя ><разрядами. ><Так, >< ><например, >< ><код ><команды ><пересылки>

MOV A,B = 0111 10002 = 7816 =78 H

<Таким ><образом, ><зная ><мнемонику ><ко><манды, ><можно ><по таблице (Приложение 2) ><() ><определить ><ее ><шестнадцатеричный ><код, а >< ><по ><таблице ><(Приложение ><1) п><орядок ><ее ><выполнения, ><способ ><адресации, ><формируемые ><признаки ><результата ><и ><т.д.>

<Все ><команды ><МП ><КР580 ><подразделяются на> ><5 ><функционально-><специализированных ><групп ><(Прил. >< >< ><1.2): >

1. <11Команды ><передачи ><данных ><- ><используются ><для ><передачи ><данных ><из ><регистра ><в ><регистр, ><из ><памяти ><в реги><стр ><(рег><истровую ><пару) ><и ><из ><регистра ><(регистровой ><пары) ><в ><память. ><Это ><команды ><типа ><MOV, MVI, LXI, LDA ><и ><т.д.;>

2. Команды арифметических операция применяются < ><к>для двоичных ><операций ><сложения, ><вычитания, инкрементирования ><и декрементирования>< ><содержимого >< >< >< ><регистра >< >< >< ><(регистровой >< >< >< пары><) >< >< >< или ячейки памяти, а также для сложения двоично-десятичных чисел. В состав этой группы входят команды типа ADD, ADI, SUB, SUI, INB, DCR и т.д.

3. Команды логических операций — реализуют операции И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ (неравнозначность), сравнения и сдвига. В состав этой группы входят команды вида АNА. ANI, XRA, XRI, ОRА, RLC, RAR и т.д.

4. Команды передачи управления — используются при условии и безусловных переходах в программе, вызовах подпрограмм и возвратах из них, рестартах подпрограмм при организации многоуров­невых векторных прерываний. Это команды вида JMP, JC, CALL и т.д. Команды рестарта из этой группы RSТ0, ..., RST7 образуют особую группу команд. Эти однобайтные команды формируются, как правило, специальными аппаратными средствами (контроллерами прерываний) в режиме прерывания работы МП. В этот режим МП входит, получив сигнал прерывания от системного устройства (при условии, что триггер INTE был установлен в единицу). При этом МП заканчивает цикл выполнения текущей команды (в программном счетчике содержится уже адрес следующей команды программы), сбрасывает в нуль триггер INTE и считывает с ШД(8) код команды рестарта, который выставляется контроллером прерывания. Действие этой аппаратной команды аналогично действию команды вызова подпрограммы, но отличается, во-первых, тем, что ограничено возможностью вызова в соответствии с вектором прерывания лишь из восьми подпрограмм, размещаемых в первых 64 ячейках постоянной памяти и, во-вторых, тем, что при выполнении команды рестарта не происходит, как при выполнении любой другой команды, инкрементирования содержимого программного счетчика. Поэтому в стек записывается адрес очередной команды прерываемой программы, а по команде возврата (в подпрограмме обслуживания прерывания) этот адрес извлекается из стека и управление передается в ту точку прерванной программы, куда постудило прерывание, и продолжается выполнение основной программы.

5. Команды стека, ввода-вывода и управления — используются для управления прерыванием, останова МП, ввода-вывода данных и обращения к стеку, его указателю и вершине. Эта команды PUSН, РОР, ХТНL, IN, OUT, HLT, NOP и др.

Задание №2

Записать в последовательные ячейки ОЗУ микропроцессора числовые значения. Выполнить заданное действие и записать результат в ячейку ОЗУ.

Вычислить выражение c = a + b – 3, где a = 4, b= -6

Адрес

Код

Мнемокод

Комментарий

0800

21

LXI H,NACH

Загрузка адреса начала массива в пару регистров HL. В дальнейшем видим, что адрес NACH = 0820

0801

20

0802

08

0803

7E

MOV A,M

Загрузка числа A в аккумулятор МП

0804

23

INX H

Формирование адреса числа Х2

0805

86

ADD M

A+B, результат в аккумуляторе МП

0806

D6

SUI B2

Вычитание константы из аккумул.

0807

03

0808

23

INX H

Формирование адреса ячейки памяти для размещения результата

0809

77

MOV M,A

Пересылка результата в ячейку ОП

080A

76

HLT

Останов.

0820

04

NACH

число A

0821

FA

число B

0822

результат

Задание №3

Записать в последовательные ячейки ОЗУ микропроцессора 10 целых чисел, положительных и отрицательных (количество тех и других по выбору, в соответствии с задачей), это массив a1, a2, … , a10.

Найти количество положительных элементов массива

Адрес

Код

Мнемоника

Комментарии

0800

21

LXIHL

Загрузка в регистр HL адреса 0820,

0801

20

первого элемента массива

0802

08

0803

06

MVI B

Запись в регистр B числа 10 - счетчика цикла

0804

0A

0805

16

MVI D

Запись в регистр D числа 0

0806

00

0807

AF

XRAA

Очистка регистра A

0808

7E

MOV A,M

Загрузка числа в аккумулятор МП

0809

FE

CPI B2

Сравнение аккум. с конст.

080A

01

080B

FA

JP

Если рег А<0, то переход по адресу 080F

080C

0F

080D

08

080E

14

INX D

D=D+1

080F

23

INX HL

Переход к след элементу (HL)+1->(HL)

0810

05

DCR B

Уменьшение счетчика цикла на 1 (B)-1->(B)

0811

78

MOV A,B

Пересылка данных из регистра B в регистр A

0812

FE

CPI B2

Сравнение аккум. с конст.

0813

00

0814

F2

JP

Если в рег А не 0, то переход по адресу 0807

0815

07

0816

08

0817

72

MOV M,D

Загрузка числа в аккумулятор МП

0818

76

HLT

Стоп

0820

00

A1

Первый элемент массива

0821

00

A2

Второй элемент массива

0822

00

0823

01

0824

02

0825

03

0826

04

0827

02

0828

FF

0829

01

082B

результат

БЛОК СХЕМА:

Начало(A=0, B=0, D=0)

HL=0820

B=10

A=HL

A>0

B=0

конец

да

нет

нет

да

HL=HL+1

B=B-1

D=D+1

082A=D