Доставка цветов в Севастополе: SevCvety.ru
Главная -> Появление первого микропроцессора

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 [88] 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116


1-й уровень

Рис. 6.9. Структура драйвера НГМД

командой «Чтение сектора», которая задается аналогично команде «Запись сектора» (но с другим кодом). Для перемещения информации из буфера накопителя в память МП системы служит команда «Чтение буфера», для выполнения которой необходимо в порт ПВЫ выдать код команды, а затем из порта ПВВ по каждому сигналу «Запрос передачи» прочесть 128 байт данных. После последнего байта вместо сигнала «Запрос передачи» передается сигнал «Завершено».

Структура драйвера НГМД приведена на рис. 6.9. Драйвер состоит из 9 программ. Внешние программы взаимодействуют с драйвером только через программы 3-го уровня. Побайтный обмен с накопителем выполняют программы 1-го уровня:

0004

ГОРТ ВВОДА ДАГ-1ИиХ

0005

ГОРТ ВЫВОДА ДАННЫХ

0004

ГУСК

ГОРТ СИГНА.ЧА "БУСК"

0005

ВЫБ:

ПОРТ РЕГИСТРА СОСТОЯНИЯ

F4A1 D305 F4A3 В304

F4A5 ВВОЗ F4A7 OF F4A8 ВВ F4A9 Ei20

i Т10ДТ1Р0ГРАНГ1А ВЫВОДА БАЙТА В НАКОГИТЕЛЬ. S ВХОДНОЙ Т1АРАНЕТР:(А)-ВЫВ0ЛИ«ий ЕАИТ.

; ВЫХОДННЙ TIAPAHETP: (СУ)=1-Г0ЛУЧЕН СИГНАЛ "ЗАВЕРШЕНО"» S (CY)=0 - ГОЛУЧЕН СИГНАЛ "ЗАБРОС ПЕРЕДАЧИ".

OUT ПВЫ ; ЗАГРУЗКА БАЙТА

OUT ПУСК ; ОЖИДАНИЕ ОТВЕТНЫХ СИГНАЛОВ

ПЕР1: IN СОСТ

RC ; ЕСЛИ "ЗАВЕРШЕНО"

Ml 20Н



F4AB CO RNZ ; ЕСЛИ "8АПР0С ПЕРЕДАЧИ"

F4AC C3A5F4 JHP ПЕР1

БББ:

S ПОДПРОГРАКНА ПРИЕНА БАЙТА ИЗ НАКОПИТЕЛЯ. 5 ВЫХОДНЫЕ ПАРАНЕТРЫ: (А)-ПРИНЯТЫЙ ЕАЙТ, (CY) = 1»ЕСЛИ ; ПОЛУЧЕН СИГНАЛ "ЗАВЕРШЕНО", (CY) = 0. ЕСЛИ - "ЗАПРОС 5 ПЕРЕДАЧИ-.

J ввод БАЙТА ИЗ НАКОПИТЕЛЯ F4AF BB04 IN ПВБ

F4B1 D304 OUT ПУСК

F4B3 5F HOV Е,А

J ОЖИДАНИЕ СИГНАЛОВ "ЗАВЕРШЕНО" ИЛИ "ЗАПРХ ПЕРЕДАЧИ" F4B4 CBA5F4 CALL ПЕР1

F4B7 ТВ HOV А,Е

F4B8 С9 RET

ВЫКОМ:

: ПОДПРОГРАННА ВЫДАЧИ КОМАНДЫ Б НАКОПИТЕЛЬ.

; ПАРАМЕТРЫ: (С) - КОД КОМАНДЫ, МУСТ - НОНЕР ДИСКОВОГО

; УСТРОЙСТВА.

; ФОРНИРОВАНИЕ БАЙТА С КОДОМ КОМАНДЫ F4B9 3A54F5 LDA NyCT

F4EC 07 RLC

F4BD 07 RLC

F4EE 07 RLC

F4BF 07 RLC

