Общие принципы построения МПС. Структурная схема МПС с тремя шинами. Комплексное использование аппаратных и программных средств

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

Фрагмент текста работы

Комментарий – описываются действие, выполняемые в данном предложении, отделяется ; , не воспринимается транслятором.

                                  Псевдокоманды Ассемблера

Псевдокоманда – это указание транслятору. Псевдокоманды не выполняются МП. Наиболее часто используемые псевдокоманды:

ORG, END, EQU, SET, DB, DW, DS.

Псевдокоманда ORG                                                                                                                           

<  Метка: >  ORG Выражение

Указывает,  с какого адреса начинается размещение программы, например:

ORG 100H

Если ORG отсутствует в начале программы, то по умолчанию начальный адрес программы 0000Н

Псевдокоманда END - конец

< Метка: > END

конец программы

Псевдокоманда EQU присваивает символическому имени какое – либо значение

Имя EQU выражение

Например:

CONST EQU 25H

MEM EQU 2000H

Имена, определённые командой EQU, не должны переопределяться программой.

Псевдокоманда SET(установить) позволяет переопределять имена в программе, т.е. присваивать им различные значения.

Имя SET выражение

Например:

CONST  SET  25H  ;  Имя CONST имеет значение  25H;

………..

CONST  SET   45H ;  Имя CONST имеет значение  45H;

Псевдокоманда DB – определить байт

< Метка: > DB список резервирует 1 ячейку памяти и записывает в неё значение из списка.

Например:

TABLE: DB, 01H, 07H, 0ABH

Псевдокоманда DW – определить слово (2 байта)

< Метка: > DW выражение

Резервирует 2 соседние ячейки и размещает в них 2–х – байтовое число из списка 

Псевдокоманда DS - определить память

< Метка: > DS выражение

Резервирует в памяти определённое число ячеек, которые определяются выражением ( при этом в выделенные ячейки никаких значений не заносится ).

Например:

ORG 1000H

Base :       DS 100; резервирует 100ячеек с адреса 1000Н

Память

 


      Base 1000                

100 ячеек            

 


Пример записи программы на языке Ассемблера:

;  DELAY – имя подпрограммы задержки

NUM        EQU 100

ORG 50H;                                 начальный адрес программы

DELAY:  MVI C, NUM

LOOP:     NOP

DCR C                                                                                

                        JNZ LOOP;                               цикл если ( С ) = 0

RET;                                          возврат из подпрограмы.

END;                                         конец программы.

17.МЕТОДИКА РАЗРАБОТКИ ПРОГРАМНОГО ОБЕСПЕЧЕНИЯ МПС.

ОСНОВНЫЕ ТИПЫ АЛГОРИТМОВ И ИХ ПРОГРАМНАЯ РЕАЛИЗАЦИЯ.

Этапы разработки ПО:

1.  Определить и проанализировать задачу.

2.  Составить алгоритм решения задачи.

3.  Составить структурную схему ( блок – схему ) алгоритма.

4.  Записать программу на языке Ассемблера.

5.  Транслировать программу в машинные коды.

6.  Занести коды программы в память МПС.

7.  Отладить программу.

8.  Документировать программу.

На 1– ом этапе уточняются отдельные детали задачи ( на разговорном языке)

Задача разбивается на блоки.

Методы задания алгоритмов:

1.  Словесный

2. Табличный метод – использование таблиц для  описания ( пример – таблица истинности)

3. С помощью формул – при использовании логических схем.

4.  Графический метод – задание алгоритма с помощью геометрических фигур, называемых блоками. Последовательность блоков и соединительных линий образуют структурную схему или блок – схему (БСА).

Основные блоки

 

Блок обработки

 
Блок-схема: типовой процесс: Блок обработки п. п.
 


 

Блок-схема: альтернативный процесс: Конец
 


Нет                                    Да

 


              1

      Алгоритмы делятся на виды:

1.  Линейные

2.  Разветвлённые

3.  Циклические.

Линейные алгоритмы не содержат условий, имеют 1 ветвь обработки и изображаются линейной последовательностью связанных друг с другом блоков.

Разветвлённый алгоритм содержит 1 или несколько логических условий, может иметь несколько ветвей обработки.

Проверка условий – это проверка флагов.

Пример: в МПС поступает 1–байтное число со знаком. Если оно положительное, то выводится в 1 –й порт, если отрицательное, то выводится во 2– й порт.

Знак числа кодируется 7-м разрядом байта и определяется флагом S.

7  6  5   4   3  2   1  0

S

S = 0 – положительное

S = 1 – отрицательное

Таким образом, необходимо проверять флаг S после ввода числа из порта.

 


ДА                                 НЕТ

 


Символические имена портов:

IPORT – порт ввода

OPORT1

OPORT2        порты вывода

IN IPORT;                     ввод данных

ORA A;                         установка флагов

JP MET1;                      переход на MET1, если S = 0

OUT OPORT2;             вывод

HLT

MET1:  OUT OPORT1;             вывод

HLT

Циклические алгоритмы содержит 1 или несколько циклов. Цикл – это последовательность повторяющихся команд.

Имеется счётчик цикла и переменная цикла – показывают сколько раз должен повторяться цикл.

Блок – схема циклического алгоритма со счётчиком циклов:

Вход в цикл

 


Тело цикла

2

 
 


 


НЕТ

 


ДА

Выход из цикла

Если число повторений цикла N = 1…256 раз – в качестве счётчика цикла может использоваться любой из регистров МП.

Пример:

MVI C, NUMBER; загрузить счётчик цикла

LOOP: NOP

NOP

             DCR

JNZ LOOP;             цикл, если ( С ) = 0

………             ;выход из цикла

Если число повторений цикла N = 1…65536 раз, то в качестве счётчика цикла можно использовать  регистровую пару  BC, DE, HL .

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

Имеется два варианта проверки:

1.  Сначала проверяется на ноль старший регистр пары, а потом младший.

Например, для пары ВС:

LXI B, NUMBER

LOOP: NOP

NOP

DCX B

MOV A, B

                CPI 0

JNZ LOOP; цикл, если ( В ) = 0

MOV A, C

CPI 0

                JNZ LOOP; цикл, если ( С ) = 0

……..         ; выход из цикла 

2.  Для проверки на ноль используется логическая команда ORA (операция  ИЛИ) содержимого регистров пары. Результат выполнения команды будет равным нулю, т.е. установится Z = 1, только тогда, если оба регистра пары  равны нулю.

Например, для пары ВС:

LXI B, NUMBER

LOOP: NOP

NOP

DCX B

MOV A, B

            ORA C

JNZ LOOP; цикл, если ( В ) = 0 и ( C ) = 0

………         ; выход из цикла

Второй вариант короче, поэтому эффективнее.

18.БИС ПАРАЛЕЛЬНОГО ИНТЕРФЕЙСА КР580ВВ55А : ОСНОВНЫЕ ХАРАКТЕРИСТИКИ, ВНУТРЕННЯЯ СТРУКТУРА, ПОДКЛЮЧЕНИЕ К СИСТЕМНОЙ ШИНЕ МПС, ПРОГРАММИРОВАНИЕ.

Интерфейсная БИС КР580В55А является наиболее универсальным устройством ввода – вывода информации в МПС в параллельном коде. Её часто называют программируемым параллельным адаптером

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

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