Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Слово состояния цикла процессора и его использование



 

В начале каждого машинного цикла на шину данных выдается байт состояния (в течение действия сигнала СИН). Назначение каждого разряда слова состояния Di следующее:

 

INTA - D0 - Cигнал подтверждения прерывания. Используется для синхронизации передачи в МП из прерывающего устройства адреса прерывающей программы;
WO - D1 - Признак того, что в данном машинном цикле будет выполняться запись в память или вывод информации (WO=0). В противном случае будет выполняться ввод или чтение из памяти;
STACK - D2 - Указывает, что адресная шина содержит адрес одной из ячеек зоны ОЗУ, используемой в качестве стека;
HLTA - D3 - Подтверждение выполнения процессором операции останова (HALT);
OUT - D4 - Указывает, что на адресной шине, содержится адрес устройства вывода, на шинах данных – выводимая информация;
М1 - D5 - Признак машинного цикла выборки первого байта команды  
INP - D6 - Указывает, что на адресной шине находится адрес устройства ввода, а ввод будет производится на шину данных по сигналу Прием на выводе DBIN;
MEMR - D7 - Признак того, что в данном машинном цикле будет выполняться чтение из памяти.

 

Как видно из схемы восьмиразрядного микропроцессора, у него нет раздельных сигналов чтение/запись памяти и чтение/запись устройств ввода/вывода, а лишь общий сигнал Чтение /Запись. Для формирования таких сигналов и используется информация о слове состояния цикла МП (рисунок 3.5).

 

 

  Рисунок 3.5 – Схема компьютера на основе 8-разрядного микропроцессора  

 

 

3.5. Система команд 8-разрядного микропроцессора

 

Команды восьмиразрядного процессора можно классифицировать по нескольким признакам. По виду выполняемых операций все команды МП можно разделить на следующие группы:

1) Передачи данных; 5) Регистровых операций;

2) Арифметических операций; 6) Передачи управления;

3) Логических операций 7) Работа со стеком;

4) Сдвига; 8) Ввода/вывода;

9) Управление процессором.

Эти команды занимают в памяти 1 байт, а при использовании непосредственного операнда - 2 байта. Команды можно классифицировать в соответствии с адресом, содержащимся в команде на следующие:

1) Команды обращения к памяти. Операция, указанная в команде, относится к содержимому, хранящемуся в памяти ЗУ по определенному адресу, т.е. команда задает адреса ячейки памяти ЗУ. Например, команда ADD 200 означает: выбрать число в качестве второго операнда для сложения с числом, хранимым в аккумуляторе и являющимся первым операндом.

2) Команды обращения к регистру. Для выполняемой операции не требуется адресация оперативной памяти. Операция выполняется, как правило, над одним операндом, хранящимся в аккумуляторе. Например, CLEAR (Очистить) - означает обнулить аккумулятор.

3) Команды обращения к устройствам ввода-вывода. Эти команды обеспечивают передачу данных между МП и периферийным оборудованием.

Кроме этого команды классифицируют на группы по типу операций, которые должны выполняться.

Команды передачи данных.

С помощью таких команд можно осуществить передачу данных от одного из регистров А, В, С, D, E, H и L к одному из регистров А, В, С, D, E, H и L. Кроме того, можно выбрать ячейку памяти М (1байт) микропроцессора, адресуясь к ней, как к одному из регистров. При этом для адресации памяти используется содержимое регистровой пары HL.

Есть еще одна возможность задать содержимое регистров: загрузить непосредственный операнд в выбранный регистр. Эти команды, однако, не позволяют выполнять запоминание в обратном направлении (не существует команд, по которым содержимое регистра могло бы быть помещено в поле операндов команды).

Формат команд:

 

(Метка: ) MOV r1, r2 ; Комментарий r1 = A, B, C, D, E, H, L, M r2 = A, B, C, D, E, H, L, M.   Move data – передать данные

При этом r1 определяет регистр или ячейку памяти, в которую производится запись, а r2 – регистр или ячейку памяти, из которых извлекается число или непосредственный операнд.

Если r1=r2 то команда является пустой. Вместо этой команды можно использовать команду NOP. Пустая команда ни при каких обстоятельствах не изменяет содержимого регистров, памяти и состояния МП.

 

(Метка: ) MVI r, число; Комментари) r = A, B, C, D, E, H, L, M Move immediate data - Передать непосредственный операнд.

По этой команде число, расположенное в поле операндов, заносится в регистр r.

 

Примеры:

M1: MOV A, B; < B> ®< A>

M2: MOV M, A; < A> ®< M> или < A> ®< < HL> >

MOV B, M; < M> ®< B> или < < HL> > ®< B >.

MVI M, 12Q; 12Q®< M> или 12Q® < < HL> >.

Q – обозначает, что число в восьмеричной системе.

 

Пример: Передать содержимое ячейки 9В 73Н в регистр А; содержимое регистров Н и L не определено.

Выполнение:

MVI Н, 9ВН; < 9B> ® H

MVI L, 73Н; < 73> ®L

MОV А, М; Выборка из памяти < HL>.

 

Команды регистровых операций

Команды регистровых операций занимают в памяти один байт. Они используются для того, чтобы содержимое того или иного регистра увеличить или уменьшить на единицу. Это относится к регистрам:

r = B, C, D, E, H, L.

Данные команды изменяют Z-, P- и S–биты состояния, хотя регистр А не участвует в операциях. Благодаря этому можно использовать названные регистры для организации программных циклов. Формат команд имеет следующий вид:

 

(Метка: ) INR r; Увеличить содержимое регистра на единицу (Increment register)

Пример:

INR C; < C> + 1 ® < C>

DCR r; Уменьшить содержимое регистра на 1 (Decrement register)

