Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OMT&МП2.doc
Скачиваний:
12
Добавлен:
13.11.2019
Размер:
2 Мб
Скачать

3.9. Пошаговое выполнение программ.

Имеются две разновидности пошагового выполнения программ: поцикловый и командный режимы. В поцикловом режиме ОУ переводится в состояние “Ожидание” при выполнении каждого рабочего цикла, а в покомандном режиме лишь при чтении первого байта команды.

Для вызова пошагового режима:

-установите переключатель "РБ/ШГ" в состояние ШГ.

При этом происходит подключение световой индикации:

-переключателем "КМ/ЦК" выберите один из режимов работы;

-передайте управление выполняемой программе.

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

Для выхода из этого режима выполните одно из следующих действий:

-нажмите кнопку "СБ";

- установите переключатель "РБ/ШГ" в состояние РБ и нажмите кнопку "ШГ".

Лабораторная работа № 1 запись и выполнение простых программ

Цель работы: ознакомление с системой команд МП КР580ВМ80А и выполнение простых программ, знакомство с картой памяти УМК и сигналами состояния операционного устройства.

Теоретическая часть

МП КР580ВМ8ОА имеет 78 базовых команд, которых можно условно разделить на следующие группы:

1) команды пересылки:

MOV, MVI, LXI, LDA, STA,LDAX, STAX, LHLD, SHLI, XCHB;

2) команды арифметических операций:

ADD, ADC, SVB, SBB, CMP, ADI, ADI, ACI, SVI, SBI, CPI, INR, DCR, INX, DCX, DAD, DAA;

3) команды логических операций :

ANA, XRA, DRA, ANI, XRI, DRI, STC, CMC, PLC, RRC, RAL, RAR, CMA;

4) команды передачи управления:

JMР, JC, JNC, JZ, JNZ, JM, JP, JPE, JPC, RST, СALL, СС, CNC, CZ, CNZ, СР, СM, СРЕ, СРО, RET, RC, RNC, RZ, RNZ, RP, RPE, RPO, PCHL;

5) команды ввода, вывода, обращения к стеку и управления:

IN, OUT, PUSH, POP, XTHL,SPHL, EI, DI, NOP, HLT.

Общий список включает 245 команд. Время выполнения команды определяется процессом получения:, декодирования и выполнения команды. Это время можно представить состоящим из ряда временных интервалов. Наиболее короткий временной интервал, равный периоду синхросигналов МП, называется тактовым циклом. Время, необходимое для извлечения 1 байта информации из памяти или внешнего устройства или выполнения команды, определяемой одним машинным словом , называется машинным циклом. Время, необходимое для выполнения од­ной команды, называется командным циклом. Командный цикл может включать в себя 1-5 машинных циклов, машинный цикл может включать 3-5 тактовых циклов.

МП КР580ВМ80А имеет 10 различных типов машинных циклов:

Извлечение кода команды (цикл M1), чтение данных из памяти, запись данных в память, извлечение данных из стека, запись данных в стек, ввод данных из внешнего устройства, вывод данных во внешнее устройство цикл обслу­живания прерывания, цикл останова, цикл обслуживания прерывания в режиме останова. Машинные циклы формируется в регистре состояния операционного устройства в зависимости от сигналов состояния. Таблица соответствия сигналов состояния типам машинных циклов приведена в инструкции по применению УМК. Сигналы состояния используются для формирования сигналов управления всей микроЭВМ.

МП КР580ВМ80А имеет 16-разрядный канал адреса, который обеспечивает прямую адресацию внешней памяти объемом до 65536 байт , 256 устройств ввода и 256 устройств вывода информации.

УМК содержит ПЗУ, объемом 2 кбайт и ОЗУ, объемом 1 кбайт. Первый кбайт ПЗУ использован для хранения программы "системный монитор", а второй кбайт ПЗУ зарезервирован за пользователем. Третий кбайт памяти УМК используется для адресации ОЗУ. Необходимо отметить, что последние 54 ячейки памяти ОЗУ используются программой "системный монитор" для хранения оперативных данных. Отметим, что в схеме УМК предусмотрено подключение устройства ввода-вывода на 48 адресов.

Для удобства пользования микроЭВМ информация о распределении адресного поля сводится в карту памяти. Поясним построение карты памяти на следующем примере.

Допустим:

1) программа "системный монитор" занимает 756 байт в адресном поле 000...02FF ПЗУ;

2) дополнительная область программы "монитор" занимает 256 байт в адресном поле 0300...03FF ПЗУ;

3) программа пользователя занимает 512 байт в адресном поле 0400...05FF ПЗУ

4) свободная область в ОЗУ, объемом 967 байт размещена , в адресном поле

... 8000...83С6;

5) рабочая область монитора в ОЗУ, объемом 57 байт размещена в адресном поле 83С7... 83FF .

Остальные 62,5 кбайт адресного поля не используются. Карта памяти в этом случае будет иметь вид (рис.1.1).

При записи программ на АССЕМБЛЕРЕ используются 4 поля: поле метки, мнемокода команды, поле операнда и комментария. Числа и адреса представляют в шестнадцатеричном коде. Рассмотрим простейшую программу, по которой содержимое ячейки 0820 извлекается, складывается само собой, результат записывается в ячейку памяти по адресу 0821 (табл. 1.1.).

4 5

1

2

3

9

17

25

41

49

57

10

18

26

34

42

50

58

3

11

19

27

35

43

51

59

4

12

20

28

36

44

52

60

5

13

21

29

37

45

53

61

6

14

22

30

38

46

54

62

7

15

23

31

39

47

55

63

8

16

24

32

40

48

56

64

Рис. 1.1. Карта памяти

Таблица 1.1

Программа 1.1

Метка

Мнемо-код

Операнды

Комментарий

LDA

ADD

STA

HLT

0820

A

0821

Получить число поадресу 0820

Сложить число с самим собой

Записать результат по адресу 0821

Остановка программы

Для записи программы в кодах переводим мнемокод в машинные коды и выбираем начальный адрес ячейки памяти, допустим 0800. Программа 1.1 в машинных кодах будет иметь вид (табл.1.2):

Таблица 1.2

Программа 1.1 в машинных кодах

Адрес

Машинный код

Метка

Мнемокод

Операнды

Комментарий

0800

0801

0802

0803

0804

0805

0806

0807

20

08

87

32

21

08

76

LDA

ADD

STA

HLT

0820

A

0821

Код команды LDA

Младший байт адреса

Старший байт адреса

Код команды ADD

Код команды STA

Младший байт адреса

Старший байт адреса

Останов


Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]