Лабораторная работа №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
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.