Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая МПС1.docx
Скачиваний:
12
Добавлен:
28.04.2019
Размер:
2 Мб
Скачать
☆

4.4. Распределение памяти в условных адресатах

СТЭК

0000 ÷ 0009

ПЗУ

ТК+0…1

ГПМ

ГПМ+0…59

ПМ1

ПМ1+0…23

ПМVk

ПМVk+0…18

ПМDt

ПМDt+0…2

ПМ2

ПМ2+0…47

ПМ3

ПМ3+0…82

ПМ4

ПМ4+0…82

ПМZd

ПМZd+0…48

4.5. Принципиальные схемы всех программных модулей в условных адресатах

ТК

ТК+0

20

Равняется 2т об./мин

1

30

Равняется 3т об./мин

ГПМ

ГПМ

ГПМ+0

OUT 998

Задание режима интерфейса 1

1

2

OUT A48

Задание режима интерфейса 2

3

4

CALL ПМ1+0

Вызов ПМ1

5

6

7

CALL ПМZd+0

Вызов задержки

8

9

ГПМ+10

CALL ПМ2+0

Вызов ПМ2

1

2

3

MOV A, D

Запись в аккумулятор RG D

4

CPI 018

Сравнение с 1

5

6

JZ ГПМ+22

Переход по «равно нулю»

7

8

9

CPI 018

Сравнение с 1

ГПМ+20

1

JNZ ГПМ+59

Переход по «не равно нулю»

2

3

4

CALL ПМZd+0

Вызова ПМZd

5

6

7

CALL ПМ3+0

Вызов ПМ3

8

9

ГПМ+30

MOV A,C

Запись в аккумулятор значения RG C

1

CPI 018

Сравнение с 1

2

3

NOP

4

JZ ГПM+40

Переход по «равно нулю»

5

6

7

CPI 018

Сравнение с 1

8

9

JNZ ГПМ+3

Переход по «не равно нулю»

ГПМ+40

1

2

CALL ПМZd+0

Вызов ПМZd

3

4

5

CALL ПМ4+0

Вызов ПМ4

6

7

8

MOV A,C

Запись в аккумулятор значения RG C

9

CPI 018

Сравнение с 1

ГПМ+50

1

JZ ГПМ+40

Переход «по равно нулю»

2

3

4

CPI 018

Сравнение с 1

5

6

JNZ ГПМ +22

Переход по «не равному нулю»

7

8

9

HTL

Конец

ПМ1

ПМ1+0

IN PORT C1

Сигнал с порта С1

1

CPI 018

Сравнение с 1

2

3

JZ ПМ1+21

Переход по «равно нулю»

4

5

6

CPI 018

Сравнение с 1

7

8

JNZ ПМ1+11

Переход по «не равно нулю»

9

ПМ1+10

1

MVI D, 008

Записываем в RGD 0

2

3

CALL ПМZd+0

Вызов ПМZd

4

5

6

NOP

7

NOP

8

JMP ПМ1+0

Безусловный переход

9

ПМ1+20

1

MVI D, 018

Записываем в RGD 1

2

3

RET

Возврат к ГПМ

ПМVk

ПМVK+0

IN PORT C1

Сигнал с порта С1

1

CPI 018

Сравнение с 1

2

3

JZ ПМVk+11

Переход по «равно нулю»

4

5

6

CPI 018

Сравнение с 1

7

8

JNZ ПМVk+16

Переход по «не равно нулю»

9

ПМVK+10

1

MVI D, 018

Запись в RGD 1

2

3

JMP ПМVk+19

Безусловный переход

4

5

6

MVI D, 008

Запись в RGD 0

7

8

RET

Возврат к ПМ2 (вышестоящему ПМ)

ПМDt

ПМDt+0

IN PORT A1

Данные с порта А1

1

MOV B, A

Запись в аккумулятор RGB

2

RET

Возврат к ГПМ (или вышестоящему ПМ)

ПМ2

ПМ2+0

CALL ПМVK+0

Вызов ПМVK

1

MOV A, D

Запись в аккумулятор RGD

2

CPI 018

Сравнение с 1

3

4

JZ ПМ2+14

Переход по «равно нулю»

5

6

7

CPI 018

Сравнение с 1

8

9

JNZ ПМ2+ 49

Переход по «не равно нулю»

ПМ2+10

1

2

NOP

3

NOP

4

CALL ПМDt+0

Вызов ПМDt

5

LXI HL ТК+1

Вызываем число 30

6

7

8

MOV A, m

Запись в аккумулятор из памяти

9

CMP B

Сравнение с RGB

ПМ2+20

JZ ПМ2+28

Переход по «равно нулю»

1

2

3

CMP B

Сравнение с RGB

4

JNZ ПМ2+32

Переход по «не равно нулю»

5

6

7

NOP

8

CALL ПМZd+0

Вызов ПМZd

9

JMP+0

Безусловный переход

ПМ2+30

1

2

CMP B

Сравнение с RGB

3

JM ПМ2+44

Переход по «меньше нуля»

4

5

6

CMP B

Сравнение с B

7

JP ПМ2+40

Переход по «больше нуля»

8

9

ПМ2+40

CALL ПМZd+0

Вызов ПМZd

1

JMP ПМ2+0

Безусловный переход

2

3

4

MVI B1, 018

Запись в В1 1

5

6

OUT PORT B1

Вывезти с В1

7

RET

Возврат к ГПМ

ПМ3

ПМ3+0

CALL ПМDt

Вызов ПМDt

1

2

3

LXI LH, ТК+0

Вызываем число 20

4

5

6

MOV A, m

Запись в аккумулятор из памяти

7

CMP B

Сравнение с RGB

8

