Программирование микропроцессора

Автор: Пользователь скрыл имя, 27 Октября 2013 в 08:45, курс лекций

Описание работы

На своем рабочем уровне МП выполняет список операций, называемый машинной программой.
Машинная программа - программа, написанная на машинном языке.
Программа - упорядоченный список команд или операторов, выполняя которые микро – ЭВМ осуществляет решение задачи.
Машинный язык - язык, непосредственно используемый МП. Программа на машинном языке не требует интерпретации.
Операторы машинного языка записываются в двоичных кодах.

Работа содержит 1 файл

programmirovanie_mikroprocessora_lekcia_g2013.doc

— 443.00 Кб (Скачать)

DCR M - содержимое памяти, адрес которой находится в паре регистров HL, уменьшается на единицу,  .

При выполнении этих команд устанавливаются все индикаторы, кроме переноса CY.

INX rp  - содержимое пары регистров rp увеличивается на единицу,

.

DCX rp  - содержимое пары регистров rp уменьшается на единицу,

.

При выполнении команд INX и DCX никакие индикаторы не устанавливаются.

 

Команды десятичной арифметики

В МП Intel 8080 к указанной группе команд относится только одна команда, а именно команда десятичной коррекции аккумулятора. Её формат следующий

DAA ,    .

 

6. Логические команды

MП способны производить логическую обработку информации. Микро-ЭВМ может заменить множество логических схем.

Команды манипуляции  битами

К этой группе относятся команды  логических операций И, ИЛИ, ИСКЛ. ИЛИ, НЕ. Все логические операции являются побитовыми, а результат устанавливается в соответствии с их таблицами истинности. Логические операции выполняются всегда над содержимым аккумулятора и другим байтом из регистра или памяти. По окончании логической операции результат загружается в аккумулятор. Значение бита переноса CY от результата выполнения логических команд И, ИЛИ, ИСКЛ. ИЛИ не зависит. Основные характеристики этих команд представлены в следующей таблице.

Операция

Адресация

Мнемоника

КОП

Байты

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

Символика

А  И  данные

Непосредственная

ANI

E6

2

КОП

данные

А  И  регистр

Регистровая

ANA r

…..

1

КОП

А  И  LOC(HL)

Косвенная

ANA M

A6

1

КОП

A  ИЛИ  данные

Непосредственная

ORI

F6

2

КОП

данные

А ИЛИ регистр

Регистровая

ORA r

…..

1

КОП

А ИЛИ LOC (HL)

Косвенная

ORA M

B6

1

КОП

А  ИЛИ ИСКЛ. данные

Непосредственная

XRI

EE

2

КОП

данные

 

А  ИЛИ ИСКЛ. регистр

Регистровая

XRA r

…..

1

КОП

 

А  ИЛИ ИСКЛ. LOC (HL)

Косвенная

XRA M

AE

1

КОП

 

Инвертировать  А

Неявная

CMA

2F

1

КОП


 

Часто возникает необходимость сравнить два двоичных числа. Команды сравнения вычитают содержимое регистра или ячейки памяти из содержимого аккумулятора, но не изменяют данных ни того ни другого. Индикаторы подвержены влиянию результата сравнения. Применение этих команд позволяет принимать решения в ходе выполнения программы. Краткая характеристика команд сравнения приведена ниже.

Операция

Адресация

Мнемоника

КОП

Байты

Символика

Индикаторы

Сравнить А с данными

Непосредственная

CPI

FE

2

Сравнить A с регистром r

Регистровая

CMP r

…..

1

Сравнить А с LOC (HL)

Косвенная

CMP M

BE

1


 

 

Команды сдвига

Необходимо различать команды  простого сдвига и  циклического сдвига. Эти команды влияют на разряды  регистра состояния. Разряд переноса участвует в выполнении этих команд и его значение изменяется по мере передачи данных. Рассмотрим четыре команды сдвига.

RAL - циклический  сдвиг аккумулятора влево                                                                                                           

,

 

      

RAR - циклический сдвиг аккумулятора вправо

, ,

 

При использовании команд циклического сдвига не происходит потерь данных, поскольку данные перемещаются по замкнутому контуру. Если выполнить циклический сдвиг девять раз, то окончательное содержимое аккумулятора и разряда переноса полностью совпадёт с исходным.  

 

RLC - сдвиг содержимого аккумулятора влево

,

 

 

RRC - сдвиг содержимого аккумулятора вправо

 

, ,

 

 

 

 

 

7. Команды передачи  управления (ветвления)

Команды перехода (ветвления) позволяют изменять последовательность выполнения команд программы. Бывают команды безусловного и условного перехода. Сведения об основных командах перехода представлены в следующей таблице.

Операция

Адресация

Мнемоника

КОП

Байты

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

Символика

Переход

Прямая

 

JMP

 

C3

 

3

КОП

Мл. адрес

Ст. адрес

 

Перейти если 0

___

 

JZ

 

CA

 

3

___

Перейти если не 0

___

 

JNZ

 

C2

 

3

___

Перейти если перенос

___

 

JC

 

DA

 

3

___

Перейти если нет переноса

___

 

JNC

 

D2

 

3

___


Первая команда в  таблице является командой безусловного перехода. Команды передачи управления (перехода) являются средством изменения содержимого счётчика команд и, следовательно, изменения последовательности выполнения программы. Команды перехода во 2 и 3 байтах содержат адрес, который загружается в счётчик команд. Этот адрес указывает на ячейку памяти, содержащей команду, которая должна выполняться следующей.

Команды условного перехода проверяют значения разрядов регистра признаков и определяют последующий ход выполнения программы в зависимости от результата проверки. Эти команды повлекут за собой загрузку адреса в счётчик команд только если условия будут выполнены. В противном случае PC будет инкрементирован нормально.

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

         

 

8. Команды работы  с подпрограммой

Команды вызова подпрограммы (CALL) и возврата из неё (RET) всегда используются парами. При их выполнении содержимое регистра признаков (индикаторы) не изменяется. Характеристики команд представлены в таблице. 

Операция

Адресация

Мнемоника

КОП

Байты

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

Символика

Вызов подпрограммы

 

Прямая

 

CALL

 

CD

 

3

КОП

Мл. адрес

Ст. адрес

Возврат из подпрограммы

 

Косвенная

 

RET

 

C9

 

1

 

КОП


Команда CALL сочетает функции операций загрузки в стек и перехода. Сначала загружается в стек содержимое счётчика команд. Затем PC должен быть загружен новым адресом для выполнения перехода в подпрограмму.

 

9. Прочие команды

 

Операция

Адресация

Мнемоника

КОП

Байт

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

Символика

Нет операций

Неявная

NOP

00

1

КОП

____

Останов

Неявная

HLT

76

1

КОП

____

 

Повторный пуск

 

Неявная

 

RST

 

…..

 

1

 

КОП


 

 

 




Информация о работе Программирование микропроцессора