F4C0 El ORA С

; ВЫДАЧА В НАКОПИТЕЛЬ F4C1 C3A1F4 JHP ВЫБ

Программа ВЫБ управляет выводом байта в накопитель. Байт загружается в порт ПВЫ, после чего генерируется сигнал «Пуск» путем выполнения команды OUT ПУСК. Возврат из программы выполняется только при наличии сигналов «Завершено» или «Запрос передачи». Программа ВВБ производит ввод байта из накопителя. Сначала выдается сигнал «Пуск», а затем происходит ожидание сигналов «Завершено» или «Запрос передачи». Для организации этого ожидания с помощью команды CALL вызывается соответствующий фрагмент подпрограммы ВЫБ. Затем из порта ПВВ вводится байт. Программа вывода команды (ВЫКОМ) обеспечивает установку в заданной команде бита номера устройства в соответствии с содержимым ячейки NyCT.

Выполнение основных функций накопителя обеспечивают подпрограммы 2-го уровня драйвера:



ЫШУФг

i ПОДПРОГРАММА ЧТЕНИЯ БУФЕРА НАКОПИТЕЛЯ В ПАМЯТЬ. ; входной ПАРАМЕТРI АЕУФ-АДРЕС БУФЕРА В ПАМЯТИ. ; выходной ПАРАМЕТР: (А) - СТАТУС ЗАВЕРШЕНИЯ.

; ВЫДАЧА ЕАИТА КОМАНДЫ

F4C4 0е02

с.2 ; (с)-код команды чтения буфера

г4с6 СГ1Е9Е4

call

быком

F4C9 ВАЕЕГ-Ч

ПЕРг ! если "завершено"

прием 128 БАЙТ из буфера накопителя в память

F4CC гАЬУЬ

lhld

АБУФ

r-4CF 067f

Вт 127

f4d1 ceaff4

циклз: call

f4b4 daeef4

пер2 ; если "завершено"

f4b7 7?

f4bb 23

f4d9 05

f4da c2b1f4

циклз

f4bb cbaff4

call

f4e0 в2еее4

пер2 ; если нет "завершено"

f4e3 77

; проверка сигнала "ошиека"

f4e4 db05

пров: in

сост

f4e6 е602

f4e8 c2ebf4

пер2 ; если "ошиека"

; возврат при усггешнрм загсршении

f4ee af

F4EC с9

; возврат при аварийном завершении

г4еп 3eff

ПЕРг: mui

а.offh

f4ef е7

А .

f4f0 с9

еыеуф:

; подпрограмма

записи информации в буфер накопителя.

? входной ПАРАМЕТР: АЕУф-АДРЕС ЕУФЕРА В ПАМЯТИ. ; выходной ПАРАМЕТР! (А)-СТАТУС ЗАРЕРШЕНИЯ.

; ВЫДАЧА ЕАИТА

КОМАНДЫ

F4F1 ОЕОО

; (С)-код КОМАНДЫ ЗАПИСИ

F4F3 CBB9F4

CALL

ВЫКОМ

F4FU IiAEriF4

ПЕР2

; ЕСЛИ "ЗАВЕРШЕН!)"

; ПЕРЕДАЧА 128 ЕАИТ ИЗ ПАМЯТИ В БУФЕР НАКОПИТЕЛЯ

f4f9 2АЬЛЬ

LHLE

АЕУФ

F4FC 067F

E.127

f4fe 7Е.

ЦИКЛ4: мои

F4FF CEA1F4

CALL

F502 ПАЕЕР4

ПЕР2

; ЕСЛИ "ЗАВЕРШЕНО"

F505 23

F506 05

F507 C2FEF4

ЦИКЛ4

F50A 7Е

F50B CriAlF4

CALL

F50E E2EEF4

ПЕР2

; ЕСЛИ НЕТ "ЗАВЕРШЕНО"

F511 C3E4F4

ПРОВ



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 [88] 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116



0.0109
Яндекс.Метрика