|
Главная -> Появление первого микропроцессора 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-го уровня:
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 АЕУФ-АДРЕС БУФЕРА В ПАМЯТИ. ; выходной ПАРАМЕТР: (А) - СТАТУС ЗАВЕРШЕНИЯ. ; ВЫДАЧА ЕАИТА КОМАНДЫ
? входной ПАРАМЕТР: АЕУф-АДРЕС ЕУФЕРА В ПАМЯТИ. ; выходной ПАРАМЕТР! (А)-СТАТУС ЗАРЕРШЕНИЯ.
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 |
|