Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Система_команд_К580_для_РИО.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
500 Кб
Скачать
☆

Группа команд передачи управления

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

Безусловные команды передачи управления выполняют определенные операции с содержимым счетчика команд PC. Команды условной передачи управления в зависимости от состояния разрядов регистра признаков осуществляют или не осуществляют переход к определенной точке программы. Условия, с которыми оперируют команды условной передачи управления, следующие:

Поле ССС

NZ – ненулевой результат

(Z = 0)

000

Z – нулевой результат

(Z = 1)

001

NC - отсутствие переноса

(CY = 0)

010

C – перенос

(CY = 1)

011

P0 – нечетный результат

(P = 0)

100

PE – четный результат

(P = 1)

101

P – число положительное

(S = 0)

110

M – число отрицательное

(S = 1)

111

JMP AD

(PC) (B3)(B2)

Передать адрес команде, адрес которой определяется содержимым второго и третьего байтов текущей команды.

1

1

0

0

0

0

1

1

ADl

ADh

Циклов: 3

Тактов: 10

Адресация: непосредственная

Признаки: -

J condition AD

if (ccc) then (PC) (B3)(B2)

else (PC) (PC)+1

Если задаваемое полем ССС команды условие реализуется, то управление предается команде, адрес которой в памяти определяется содержимым второго и третьего байтов команды. Команды JAMP IF не влияет на содержимое аккумулятора, регистров признака и состояния MP, а оперируют только со счетчиком команд PC. Если заданное в поле ССС условие не выполняется, МП переходит к выполнению команды, адрес которой определяется путем прибавления 1 к содержимому счетчика команд PC.

1

1

С

С

С

0

1

0

ADl

ADh

Циклов: 3

Тактов: 10

Адресация: непосредственная

Признаки: -

CALL AD

((SP)-1) (PCH)

((SP)-2) (PCL)

(SP) (SP)-2

(PC) (B3)(B2)

Старший полуадрес следующей команды из счетчика команд PC загружается в стек, т.е. заносится в ячейку памяти, адрес которой уменьшен на 1 относительно содержимого регистра-указателя стека SP. Младший полуадрес из счетчика команд PC засылается в ячейку памяти по адресу, уменьшенному на 2 относительно исходного содержимого регистра SP. Управление передается команде, адрес которой определяется содержимым второго и третьего байтов команды.

1

1

0

0

0

0

1

1

ADl

ADh

Циклов: 5

Тактов: 17

Адресация: непосредственная / косвенная регистровая

Признаки: -

C condition AD

if (ccc) then ((SP)-1) (PCH)

((SP)-2) (PCL)

(SP) (SP)-2

else (PC) (PC)+1

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

Всякая подпрограмма заканчивается командой RETURN

1

1

С

С

С

1

0

0

ADl

ADh

Циклов: 3/5

Тактов: 11/17

Адресация: непосредственная/косвенная регистровая

Признаки: -

RET

(PCL) ((SP))

(PCH) ((SP)+1)

(SP) (SP)+2

Содержимое ячейки памяти, адрес которой задается указателем стека SP, заносится на место младшего байта в счетчик команд PC, содержимое ячейки памяти, адрес которой на 1 больше содержимого регистра SP, заносится на место старшего байта в счетчик команд PC. Значение регистра SP увеличивается на 2.

1

1

0

0

1

0

0

1

Циклов: 3

Тактов: 10

Адресация: косвенная регистровая

Признаки: -

R condition

if (ccc) then (PCL) ((SP))

(PCH) ((SP)+1)

(SP) (SP)+2)

else (PC) (PC)+1

Вернуться по условию

1

1

С

С

С

0

0

0

Циклов: 1/3

Тактов: 5/11

Адресация: косвенная/ непосредственная

Признаки: -

RST n

((SP)-1) (PCH)

((SP)-2) (PCL)

(SP) (SP)-2

(PC) 8ּ(NNN)

Произвести повторный запуск. Старший полуадрес следующей команды из счетчика команд PC передается в ячейку внешней памяти по адресу, значение которого на 1 меньше содержимого регистра SP. E следующий элемент стека с адресом (SP) – 2 загружается младший полуадрес следующей по программе команды. Содержимое SP уменьшается на 2. Управление передается команде, адрес которой определяется как произведение содержимого поля NNNּкоманды на 8, т.е. поле NNN команды заносится в счетчик команд PC в разряды , или (PC) (0000 0000 00NN ּN000).

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

1

1

N

N

N

1

1

1

Циклов: 3

Тактов: 11

Адресация: косвенная регистровая

Признаки: -

PCHL

(PCH) (H)

(PCL) (L)

Безусловно перейти по косвенному адресу. Содержимое регистра H заносится на место старшего байта в счетчик команд PC, содержимое регистра L – на место старшего байта.

1

1

1

0

1

0

0

1

Циклов: 1

Тактов: 5

Адресация: регистровая

Признаки: -