Особенности функционирования микропроцессора при выполнении команд управления, организации условных и безусловных переходов в программах

Страницы работы

Содержание работы


Лабораторная работа №5

Изучение временных диаграмм выполнение команд управления программой.

Цель: изучить особенности функционирования микропроцессора при выполнении команд управления, организации условных и безусловных переходов в программах; приобрести навыки модульного программирования.

Мнемоника команд

Число байт

Выполняемые действия

Состав машинных циклов/количество тактов в циклах

Команды простых переходов. Команды безусловного перехода.

JMP<B2><B3>

3

J, 2/3, 2/3

Команды условного перехода. Команды переходов по состоянию флага нуля Z.

Переход если результат нулевой Z=1.

JZ<B2><B3>

3

(PC)L<=<B2>

(PC)H<=<B3>

(PC)<= (PC)+1

1/4, 2/3, 2/3, если условие перехода выполняется.

1/4, 2/3, 2/3 если условие перехода не выполняется.

Переход если результат не нулевой Z=0.

JNZ<B2><B3>

3

Команды переходов по состоянию флага переноса CY.

Переход если перенос имеется CY=1.

JC<B2><B3>

3

Переход если перенос отсутствует CY=0.

JNC<B2><B3>

3

Команды переходов по состоянию флага четности P.

Переход если результат четный Р=1.

JPE<B2><B3>

3

Переход если результат не четный Р=0.

JPO<B2><B3>

3

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

Переход если результат отрицательный S=1.

JM<B2><B3>

3

Переход если результат положительный S=0.

JP<B2><B3>

3

Команды переходов с возвратом.

Команды безусловных переходов с возвратом.

Команды безусловного перехода к подпрограмме.

CALL<B2><B3>

3

M(SP-1)<=(PC)H

M(SP-2)<=(PC)L

SP<=(SP-2)

(PC)L<=<B2>

(PC)H<=<B3>

1/5, 2/3, 2/3, 5/3, 5/3

Команды безусловного возврата из подпрограммы.

RET

1

(PC)L<=M(SP)

(PC)H<=M(SP+1)

(SP)<=(SP+2)

1/4, 4/3, 4/3

Команды условных переходов с возвратом.

Команды условных переходов подпрограммы.

Команды условных переходов по состоянию флага нуля Z.

Переход если результат нулевой Z=1.

CZ<B2><B3>

3

Аналогично CALL

(PC)<=(PC+1)

1/5, 2/3, 2/3, 5/3, 5/3 если условие возврата из подпрограммы выполняется.

1/5, 2/3, 2/3 если условие перехода к подпрограмме выполняется.

Переход если результат не нулевой Z=0.

CNZ<B2><B3>

3

Команды условных переходов по состоянию флага переноса CY.

Переход если перенос имеется CY=1.

CC<B2><B3>

3

Переход если перенос отсутствует CY=0.

CNC<B2><B3>

3

Команды условных переходов по состоянию флага четности Р.

Переход если результат четный Р=1.

CPE<B2><B3>

3

Переход если результат не четный Р=0.

CPO<B2><B3>

3

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

Переход если результат отрицательный S=1.

CM<B2><B3>

3

Переход если результат положительный S=0.

CP<B2><B3>

3

Команды безусловного возврата из подпрограммы.

Команды условных возвратов по состоянию флага Z.

Возврат если результат нулевой Z=1.

RZ

1

Тоже самое, что и RET

(PC)<=(PC-1)

1/5, 4/3, 4/3, если условие возврата из подпрограммы выполняется.

Возврат если результат не нулевой Z=0.

RNZ

1

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

Возврат если перенос имеется C=1.

RC

1

Возврат если перенос отсутствует C=0.

RNC

1

Команды условных возвратов по состоянию флага четности Р.

Возврат если результат четный Р=1.

RPE

1

Возврат если результат не четный Р=0.

RPO

1

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

Возврат если результат отрицательный S=1.

RM

1

Возврат если результат положительный S=0.

RP

1

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

RST0

1

Тоже самое что и CALL но адрес определяется модификацией команды адреса перехода.

1/5, 5/3, 5/3

RST1

1

0008

RST2

1

0010

RST3

1

0018

RST4

1

0020

RST5

1

0028

RST6

1

0030

RST7

1

0038


4. Листинг программы в машинном коде и на языке Assembler

Похожие материалы

Информация о работе