ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.06.2025
Просмотров: 4531
Скачиваний: 2
16.19. Примеры программ 399
Таблица 16.20. Программный пример передачи данных в подпрограмму [16, 18].
Адрес |
Машин, |
Метка |
Операц. |
Операнд |
Комментарий |
|||||||
1 |
код |
код (ор code) |
||||||||||
1000 |
CD 00 |
12 |
ORG |
lOOOH |
; зона команд |
|||||||
1 |
1003 |
СЗ 09 |
10 |
CALL |
PROG |
; вызов |
||||||
JMP |
подпрограммы |
|||||||||||
1006 |
88 IF |
LIST |
; пропуск (skip) |
|||||||||
DW |
1F88H |
константы |
||||||||||
1008 |
; |
подлежащая |
||||||||||
LIST |
передаче |
консталта |
||||||||||
1 |
1200 |
ЕЗ |
PROG |
XTHL |
H |
; PC в HL |
||||||
1201 |
Е5 |
PUSH |
; PC в |
стек ("на |
||||||||
1 |
1202 |
D5 |
D |
стек") |
||||||||
PUSH |
; DE в |
стек |
||||||||||
1 |
1203 |
F5 |
PUSH |
PSW |
; PSW в |
стек |
||||||
1204 |
23 |
INX |
H |
; пропуск команды |
||||||||
1 |
1205 |
12050MXJMP |
||||||||||
23 |
INX |
H |
_»»_ |
|||||||||
1206 |
23 |
INX |
H |
— ••_ |
||||||||
1207 |
5Е |
MOV |
E, |
M |
; |
данные, |
||||||
соответствующие |
в |
|||||||||||
младшему |
байту, |
|||||||||||
23 |
INX |
H |
Е |
|||||||||
1208 |
; переход к |
|||||||||||
5Е |
MOV |
старшему |
байту |
|||||||||
1209 |
D, |
M |
; |
данные, |
||||||||
соответствующие |
в В |
|||||||||||
старшему |
байту |
|||||||||||
; |
подпрогрс1Мма |
|||||||||||
F1 |
PGP |
PSW |
; |
подпрогрг1Мма |
||||||||
1210 |
; PSW из |
стека |
||||||||||
D1 |
POP |
D |
("со стека") |
|||||||||
1211 |
; DE из |
стека |
||||||||||
1212 |
Е1 |
POP |
H |
; PC из |
стека |
|||||||
1213 1214 |
ЕЗ С9 |
XTHL RET END |
; HL и PC, |
|||||||||
взаимная |
замена |
|||||||||||
Глава 16. Структура, система команд и работа микропроцессора
16.20. Упражнения
Задача 16.1.
а) Перечислите виды адресации, применяемые в микропроцессо ре с 8085.
б) Объясните различные времена выполнения адресаций в ми кропроцессор 8085.
в) Что происходит при прерывании?
г) Объясните понятия «стек» и «указатель вершины стека».
д) Какие шаги реализуются командами CALL и RET при вызове подпрограммы.
Задача 16.2. Напишите программу, обеспечиваюп1;ую взаимную за мену двух чисел. Числа должны находиться в ячейках ЗУ, адреса которых стоят в парах регистров DE и HL. Сколько тактов потре буется ^\ля выполнения вашей программы? Как долго будет выпол няться ваша программа, если тактовая частота процессора равна 2 МГц?
Задача 16.3. Запишите сегмент программы, который сдвигает блок переменной длины {п байт < 255) с одной позиции в ЗУ на дру гую Зоны ЗУ не должны перекрываться. Количество подлежащих сдвигу байтов должно стоять в регистре В. В регисторной паре HL должен быть загружен первый адрес подлежаш;его сдвигу блока в регисторную пару DE первый адрес нового блока.
Задача 16.4. Напишите подпрограмму, которая подсчитывает ко личество единиц в накапливаюп1;ем регистре. В заключение коли чество единиц должно быть передано в накапливаюш;ий регистр, соответствуюш;ий главной программе.
A.l. Индикация функций 403
Логические символы следующей таблицы лежат внутри обрамле ния символа. С помощью этого делаются высказывания о внутрен нем логическом состоянии схемы.
Символ |
Функция |
-^h |
Буферный выход: изменение только при достижении |
первоначального состояния входа |
|
\и |
Вход с гистерезисом |
^ |
Выход с открытым коллектором п-р-п-транзистора |
оВыход с открытым эмиттером р-гг-р-транзистора
V |
Выход типа tri-state |
||
EN |
Выход разрешающий |
||
J, к, R, S, D, Т |
Входы триггеров: обычное значение букв |
||
-^т |
— <—/я |
Входы, определяющие сдвиг вправо или сдвиг влево |
|
в сдвиговом регистре, т £ N^ т = 1 как правило не |
|||
:} |
указывается |
||
~П |
Двоичный входной вектор со значениями от 0 до п. п |
||
является второй степенью значения старшего бита. |
|||
СТ=15 |
Устанавливающий входной сигнал, заданное значение |
||
загружается, если вход активен |
|||
СТ=15 |
Выход переходит в состояние «?», если регистр при |
||
нимает заданное значение |
|||
"1" |
Выход с постоянным значением |
||
Группа сигналов, образующих единый логический |
|||
:::Е |
вход |
||
фронте |
|||
Внутреннее соединение: активно при положительном |
|||