- •Структурная схема 8-ми разрядного мп
- •Алгоритм работы управляющего автомата
- •Форматы команд
- •Способы адресации
- •Команды пересылки (команды передачи данных) Арифметические и логические команды
- •Команды сдвига (сдвига в аккумуляторе)
- •Команды передачи управления
- •Спецкоманды
- •Псевдокоманды
- •Запоминающие устройства
- •1. Регистровый способ адресации с одним регистром Rd
- •Сторожевые таймеры
- •Организация таймеров/счетчиков.
Псевдокоманды
Команды не имеющие машинного эквивалента
DB – определить байт
DW – определить слово
DS – зарезервировать область памяти (16 байт)
ORG 1000H – установить счетчик
SET – установить значение
EQV – эквивалентность, жестко закрепляется значение
Вопрос №4
Ассемблер в системе команд 8-разрядного МП. Типы ассемблеров. Требования к полям записи программ на ассемблере. Примеры программирования на ассемблере.
Ассемблер-язык среднего уровня программирования.
Типы ассемблеров:
1. Резедентный - загружается в память рабочей машины.
“+” – малообъёмный
“-” – нужно заведомо знать, что машина способна работать.
2. Кросеассемблер - ассемблер, который позволяет работать на “инструментальной машине” (не отлаживаемой).
“-” - надо знать обе среды.
3. Макроассемблер- позволяет работать с макроопределениями.
4. Метоассемблер – много ассемблерная конструкция, позволяет выбирать необходимый тип ассемблера, который подходит для нашей машины.
По типу функционирования:
Однопроходные а-ры многопроходные а-ры
за один проход а-ра исходный 2-ух проходные- за один
модуль преобр-ся в объектный. проход- делается таблица
метки(переходов),за 2-ой
транслируется программа.
DB-определить байт
DW-определить слово
DS 10H; -зарезервировать область памяти
ORG 1000H-установить счётчик на другой адрес
SET-установить значение, имя может переобозн.
EQV-эквивалентность(типа const)
IF < >
………. –Условное ассемирование
END IF.
MACRO
………. – Макро определена
END MACRO.
LIST-выводит листинг программы
END-конец программы
Пример: стандартный план программы
Поле адреса |
Поле кода команд |
Поле метки |
Поле символ. код-я |
|
Поле комментарий |
Пишутся в 16 сс |
Пишется байты команды |
Помеченная команда: метки могут быть символьные и цифровые, но всегда начинается с символа, метка не должна совпадать с мнемоникой команды |
Поле мнемоники MOV |
Поле операнда B; Q D H |
ASCII |
Поле метки и поле символов - исходный модуль.
Адрес и поле команды – объектный модуль
Пример: перезапись старого массива в новую область памяти.
0800
…… - старый массив(16 байтов)
080F
0900
…… - новый массив.
090F
Будем использовать BC- для адресов старого массива и DE- для нового массива.
L- счетчик байтов. Рабочую программу начнем с адреса 1200H.
Адрес |
Код команды |
Метки |
Мнемоника |
Операнд |
Комментарии |
1200 |
010008 |
BEGIN: |
LXIB; |
0800H; |
Загружаем нач.адрес старого массива |
1203 |
110009 |
|
LXID; |
0900H; |
|
1206 |
2E10 |
|
MVIL; |
L, 16; |
Загружаем счетчик |
1208 |
0A |
CYCLE; |
LDAX B; |
|
[M]([RP])->A |
1209 |
12 |
|
STAX D; |
|
Загружаем Эл-ты старого массива |
120A |
03 |
|
INX B |
|
|
120B |
13 |
|
INX D |
|
|
120C |
2D |
|
DSR L |
|
|
120D 1210 |
C20812 76 |
|
INZ HLT |
CYCLE |
|
Вопрос №9
Программируемый интервальный таймер
Режим работы:
Р.0 - программируемая временная задержка
Р.1 - программируемый одновибратор
Р.2 - прог. делитель частоты
Р.3 - прог. генератор Меадра
Р.4 - прог. генератор строба с программным запуском
Р.5 - прог. генератор строба с аппаратным запуском
уст-во представляет собой - 3 независимых канала(основано на работе счетчика вычитания)
Р.0 - когда пропорционально числу, записанному в счетчике, на выходе появляется сигнал
Р.1 –
Р.2 - генератор с переменной частотой, частота на выходе fвых=fвход/N
Р.3 -
из постоянного напряжения получают переменное - РОЭРА аппарат, только трансформатор работает на переменном токе, получаем программным путем
Р.4 строб - узкий сигнал (малой длительности служащий обычно для записи
Структурная схема.
каждый тактирующий сигнал приводит к вычитанию счетчика
Вид Управляющего слова
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
ВР1 |
ВР2 |
Ч,З |
Ч,З |
РЖ2 |
РЖ1 |
РЖ0 |
К |
0 |
0 |
чтение |
1 |
1 |
1 |
0-двоичный | |
0 |
1 |
запись |
0 |
0 |
0 |
1-десятичный | |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
в каком счете работает |
1 |
1 |
0 |
1 |
Х |
0 |
1 | |
|
|
1 |
0 |
Х |
1 |
0 | |
|
|
0 |
0 |
1 |
0 |
0 | |
|
|
|
|
1 |
0 |
1 |
Вопрос № 11