JZ ПМ3+15

Переход по «равно нулю»

9

ПМ3+10

1

CMP B

Сравнение с RGB

2

JNZ ПМ3+24

Переход по «не равно нулю»

3

4

5

CALL ПМZd

Вызов ПМZd

6

7

8

JMP ПМ3+0

Безусловный переход

9

ПМ3+20

1

NOP

2

NOP

3

NOP

4

CMP B

Сравнить с RGB

5

JM ПМ3+43

Переход по «меньше нулю»

6

7

8

CMP B

Сравнение с RGB

9

JP ПМ3+32

Переход по «больше нулю»

ПМ3+30

1

2

MVI A2, 0

Запись в порт А2 0

3

4

OUT A2

Вывезти А2

5

MVI C, 0

Запись в RGC 0

6

7

JMP ПМ3+89

Безусловный переход

8

9

ПМ3+40

NOP

1

NOP

2

NOP

3

LXI HL, ТК+1

Вызываем число 30

4

5

6

MOV A, m

Запись в аккумулятор из памяти

7

CMP B

Сравнение с RGB

8

JZ ПМ3+55

Переход по «равно нулю»

9

ПМ3+50

1

CMP B

Сравнение с RGB

2

JNZ ПМ3+61

Переход по «не равно нулю»

3

4

5

CALL ПМZd

Вызов ПМZd

6

7

8

JMP ПМ3+0

Безусловный переход

9

ПМ3+60

1

CMP B

Сравнение с RGB

2

JM ПМ3+78

Переход по «меньше нуля»

3

4

5

CMP B

Сравнение с RGB

6

JP ПМ3+72

Переход по «больше нуля»

7

8

9

NOP

ПМ3+70

NOP

1

NOP

2

CALL ПМZd

Вызов ПМZd

3

4

5

JMP ПМ3+0

Безусловный переход

6

7

8

MVI A2, 1

Запись в порт A2 1

9

ПМ3+80

OUT A2

Вывезти А2

1

MVI C, 1

Запись в RGC 1

2

RET

ПМ4

ПМ4+0

CALL ПМDt

Вызов ПМDt

1

2

3

LXI LH, ТК+0

Вызываем число 20

4

5

6

MOV A, m

Запись в аккумулятор из памяти

7

CMP B

Сравнение с RGB

8

JZ ПМ3+15

Переход по «равно нулю»

9

ПМ4+10

1

CMP B

Сравнение с RGB

2

JNZ ПМ3+24

Переход по «не равно нулю»

3

4

5

CALL ПМZd

Вызов ПМZd

6

7

8

JMP ПМ3+0

Безусловный переход

9

ПМ4+20

1

NOP

2

NOP

3

NOP

4

CMP B

Сравнить с RGB

5

JM ПМ3+43

Переход по «меньше нулю»

6

7

8

CMP B

Сравнение с RGB

9

JP ПМ3+32

Переход по «больше нулю»

ПМ4+30

1

2

MVI B2, 0

Запись в порт B2 0

3

4

OUT B2

Вывезти B2

5

MVI C, 0

Запись в RGC 0

6

7

JMP ПМ3+89

Безусловный переход

8

9

ПМ3+40

NOP

1

NOP

2

NOP

3

LXI HL, ТК+1

Вызываем число 30

4

5

6

MOV A, m

Запись в аккумулятор из памяти

7

CMP B

Сравнение с RGB

8

JZ ПМ3+55

Переход по «равно нулю»

9

ПМ3+50

1

CMP B

Сравнение с RGB

2

JNZ ПМ3+61

Переход по «не равно нулю»

3

4

5

CALL ПМZd

Вызов ПМZd

6

7

8

JMP ПМ3+0

Безусловный переход

9

ПМ3+60

1

CMP B

Сравнение с RGB

2

JM ПМ3+78

Переход по «меньше нуля»

3

4

5

CMP B

Сравнение с RGB

6

JP ПМ3+72

Переход по «больше нуля»

7

8

9

NOP

ПМ3+70

NOP

1

NOP

2

CALL ПМZd

Вызов ПМZd

3

4

5

JMP ПМ3+0

Безусловный переход

6

7

8

MVI B2, 1

Запись в порт B2 1

9

ПМ3+80

OUT B2

Вывезти B2

1

MVI C, 1

Запись в RGC 1

2

RET

ПМZd

ПМZd+0

MVI E, 008

Обнуление RGE

1

2

INR E

Прибавление к RGE 1

3

MOV A, E

Запись в аккумулятор RGE

4

CPI FF8

Сравнение с 255

5

6

JP ПМZd+20

Переход по «больше нулю»

7

8

9

CPI FF8

Сравнение с 255

ПМZd+10

1

JM ПМZd+17

Переход по «меньше нулю»

2

3

4

NOP

5

NOP

6

NOP

7

MVI E, 008

Обнуление RGE

8

9

INR E

Прибавление к RGE1

ПМZd+20

MOV A, E

Запись в аккумулятор RGE

1

CPI FF8

Сравнение с 255

2

3

JP ПМZd+34

Переход по «больше нулю»

4

5

6

CPI FF8

Сравнение с 255

7

8

JM ПМZd+19

Переход по «меньше нулю»

9

ПМZd+30

1

NOP

2

NOP

3

NOP

4

MVI E, 008

Обнуление RGE

5

6

INR E

Прибавление к RGE 1

7

MOV A, E

Запись в аккумулятор RGE

8

CPI FF8

Сравнение с 255

9

ПМZd+40

JP ПМZd+49

Переход по «больше нулю»

1

2

3

CPI FF8

Сравнение с 255

4

5

JM ПМZd+36

Переход по «меньше нулю»

6

7

8

RET