Для загрузки аккумулятора А содержимым ячейки памяти используются команды LDAX B и LDAX D.

LDAX B; Загрузить Акк. Содержимым ячейки памяти, адрес

; которой находится в регистровой паре В, С (Load Akkumulator)

 

LDAX D; < < D, E> > ® A. Обе эти команды однобайтные.

Команда LDA адрес загружает в Акк. Содержимое ячейки памяти, адресуемой вторым и третьим байтами команды.

[< B3> < B2> ] ® A.

Команда запоминания STA адрес производит противоположную передачу:

A ® [< B3> < B2> ].

 

Команды работы со стеком.

PUSH rp (rp = B, C; D, E; H, L, PSW) -Запоминание значения регистров в стеке. При выполнении команды содержимое пары регистров запоминается в стеке. Одной из пар регистров является слово состояния процессора PSW, которое состоит из содержимого аккумулятора (старший байт) и регистра состояния (младший байт). Нет такой команды, при выполнении которой запомнится в стеке только один регистр.

Пример:

PUSH B. При выполнении этой команды < B, C>, запоминается в вершине стека, а указатель стека уменьшается на 2. < B> запоминается первым, потом < C> заканчивает стек в его вершине.

POP rp (rp = B, C; D, E; H, L, PSW)- Загрузка регистров из стека. По этой команде пара регистров rp загружается содержимым вершины стека.

Пример: POP D. Эта команда загружает регистры D и E из вершины стека и увеличивает указатель стека на 2. Регистр Е загружается первым.

Стек имеет следующие особенности:

§ указатель стека содержит адрес ячейки, которая была занята самой последней (младший занятый адрес). Стек может быть расположен в любом месте памяти;

§ данные запоминаются в стеке с использованием предуменьшения, то есть команды уменьшают указатель стека на 1 перед запоминанием каждого байта;

§ данные загружаются из стека с использованием послеувеличения, то есть команды увеличивают указатель стека 1 после загрузки каждого байта;

§ отсутствуют указатели выхода за границы стека в ту или иную сторону, что типично для микропроцессоров всех типов.

SPHL - Загрузка указателя стека (sp) – однобайтная команда.

< H> ® < < SP> +1>; < L> ® < < SP> >.

 

PCHL - Загрузка программного счетчика PC.

< H, L> ® < PC>.

 

 

3.6. Программирование арифметических и логических операций.

 

С помощью одного байта можно представить 256 различных чисел. Старший разряд байта интерпретируется как знаковый (0 – положительное, 1 – отрицательное число). Все остальные биты используются для представления численного значения. Таким образом, в одном байте может быть представлены числа в диапазоне от –127 до 127.

Для представления отрицательных чисел используется дополнительный код.

Дополнительный код А*=> .

Например, двоичный код числа А=-10: А=0000 1010

А*=1111 0101+0000 0001=1111 0110

ë знаковый бит.

Как при сложении, так и при вычитании операнды в пределах от 0 до 255 интерпретируются как положительные восьмиразрядные числа. При вычитании вычитаемое преобразуется в его дополнительный код и затем суммируется с уменьшаемым. Если суммирование приводит к результату большему 255 (переполнение), то С–бит становится равным единице, в противном случае С=0.

Процессор имеет возможность выполнять операции сложения и вычитания чисел от –127 до +127 т.о., что результат имеет правильный знак. Для представления знака результата арифметической операции используется бит состояния S. Он устанавливается в единицу, если старший бит регистра А[7]=1. В противном случае он сбрасывается.

Примеры арифметических операций 8-разрядных чисел.

 

Сложение: [+] [0] вычитание: [7] [0]

10 0000 1010 -10 0000 1010

8 0000 10008 0000 1000

18 0001 0010 2 0001 0010

< C-бит> =0 < S> =0 < C> =0 < S> =0

 

+10 0000 1010 -10 0000 1010

(-12) 1111 0100 12 1111 0100

-2 0 1111 1110 -2 1111 1110


< C> =0 < S> =1 < C> =1 < S> =1


Поделиться:



Популярное:

  1. CEМEЙНOE КОНСУЛЬТИРОВАНИЕ, ЕГО ОСОБЕННОСТИ
  2. Cистемы зажигания двигателей внутреннего сгорания, контактная сеть электротранспорта, щеточно-контактный аппарат вращающихся электрических машин и т. п..
  3. Cистемы зажигания двигателей внутреннего сгорания, контактная сеть электротранспорта, щеточно–контактный аппарат вращающихся электрических машин и т. п..
  4. Ex. Переведите, обратив внимание на перевод инфинитива, определите его функцию.
  5. I) индивидуальная монополистическая деятельность, которая проявляется как злоупотребление со стороны хозяйствующего субъекта своим доминирующим положением на рынке.
  6. I. Если глагол в главном предложении имеет форму настоящего или будущего времени, то в придаточном предложении может употребляться любое время, которое требуется по смыслу.
  7. I. Теоретические основы экономического воспитания детей старшего дошкольного возраста посредством сюжетно-ролевой игры
  8. I.3. ВОЗРАСТНЫЕ ИЗМЕНЕНИЯ В ОРГАНИЗМЕ ЛЮДЕЙ СТАРШЕГО ВОЗРАСТА И ПУТИ ИХ ПРОФИЛАКТИКИ
  9. II РАЗДЕЛ ДЕЯТЕЛЬНОСТЬ ШЕСТИЛЕТНЕГО РЕБЕНКА
  10. II семестр – срок сдачи контрольных работ до 1 апреля текущего учебного года.
  11. II. Лицензионный договор о предоставлении права на использование.
  12. II. Принятие решения о проведении таможенного досмотра и организация его проведения


Последнее изменение этой страницы: 2017-03-11; Просмотров: 773; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.024 с.)
Главная | Случайная страница | Обратная связь