Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УчПособЭлМПТ09 цифр верстка.doc
Скачиваний:
23
Добавлен:
07.06.2015
Размер:
3.9 Mб
Скачать

Бланк листинга ассемблерной программы

Адрес

С

Метка

Мнемокод

Операнд

Комментарий

N

страница

строка

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

При ручном ассемблировании каждая строка бланка соответствует одной ячейке памяти. Адреса ячеек в виде 4-х разрядных шестнадцатеричных чисел размещаются в поле адреса таблицы. Два младших разряда адреса размещаются в поле строки, два старших разряда – в поле страницы. При использовании 2- и 3-байтной команды следующие после строки команды одна или две строки пропускаются.

После составления ассемблерной программы проводится ручное ассемблирование путем заполнения столбца С табл. 6 шестнадцатеричными кодами, соответствующими мнемокодам команд. Эти коды определяются табл. 4.

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

После ассемблирования в столбце С таблицы будет находиться объектная программа, которую можно непосредственно загружать в микроЭВМ.

В столбце N табл. 7 указывается время выполнения команды в машинных тактах, определяемое с помощью табл. 8. Общее время работы программы оценивается суммарным количеством тактов с учетом циклических фрагментов программы.

Таблица 8

Характеристики команд микропроцессора кр580ик80

N

п/п

Команда

Действие

Модифицир.

признаки

Число

циклов

Число

тактов

1

ACI D8

(A)+D8+CA

ВСЕ

2

7

2

ADD M

M(HL)+(A)A

ВСЕ

2

7

3

ADD R

(A)+(R)A

ВСЕ

1

4

4

ADC M

M(HL)+(A)+CA

ВСЕ

2

7

5

ADC R

(A)+(R)+CA

ВСЕ

1

4

6

ADI D8

(A)+D8A

ВСЕ

2

7

7

ANA M

(A)^M(HL)A

ВСЕ; C=0

2

7

8

ANA R

(A)^(R)A

ВСЕ; C=0

1

4

9

ANI D8

(A)^D8A

ВСЕ; C=AC=0

2

7

10

CALL ADR

PCM(SP-1)M(SP-2);

ADRPC

5

17

11

C-CON ADR

По условию действия CALL

3/5

11/17

12

CMA

A

1

4

13

CMC

C

С

1

4

14

CMP M

Установка признаков

по (A)-M(HL)

ВСЕ; установ.

Z,C

2

7

15

CMP R

Установка признаков по

(A)-(R)

ВСЕ; установ.

Z,C

1

4

16

CPI D8

Установка признаков по

(A)-D8

ВСЕ; установ.

Z,C

2

7

17

DAA

Десятичная коррекция (A)

ВСЕ

1

4

18

DAD YZ

(HL)+(YZ)HL

С

3

10

19

DCR M

M(HL)-1M(HL)

Z,S,P,A,C

3

10

20

DCR R

(R)-1R

Z,S,P,A,C

1

5

21

DCX YZ

(YZ)-1YZ

--

1

5

22

DI

Запрещение прерывания

1

4

23

EI

Разрешение прерывания

--

1

4

24

HLT

Останов

--

1

7

25

IN N

(N)A

--

3

10

26

INR M

M(HL)+1M(HL)

Z,S,P,A,C

3

10

27

INR R

(R)+1R

Z,S,P,A,C

1

5

28

INX YZ

(YZ)+1YZ

--

1

5

29

J-CON ADR

ADRPC по условию

--

3

10

30

JMP ADR

ADRPC

--

3

10

31

LDA ADR

M(ADR)A

--

4

13

32

LDAX YZ

M(YZ)A

--

2

7

33

LHLD ADR

M(ADR) M(ADR+1)HL

--

5

16

34

LXI YZ,D16

D16YZ

--

3

10

35

MOV M,R

(R)M(HL)

--

2

7

36

MOV R,M

M(HL)R

--

2

7

37

MOV R,R1

(R1)R

--

1

5

38

MVI M,D8

D8M(HL)

--

3

10

39

MVI R,D8

D8R

--

2

7

40

NOP

Нет операции

--

1

4

Окончание табл. 8

