Пр о ц е с с о р TMS 3 2 0C4 x
62
Пример вывода:
загружаются адресные регистры;
разрешается работа выходного буфера порта;
загружается маска для выделения одного бита в регистре управления;
проверяется уровень выходного FIFO буфера;
единица в проверяемом разряде означает, что выходной буфер заполнен пол-
ностью, цикл вывода завершается;
в противном случае производится передача данных из памяти в выходной
буфер и переход на проверку.
Запись в выходной буфер увеличивает на единицу уровень выходного FIFO бу-
фера (OUTPUT LEVEL).
Пример вывода в коммуникационный порт с проверкой уровня выходного FIFO
.
LDPK
P0_CTR
; загрузка указателя страницы DP
.
LDA
@P0_CTR, AR2
; адрес регистра управления порта
LDA
@P0_OUT, AR0
; адрес вsходного буфера порта
LDA
@IRAM, AR1
; адрес памяти данных
AND3
0EFH, R9
;
STI
R9,
AR2
; разрешение выходного канала порта
LDI
0100H, R9
; маска для проверки уровня выходного FIFO
WAIT: TSTB
AR2, R9
; проверка
BNZ
EXIT
; если буфер заполнен, завершить вывод
LDI
AR1++(1), R10
; чтение данных
STI
R10,
AR0
; вывод в порт
BU
WAIT
; переход на проверку
EXIT
2.1.2. Ввод/вывод по прерываниям
Ввод/вывод по прерываниям осуществляется по инициативе внешнего
устройства (порта или канала ПДП). Алгоритм работы процессора при обмене
по прерываниям показан на рис.2.2. Режим характеризуется отсутствием потерь
времени процессора на ожидание готовности порта. После инициализации пре-
рываний процессор может выполнять полезную работу (в отличие от “беспо-
лезного” ожидания готовности). При этом аппаратное прерывание, возникаю-
щее при готовности порта к обмену данными, заставляет процессор на время
отложить выполнение текущей программы и перейти на подпрограмму обмена
данными с портом (обработчик прерывания).
Инициализация прерываний порта заключается в установке единиц в со-
ответствующих битах регистра разрешения прерываний IIE и сбросе бита ICH
(или OCH) в регистре управления порта. Прерывания процессора разрешаются
установкой бита GIE в регистре состояния процессора.
I...,52,53,54,55,56,57,58,59,60,61 63,64,65,66,67,68,69,70,71,72,...186