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

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

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


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

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

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

1. Команды загрузки и перемещения данных.

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

Число байт

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

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

Команды загрузки в аккумулятор

LDAX RP

1

A<=M(RP)

1/4; 2/3=2/7

LDA<B2><B3>

3

A<=M(B3,B2)

4/3=1/4+2/3+3/5+1/3

Команды запоминания содержимого аккумулятора

STAX RP

1

M(RP)<=A

1/2=1/4

STA<B2><B3>

3

M(B3,B2)<=A

4/13=1/4,2/3; 3/3 4/4

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

LXI RP<B2><B3>

3

RP<=<B2><B3>

3/10=1/4,2/3,3/3

LXI SP<B2><B3>

3

3/10=1/4,2/3,3/3

LHLD<B2><B3>

3

L<=M(B2,B3); H<=M(B2+1,B3)

5/16=1/4,2/3,3/3,4/3

Команда запоминания содержимого регистровой пары HL

SHLD<B2><B3>

3

M(B2,B3)<=L; M(B2+1,B3)<=H

5/16=1/5,2/3,3/3,4/3,5/3

Команды перемещения данных

MOV R1,R2

1

R1<=R2

1/5

MOV R,M

1

R<=M(HL)

2/7=1/4+2/3

MOV M,R

1

M(HL)<=R

2/7=1/4+2/3

MVI R <B2>

2

R<=B2

2/7=1/4+2/3

MVI M <B2>

2

M(HL)<=B2

3/10=1/4+2/3

Команды межрегистрового обмена

XCHG

1

L<=>E H<=>D

1/4

XTHL

1

L<=>M(SP), H<=>M(SP+1)

1/5

SPHL

1

SP<=L, SP<=H

1/5

PCHL

1

PC<=L, PC<=H

1/1,1/5

Команды операций со стеком

PUSH RP

1

SP<=SP-1; M(SP)<=RP

3/11=1/5+2/3+3/3

PUSH PSW

1

M(SP)<=A

3/11=1/5+2/3+3/3

POP RP

1

RPL<=M(SP)

3/10=1/4+2/3+3/3

POP PSW

1

SP<=SP-1, M(SP)<=A, SP<=SP-1, M(SP)<=F, F=M(SP), SP<=SP+1, A<=M(SP), SP<=SP+1

3/10=1/4+2/3+3/3

Условные обозначения:

RP - имя регистровой пары

R - имя регистра

M - ячейка памяти с адресом, указанным в регистровой паре

SP - указатель стека

PC - программный счетчик

PSW - регистр СС программы

При выполнении той или иной команды МП в самом начале машинного цикла формирует её и выдает на ШД 8-разрядное слово состояние. Код СС соответствует типу выполняемого машинного цикла команды.

2. Типы машинных циклов и коды СС МП.

Разряд СС

Условное обозначение сигнала

Тип выполняемого машинного цикла

1

2

3

4

5

6

7

8

9

10

D0

ППР(INIT)

0

0

0

0

0

0

0

1

0

1

D1

ЗП/ВЫП(WO)

1

1

0

1

0

1

0

1

1

1

D2

СТЕК(STACK)

0

0

0

1

1

0

0

0

0

0

D3

П.ОСТ(HLTA)

0

0

0

0

0

0

0

0

1

1

D4

ВЫВ(OUT)

0

0

0

0

0

0

1

0

0

0

D5

М1(M1)

1

0

0

0

0

0

0

1

0

1

D6

ВВ(INP)

0

0

0

0

0

1

0

0

0

0

D7

ЧТ.ПАМ(MEMR)

1

1

0

1

0

0

0

0

1

0

H-код СС

A2

82

00

86

04

42

10

23

8A

2B

Типы машинных циклов:

1 (A2) – выборка команды из памяти

2 (82) – чтение информации из памяти

3 (00) – запись информации в память

4 (86) – чтение информации из стека

5 (04) – запись информации в стек

6 (42) – ввод информации из внешнего устройства

7 (10) – вывод информации во внешнее устройство

8 (23) – обработка прерывания

9 (8A) – останова

10 (2B) – обработка прерывания во время останова

Задание: составить программу пересылки массива данных из области памяти 0800 – 0809 в область памяти 0810 – 0819.


3. Блок-схема программы


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

Адрес

Машинный код

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

Комментарии

0820

0E

MVI C,0A

C<=0A – передача 8-разрядных данных 0A в регистр C

0821

0A

0822

21

LXI H,0800

rpH<=0800 – передача в регистровую пару H 16-разрядных данных в виде адреса памяти 0800

0823

00

0824

08

0825

11

LXI D,0810

rpD<=0810 – передача в регистровую пару D 16-разрядных данных в виде адреса памяти 0810

0826

10

0827

08

0828

7E

MOV A,M

A<=M(rpH) – передача в аккумулятор данных из rpH

0829

EB

XCHG

H<=>D,L<=>E – обмен содержимым rpH и rpD

082A

77

MOV M,A

M(rpH)<=A – передача из аккумулятора данных в rpH

082B

EB

XCHG

H<=>D,L<=>E – обмен содержимым rpH и rpD

082C

2C

INR L

L<=L+1 – увеличение на 1 8-разрядного регистра L

082D

1C

INR E

E<=E+1 – увеличение на 1 8-разрядного регистра E

082E

0D

DCR C

C<=C-1 – уменьшение на 1 8-разрядного регистра С

082F

C2

JNZ 0828

PC<=0828 – задает переход на выполнение команды, расположенной по адресу 0828. При условии что флаг Z=0

0830

28

0831

08

0832

76

HLT

Останов процессора


5. Временные диаграммы.

Самая короткая команда: XCHG: 1/4 (перенос из регистра в память устройства, запись в противоположный регистр)

Самая длинная команда: XTHL L<=>M(SP); H<=>M(SP+1)

LHLD<B2><B3> L<=M<B3><B2> 5/16

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

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

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