Текст программы
Принят следующий формат написания программ на ассемблере. Каждая строка программы делится на четыре поля: поле метки, поле мнемокода, поле операндов, поле комментариев. Метка ассоциируется с 16-битным адресом ячейки памяти, в которую будет помещен первый байт отмеченной меткой команды.
В приведенной программе предполагается, что коды входных сигналов поступают в порт ввода, выходные сигналы засылаются в порт вывода, состояния сохраняются в регистре С. Байты входного сигнала и исходного внутреннего состояния предварительно объединяются в один байт данных вида 000x1x2Q1Q2. Таблицы переходов и выходов автомата Мили записываются в память так, что входной сигнал и исходное состояние с начальным адресом таблицы определяют адрес следующего состояния и выходной сигнал, из которых формируются байт очередного внутреннего состояния 000000Q*1Q*2 и соответствующий этому состоянию байт выходного сигнала 000000у1у2.
Совмещенная таблица переходов и выходов:
Таблица 16.
x1x2 |
00 |
01 |
10 |
11 |
|
00 |
00/10 |
01/00 |
- |
01/01 |
|
01 |
10/00 |
01/10 |
11/01 |
- |
|
10 |
00/01 |
- |
00/00 |
- |
|
11 |
11/11 |
- |
11/11 |
- |
Для более ясного понимания алгоритма программной реализации перепишем совмещенную таблицу переходов и выходов (Таблица 16) в следующей форме (Таблица 17):
номер ячейки памяти от нуля |
x1x2Q1Q2 |
у1у2/ Q1Q2 |
16-ричные коды состояний и выходов |
|
0 |
0000 |
00 10 |
02h |
|
1 |
0001 |
01 00 |
04h |
|
2 |
0010 |
- |
00h |
|
3 |
0011 |
01 01 |
05h |
|
4 |
0100 |
10 00 |
08h |
|
5 |
0101 |
01 10 |
06h |
|
6 |
0110 |
11 01 |
0Dh |
|
7 |
0111 |
- |
00h |
|
8 |
1000 |
00 01 |
01h |
|
9 |
1001 |
- |
00h |
|
10 |
1010 |
- |
00h |
|
11 |
1011 |
- |
00h |
|
12 |
1100 |
11 11 |
0Fh |
|
13 |
1101 |
- |
00h |
|
14 |
1110 |
11 11 |
0Fh |
|
15 |
1111 |
- |
00h |
Программа:
Метка |
Мнемокод команды |
Операнды |
Комментарий |
|
LXI |
H,TABLE |
Загрузка в HL двухбайтового начального адреса таблицы переходов и выходов |
||
MOV |
A.PORTx |
Пересылка кода входного сигнала x1x2 из порта ввода в А |
||
RLC |
Сдвиг содержимого аккумулятора на один разряд влево |
|||
RLC |
Повторный сдвиг содержимого А на один разряд влево в результате получаем байт 000x1x200 в А |
|||
ORA |
C |
Логическим сложением содержимого А и С вычисляется адрес смещения 000x1x2Q1Q2 таблицы |
||
MOV |
E,A |
Сохраняем в Е (старший байт DE) байт адреса смещения |
||
MVI |
D,0h |
Обнуляем младший байт DE |
||
DAD |
D |
Сложением содержимого HL и DE вычисляется абсолютный адрес кода нового состояния и выхода автомата |
||
MOV |
A,M |
Пересылка из таблицы в А кода нового состояния и выхода |
||
MOV |
E,A |
Сразу же сохраняем байт нового состояния и выхода в Е, в А код нового состояния и выхода остается |
||
LXI |
B,0C03h |
Загружаем в регистровую пару BC 16-ричные коды масок выходов 00001100 и состояний 00000011 |
||
ANA |
B |
Логическим умножением содержимого А и младшего байта регистровой пары BC выделяем в А выходные сигналы 000x1x200 |
||
RRC |
Сдвиг содержимого аккумулятора на один разряд вправо |
|||
RRC |
Повторный сдвиг содержимого А на один разряд вправо, в результате получаем байт 000000 x1x2 в А |
|||
MOV |
PORTy,A |
Вывод кода выходных сигналов из А в порт вывода |
||
MOV |
A,E |
Восстанавливаем в А считанный из таблицы байт выходов и состояний |
||
ANA |
C |
Логическим умножением содержимого А и маски старшего байта регистровой пары ВС выделяем в А состояния 000000Q1Q2 |
||
MOV |
C,A |
Пересылка кода состояния 000000Q1Q2 из А в С |
||
HLT |
Остановка |
Таблица 18.
Метка |
Мнемокод команды |
16-ричные коды состояний и выходов |
Записываемые коды состояний и выходов |
|
TABLE: |
00h |
00/00 |
||
01h |
00/01 |
|||
02h |
00/10 |
|||
05h |
01/01 |
|||
06h |
01/10 |
|||
08h |
10/00 |
|||
0Dh |
11/01 |
|||
0Fh |
11/11 |
- Задание на курсовую работу
- Построение графа синтезируемого автомата
- Определения количества элементов памяти
- Составление таблицы переходов и выходов КА
- Составление таблиц возбуждения памяти Ка
- Синтез комбинационной части КА
- Переход от исходного автомата Мили к эквивалентному автомату Мура
- Кодирование автомата Мура
- Текст программы
- Список используемой литературы
- 1.5 Методика автоматизированного проектирования модулей эва в сапр/саит в системе автоматизированного интегрированного производства
- Герметизация эва.
- 1.3 Современные тенденции развития сапр/астпп/саит эва на базе общей теории проектирования
- 1.4 Интеграция процессов анализа и проектирования в сапр/саит эва
- §18. Общие принципы обеспечения надежности эва.
- История развития и краткий обзор программных средств сапр рэа и эва на пэвм.
- 15 Раскройте автоматизацию технологического проектирования
- Способы охлаждения эва.
- 4. Проектирование и конструирование: определения, задачи, аспекты, уровни и этапы проектирования. Восходящий и нисходящий порядок проектирования.