N

п/п

Команда

Действие

Модифицир.

признаки

Число

циклов

Число

тактов

53

RET

M(SP)M(SP+1)-PC; SP+2SP

--

3

10

41

ORA M

M(HL)(A)A

ВСЕ;C=AC=0

2

7

42

ORA R

(A)(R)A

ВСЕ;C=AC=0

1

4

43

ORI D8

(A)D8A

ВСЕ;C=AC=0

2

7

44

OUT N

(A)N

--

3

10

45

PCHL

HLPC

--

1

5

46

POP PSW

M(SP)M(SP+1)PSW, SP+2SP

ВСЕ

3

10

47

POPYZ

M(SP)M(SP+1)YZ

--

3

10

48

PUSH PSW

PSW M(SP-1)M(SP-2);

SP-2SP

--

3

11

49

PUSH YZ

YZ M(SP-1)M(SP-2);

SP-2SP

--

3

11

50

RAL

Сдвиг влево через С

С

1

4

51

RAR

Сдвиг вправо через С

С

1

4

52

R-CON

По условию действия RET

--

1/3

5/11

54

RLC

Сдвиг влево

С

1

4

55

RRC

Сдвиг вправо

С

1

4

56

RST X

(PC)M(SP-1),M(SP-2),

ADRPC

--

3

11

57

SBB M

(A)-M(HL)-CA

ВСЕ

2

7

58

SBB R

(A)-(R)-CA

ВСЕ

1

4

59

SBI D8

(A)-D8-CA

ВСЕ

2

7

60

SHLD ADR

HLM(ADR)M(ADR+1)

--

5

16

61

SPHL

HLSP

--

1

5

62

STA ADR

(A)M(ADR)

--

4

13

63

STC

1С

С

1

4

64

STAX YZ

(A)M(YZ)

--

2

7

65

SUB M

AM(HL)A

2

7

66

SUB R

(A)-(R)A

ВСЕ

1

4

67

SUI B8

(A)-B8A

ВСЕ

2

7

68

XCHG

(HL)(DE)

--

1

4

69

XRA M

(A)M(HL)A

ВСЕ;C=AC=0

2

7

70

XRA R

(A)(R)A

ВСЕ;C=AC=0

1

4

71

XRA D8

(A)D8A

ВСЕ;C=AC=0

2

7

72

XTHL

HM(SP+1),LM(SP)

5

18

Разработанная программа оформляется с указанием следующей информации:

1. Программа.

1.1. Имя.

1.2. Назначение.

1.3. Выполняемая функция.

1.4. Работа.

1.4.1. Блок-схема.

1.4.2. Точки входа в программу.

1.4.3. Точки выхода из программы.

1.4.4. Требования к памяти.

1.4.5. Время выполнения программы.

1.4.6. Размер программы.

1.4.7. Используемые регистры.

1.4.8. Листинг программы.

1.5. Инструкция по эксплуатации.

1.5.1. Действия до вызова программы.

1.5.2. Запуск программы.

1.5.3. Действия после выполнения программы.

Приложение: контрольный пример:

2. Карта памяти (распределение памяти).

2.1. Адреса рабочих и служебных ячеек (табл. 9).

Таблица 9

Тип памяти

(ОЗУ, ПЗУ)

Адрес ячейки

Назначение

Примечание

2.2 Адреса векторов прерываний (если используются) (табл. 10).

Таблица 10

Адрес вектора

Адрес обращения

Назначение

2.3. Области памяти, занимаемые программой (табл. 11).

Таблица 11

Название

Адрес

Параметры

Примечание

начала

конца

передаваемые адрес и содержание

возвращаемые адрес и содержание

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

              1. Лачин В.И., Савелов Н.С. Электроника: учебное пособие. Изд. 6-е, перераб. и дополн. – Ростов на Д.: Феникс, 2007. – 703 с.

              2. Угрюмов Е. Цифровая схемотехника. – СПб.: БХВ, 2001. – 528 с.

Лабораторная работа МПТ-1

ОЗНАКОМЛЕНИЕ С РАБОТОЙ УЧЕБНОЙ МИКРОЭВМ”