Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пнх.doc
Скачиваний:
19
Добавлен:
23.03.2015
Размер:
5.7 Mб
Скачать

7.Основы програмирования мпс.

7.1Общие сведения.

Технология разработки программ для МПС идентична соответственно технологии программирования на алгоритмич языках высокого уровня для ЭВМ.

При программировании МПС используются графич. представление алгоритмов,но число символов резко ограничено.

Символы графических представлений алгоритма.

Символ

Его значение

Выполнение операции, в рез-те кот. изменяется знач-е или располож-е в ЗУ данных

Ввод или вывод данных

Начало, конец или прерывание процесса обработки данных

Ветвление по условию

Соединит. линии.

Форма записи программ для МПС

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

Программа в мнемокодах

Адрес

Данные

Метка

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

Операнды

Число тактов

MVI

A,04H

--

Составление простейших программ

Задача 1. Линейный вычислит процессор. Сложить числа: a=03H, b=B1H, c=07h. Результат поместить в адрес ЗУ 8021H. решение: карта распред-я памяти: 1). данные ввода введем непосредственно в программе, а для вывода напишем

2).Блок схема

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

Мнемокодах

Адрес

Данные

Метка

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

Операнды

Комментарий

8000

8001

3E

03

MVI

A,03H

Непосредственная загрузка аккумулятора с 16-ричным числом 03

8002

8003

D6

B1

MVI

B,B1H

Непосредственная загрузка числом В1

8004

8005

0E

07

MVI

C,07H

Непосредственная загрузка РОН с данными 07Н

8006

80

ADD

B

Сложение содержимого аккумулятора и регистра В. Результат в аккумуляторе

8007

81

ADD

C

Сложение содержимого аккумулятора и регистра С. Результат в аккумуляторе

8008

8009

800A

32

21

80

STA

8021H

Пересылка данных из аккумулятора в адрес ЗУ 8021

800B

76

HLT

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

Пример 2. Разветвляющийся вычислительный процесс. Вычислить значение

Результат поместить в РОН общего назначения С, а х поместить в РОН В.

Решение. Распределение памяти

Адрес/Регистр

Данные

В

х

С

у

Блок-схема:

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

Мнемокодах

Адрес

Данные

Метка

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

Операнды

Комментарий

8000

MOV

A,B

A←(B)

8001

ANA

A

Логическое умножение содержимого аккумулятора на само себя A←(A∙A). В рез-те появится сост-е флагов s,p,z.

8002

8003

8004

КОП

80

JP

M1

Если флаг s=0, переход к метке М1.

8005

8006

MVI

C,03H

С←03Н

8007

8008

8009

КОП

80

JMP

M2

Переход к М2

800А

800В

MVI b

C,00

С←00Н

800С

HLT

STOP

Пример 3.Циклический вычислительный процес.Вычислить сумму.

ai-известные2-е числа.

Решение:Распределение памяти.

Адрес/Регистр

Данные

8020

А1

8021

8022

8023

8024

А2

А3

А4

y

Блок схема:

Программа:

LXI H, 8020H

Загрузка регистровой пары HL адресом 8020

MVI C, 04H

Непосред. загрузка рег. С данными 04Н

MVI A, 00H

Непосред. загрузка аккумулятора данными 00Н

M1: ADD M

Сложение содержимого аккумулятора с содержимым ячейки памяти, адрес кот находится в рег. паре HL

INX H

Инкремент адреса рег пары HL

DCR C

Декремент регистра счетчика С

JNZ M1

Если содержимое счетчика ≠ 0, переход к оператору с меткой М1

STA 8024 H

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

HLT

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

Пример 5.

Дан массив из 10 двоичных чисел. Составить прогр мнемокода для нахождения max из них. Решение:Распределение памяти

Адрес/Регистр

Данные

8020

а1

8021

а2

8029

а10

802А

аmax

Блок схема:

Решение было заданно домой.