User Tag List

Страница 12 из 18 ПерваяПервая ... 8910111213141516 ... ПоследняяПоследняя
Показано с 111 по 120 из 175

Тема: Контроллер НМЛ СМ5300.01

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,671
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    И если в этот момент нажать "P" ( ничего дополнительно не записывая в 176730 ) - то ленту прочитает ?
    - Нет, не прочитает...
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если после нажатия "P" лента не читается - значит всё идёт в рамках ранее определённой нами логики контроллера: нет бита 200 в регистре 176732 - значит первый код команды чтения ( 33407 ) контроллером не выполнен.

    Теперь нужно понять, почему контроллер не выполняет первый код команды чтения.

    В драйвере ПЗУ - команды

    Mov #33407,@#176732
    Mov #1,@#176730

    идут прямо друг за другом.

    Поэтому здесь большая задержка точно не нужна.

    Возможно, как-то "мешается" предыдущее непрочитанное значение в 176732. И из-за этого код команды с первого раза не проходит.

    Чтобы это проверить - предлагаю повторить прогон ещё раз. При этом - после останова по адресу 01060:

    1. Открыть 176732
    2. Открыть 176730
    3. Записать 1 в 176730
    Подождать пару секунд.
    4. Открыть 176732
    5. Нажать "P"

    Идея в том, чтобы проверить, установится ли бит 0200 в регистре 176732 после ручной записи "1" в регистр 176730.

  4. #3

    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,671
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сейчас проверю..

    ---------- Post added at 01:38 ---------- Previous post was at 01:23 ----------

    @
    @1000G 001060
    @176732/000066
    @176730/000040 1 (Прочитал ленту)
    @176732/000200
    @
    @20000/000000
    @P 001122
    @20000/000001
    020002/000666
    020004/000666
    @
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ

  5. #4

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Теперь слегка модифицируем нашу программу, чтобы подавать первый код команды вручную.

    Код:
    001000/005000
    001002/012701
    001004/020000
    001006/012702
    001010/176730
    001012/012703
    001014/176732
    001016/032712
    001020/000040
    001022/001001
    001024/000000
    001026/012713 / 000
    001030/000007 / 240
    001032/012712 / 240
    001034/000001 / 240
    001036/032712
    001040/000040
    001042/001775
    001044/032712
    001046/000010
    001050/001406
    001052/111304
    001054/100401
    001056/000000
    001060/006204
    После запуска программа выполнит останов по адресу 01030, после чего нужно вручную:

    1. Записать "7" в регистр 176732
    2. Записать "1" в регистр 176730
    3. Нажать "P"
    Последний раз редактировалось Patron; 05.04.2011 в 23:48.

  6. #5

    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,671
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    @
    @1000G 001030
    @176732/000066 7
    @176730/000040 1 (Прочитал ленту)
    @P 001122
    @20000/000001
    020002/000666
    020004/000666
    @
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ

  7. #6

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Значит, есть только два варианта "улучшения" нашей реализации алгоритма чтения:

    1. Читать 176732 перед записью.
    2. Вставить для задержки пару команд типа Cmp @#0,@#0 между записью 7 в 176732 и 1 в 176730.

    Для проверки каждого из вариантов нужен свой вариант программы.

    Сделаю их завтра :)

  8. #7

    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,671
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хорошо, спасибо!
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ

  9. #8

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот новая версия программы:

    Код:
    	.NList	SEQ, LOC
    
    	TPS =: 176730
    	TPD =: 176732
    
    	Buffer =: 20000
    
    Start:
    
    	Clr	R0		; 005000 
    	Mov	#Buffer, R1	; 012701 
    				; 020000
    	Mov	#TPS, R2		; 012702 
    				; 176730
    	Mov	#TPD, R3		; 012703 
    				; 176732
    	BiT	#40, (R2)	; 032712 
    				; 000040
    	BNE	1$		; 001001 
    	Halt			; 000000 
    1$:
    	MovB	(R3), R4		; 111304 
    	Cmp	@#240,@#240	; 023737 
    				; 000240
    				; 000240
    	Mov	#7, (R3)		; 012713 
    				; 000007
    	Cmp	@#240,@#240	; 023737 
    				; 000240
    				; 000240
    	Mov	#1, (R2)		; 012712 
    				; 000001
    2$:
    	BiT	#40, (R2)	; 032712 
    				; 000040
    	BEq	2$		; 001775 
    	BiT	#10, (R2)	; 032712 
    				; 000010
    	BEq	7$		; 001406 
    	MovB	(R3), R4		; 111304 
    	BMi	6$		; 100401 
    	Halt			; 000000 
    6$:
    	ASR	R4		; 006204 
    	BCC	7$		; 103001 
    	Halt			; 000000 
    7$:
    	Mov	#2, (R3)		; 012713 
    				; 000002
    	Mov	#1, (R2)		; 012712 
    				; 000001
    4$:
    	BiT	#60, (R2)	; 032712 
    				; 000060
    	BNE	3$		; 001006 
    	BiT	#10, (R2)	; 032712 
    				; 000010
    	BEq	4$		; 001772 
    	MovB	(R3), (R1)+	; 111321 
    	Inc	R0		; 005200 
    	Br	4$		; 000767 
    3$:
    	Halt			; 000000 
    
    	.End	Start
    ;
    Кстати, вполне возможно, что после чтения блока ленты в буфер контроллера командой "7" - содержимое буфера можно читать в компьютер командой "2" больше одного раза.

    Это тоже нужно будет проверить.

    ...

    В настоящее время нам известны следующие коды команд:
    Код:
    00 - сброс контроллера (?)
    01 - ...
    02 - чтение буфера контроллера
    03 - перемотка ленты на начало
    04 - запись маркера "Tape Mark"
    05 - ...
    06 - ...
    07 - чтение блока ленты в буфер
    10 - перемотка ленты на файл назад
    11 - перемотка ленты на файл вперёд
    12 - перемотка ленты на блок назад
    13 - перемотка ленты на блок вперёд
    Последний раз редактировалось Patron; 06.04.2011 в 16:49.

  10. #9

    Регистрация
    29.01.2009
    Адрес
    Казахстан, Алматы
    Сообщений
    1,671
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Вот новая версия программы:
    - А можно ее в кодах?
    Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ

  11. #10

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Похоже, что при записи всех магнитных лент такого типа используется общий формат файлов, описанный в стандарте ANSI Standard X3.27–1978, File Structure and Labeling of Magnetic Tapes for Information Interchange.

    Операционные системы фирмы DEC используют подмножество этого стандарта с ограничением на размер блока в 512 байт.

    Код:
            ВСЯ ИНФОРМАЦИЯ НА МАГНИТНОЙ ЛЕНТЕ РАСПОЛОЖЕНА В  ЛОГИ-
       ЧЕСКИХ БЛОКАХ.
    
            МАГНИТНАЯ ЛЕНТА  В  СИСТЕМЕ  ИМЕЕТ  СТАНДАРТНЫЙ  НАБОР
       МЕТОК, КОТОРЫЙ НЕОБХОДИМ ДЛЯ УПРАВЛЕНИЯ ДАННЫМИ.  В  МЕТКАХ
       НАХОДИТСЯ ИНФОРМАЦИЯ, ИСПОЛЬЗУЕМАЯ ДЛЯ КОНТРОЛЯ.  НАПРИМЕР,
       В МЕТКЕ МОЖЕТ СОДЕРЖАТЬСЯ ЧИСЛО БЛОКОВ В ФАЙЛЕ. ПОСЛЕ РАБО-
       ТЫ С ФАЙЛОМ  МОЖЕТ  БЫТЬ  ПРОИЗВЕДЕНА  ПРОВЕРКА  КОЛИЧЕСТВА
       ИМЕЮЩИХСЯ В ФАЙЛЕ БЛОКОВ С УКАЗАННЫМ В МЕТКЕ.  НЕСОВПАДЕНИЕ
       ЭТИХ ДВУХ ЗНАЧЕНИЙ В НЕКОТОРЫХ СЛУЧАЯХ УКАЗЫВАЕТ НА  ОШИБКУ
       ПРИ ОБРАБОТКЕ ФАЙЛА.
    
            СТАНДАРТНЫЕ МЕТКИ:
    
       МЕТКА ТОМА (VOL1)
              - МАГНИТНАЯ ЛЕНТА В СИСТЕМЕ ИМЕЕТ ТОЛЬКО  ОДИН  ТОМ;
                НЕ ИСПОЛЬЗУЕТСЯ  МЕТКА  КОНЦА  ТОМА  EOV,  ПОЭТОМУ
                НЕЛЬЗЯ РАСПОЛАГАТЬ ФАЙЛ НА ДВУХ ЛЕНТАХ;
    
       ЛЕНТОЧНЫЙ МАРКЕР (*)
              - МЕТКИ ОТ ДАННЫХ ОТДЕЛЯЮТСЯ ЛЕНТОЧНЫМ МАРКЕРОМ; ДВА
                ЛЕНТОЧНЫХ МАРКЕРА ОЗНАЧАЮТ ЛОГИЧЕСКИЙ КОНЕЦ ЛЕНТЫ;
    
       МЕТКА НАЧАЛА ФАЙЛА (HDR1)
              - МЕТКА СОДЕРЖИТ ВСЮ НЕОБХОДИМУЮ ИНФОРМАЦИЮ О ФАЙЛЕ,
                ЗА ИСКЛЮЧЕНИЕМ ДЛИНЫ ФАЙЛА; ДЛИНА ФАЙЛА РАВНА 0;
    
       МЕТКА КОНЦА ФАЙЛА (EOF1)
              - МЕТКА ПОЛНОСТЬЮ ПОВТОРЯЕТ ИНФОРМАЦИЮ, СОДЕРЖАЩУЮСЯ
                В МЕТКЕ HDR1, ЗА ИСКЛЮЧЕНИЕМ  ДЛИНЫ  ФАЙЛА;  ДЛИНА
                РАВНА ЧИСЛУ БЛОКОВ ДАННЫХ;
    
       МЕЖБЛОЧНЫЙ ПРОМЕЖУТОК
              - СЛУЖЕБНАЯ ЗАПИСЬ, РАЗДЕЛЯЮЩАЯ БЛОКИ  ДАННЫХ  МЕЖДУ
                СОБОЙ; НЕОБХОДИМА ДЛЯ РАЗГОНА  И  ОСТАНОВА  БОБИНЫ
                МАГНИТНОЙ ЛЕНТЫ ПРИ СЧИТЫВАНИИ ИЛИ ЗАПИСИ ИНФОРМА-
                ЦИИ.
    
            СИСТЕМНЫЕ ПРОГРАММЫ DIR, DUP, PIP И Т.Д.  ОСУЩЕСТВЛЯЮТ
       ЗАПИСЬ НА ЛЕНТУ ИЛИ СЧИТЫВАНИЕ ПОБЛОЧНО, Т.Е.  ЗАПИСЯМИ  ПО
       512 БАЙТ.
    
            ФАЙЛ, СОЗДАННЫЙ НА МАГНИТНОЙ ЛЕНТЕ, ИМЕЕТ ВИД:
    
           HDR1 * ДАННЫЕ * EOF1 *
    
            ТОМ, СОДЕРЖАЩИЙ ОДИН ФАЙЛ, ИМЕЕТ ФОРМАТ:
    
           VOL1 HDR1 * ДАННЫЕ * EOF1 * * *
    
            ТОМ, СОДЕРЖАЩИЙ ДВА ФАЙЛА, ИМЕЕТ ФОРМАТ:
    
           VOL1 HDR1 * ДАННЫЕ * EOF1 * HDR1 * ДАННЫЕ * EOF1 * * *
    
            МАГНИТНАЯ ЛЕНТА, КОТОРАЯ БЫЛА ИНИЦИАЛИЗИРОВАНА,  ИМЕЕТ
       СЛЕДУЮЩИЙ ФОРМАТ:
    
           VOL1 HDR1 * * EOF1 * * *
    
            НАЧАЛЬНЫЙ ЗАГРУЗЧИК МАГНИТНОЙ ЛЕНТЫ ТОМА ИМЕЕТ ФОРМАТ:
    
           VOL1 МBOOT  HDR1 * ДАННЫЕ * EOF1 * * *
    
            ПРИ  СОЗДАНИИ  ЗАГРУЗЧИКА  НА  МАГНИТНОЙ  ЛЕНТЕ   ФАЙЛ
       MBOOT.BOT (ПЕРВИЧНЫЙ ЗАГРУЗЧИК) ДОЛЖЕН  ИСПОЛЬЗОВАТЬСЯ  ДЛЯ
       КОПИРОВАНИЯ ВТОРИЧНОГО ЗАГРУЗЧИКА МАГНИТНОЙ  ЛЕНТЫ.  ПЕРВЫЙ
       ФАЙЛ, КОТОРЫЙ ДОЛЖЕН БЫТЬ ЗАПИСАН ПОСЛЕ ПЕРВИЧНОГО  ЗАГРУЗ-
       ЧИКА (МBOOT), ЭТО MSBOOT.BOT,  КОТОРЫЙ  СОДЕРЖИТ  ВТОРИЧНЫЙ
       ЗАГРУЗЧИК МАГНИТНОЙ  ЛЕНТЫ.  ПЕРВИЧНЫЙ  ЗАГРУЗЧИК  ЗАНИМАЕТ
       ОДИН БЛОК (512 БАЙТОВ).
    
            КАЖДАЯ МЕТКА НА МАГНИТНОЙ ЛЕНТЕ ИСПОЛЬЗУЕТ ТОЛЬКО ПЕР-
       ВЫЕ 80 БАЙТОВ (ИЗ ЗАНИМАЕМЫХ 512 БАЙТОВ), И КАЖДЫЙ  БАЙТ  В
       МЕТКЕ СОДЕРЖИТ ИНФОРМАЦИЮ В  СИМВОЛЬНОМ  КОДЕ.  ИНФОРМАЦИЯ,
       СОДЕРЖАЩАЯСЯ В МЕТКЕ ТОМА, ПРЕДСТАВЛЕНА В ТАБЛ. 9.
    
                                                     ТАБЛИЦА 9
    
                    ФОРМАТ МЕТКИ ТОМА (VOL1)
    
       -------------------------------------------------------
                 !        !ДЛИНА !      ЗНАЧЕНИЕ ПОЛЯ
        ПОЗИЦИЯ  !ИМЯ ПОЛЯ!ПОЛЯ, ! (ПО УМОЛЧАНИЮ ЗАПИСЫВАЕТСЯ
         ПОЛЯ    !        !БАЙТЫ !      В КОДЕ КОИ-7)
       -------------------------------------------------------
                 !ИДЕНТИ- !  3   !
                 !ФИКАТОР !      !
         1 -  3  ! (ID)   !      !           VOL
                 ! МЕТКИ  !      !
       ----------!--------!------!----------------------------
              4  ! НОМЕР  !  1   !            1
                 ! МЕТКИ  !      !
       ----------!--------!------!----------------------------
                 !        !      ! RAFOS, ЗА КОТОРЫМ СЛЕДУЕТ
         5 - 10  ! ID ТОМА!  6   ! ОДИН ПРОБЕЛ (МЕТКА ТОМА),
                 !        !      ! ЕСЛИ НЕТ, ТО ID ТОМА
       ----------!--------!------!----------------------------
             11  !        !  1   !          ПРОБЕЛ
       ----------!--------!------!----------------------------
                 !   НЕ   !      !
        12 - 37  ! ИСПОЛЬ-! 26   !          ПРОБЕЛЫ
                 ! ЗУЕТСЯ !      !
       ----------!--------!------!----------------------------
        38 - 50  !ID ПОЛЬ-! 13   ! С 38 ПО 40  ID  D&B;
                 !ЗОВАТЕЛЯ!      ! С 41 ПО 50  ID ПОЛЬЗОВАТЕЛЯ
                 !        !      ! ИЛИ ПРОБЕЛЫ
       ----------!--------!------!----------------------------
                 !СТАНДАР-!      !
             51  ! ТНАЯ   !  1   !            1
                 ! ВЕРСИЯ !      !
                 ! СИСТЕМЫ!      !
       ----------!--------!------!----------------------------
                 !   НЕ   !      !
        52 - 79  !ИСПОЛЬ- ! 28   !          ПРОБЕЛЫ
                 ! ЗУЕТСЯ !      !
       ----------!--------!------!----------------------------
                 !СТАНДАР-!      !
             80  !  ТНАЯ  !  1   !            3
                 ! ВЕРСИЯ !      !
                 !  МЕТКИ !      !
    
            ИНФОРМАЦИЯ, СОДЕРЖАЩАЯСЯ В МЕТКЕ ФАЙЛА, ПРЕДСТАВЛЕНА В
       ТАБЛ. 10.
    
                                                     ТАБЛИЦА 10
    
                     ФОРМАТ МЕТКИ ФАЙЛА (HDR1)
    
       -------------------------------------------------------
                 !         !ДЛИНА !      ЗНАЧЕНИЕ ПОЛЯ
        ПОЗИЦИЯ  !ИМЯ ПОЛЯ !ПОЛЯ, !(ПО УМОЛЧАНИЮ ЗАПИСЫВАЕТСЯ
         ПОЛЯ    !         !БАЙТЫ !      В КОДЕ КОИ-7)
       -------------------------------------------------------
         1 -  3  !ID МЕТКИ !   3  !          HDR
       ----------!---------!------!---------------------------
              4  ! НОМЕР   !   1  !           1
                 ! МЕТКИ   !      !
       ----------!---------!------!---------------------------
         5 - 21  !ID ФАЙЛА !  17  !   ИМЯ, РАЗДЕЛИТЕЛЬ (".")
                 !         !      !         И ТИП
       ----------!---------!------!---------------------------
        22 - 27  !ID ЗАПИСИ!   6  ! RAFOS, ЗА КОТОРЫМ СЛЕДУЕТ
                 ! ФАЙЛА   !      !        ОДИН ПРОБЕЛ
       ----------!---------!------!---------------------------
                 ! НОМЕР   !      !
        28 - 31  ! СЕКЦИИ  !   4  !         0001
                 ! ФАЙЛА   !      ! (В ВОСЬМЕРИЧНОМ ВИДЕ)
       ----------!---------!------!---------------------------
                 !ПОРЯДКО- !      !  ПЕРВЫЙ ФАЙЛ ИМЕЕТ НОМЕР
        32 - 35  !ВЫЙ НОМЕР!   4  !  0001; НОМЕР СЛЕДУЮЩЕГО
                 ! ФАЙЛА   !      !  ФАЙЛА УВЕЛИЧИВАЕТСЯ НА 1;
                 !         !      !  ПОСЛЕ ИНИЦИАЛИЗАЦИИ ЛЕНТЫ
                 !         !      !  ЕГО ЗНАЧЕНИЕ РАВНО 0000
                 !         !      ! (В ВОСЬМЕРИЧНОМ ВИДЕ)
       ----------!---------!------!---------------------------
                 ! НОМЕР   !      !         0001
        36 - 39  !ГЕНЕРАЦИИ!   4  ! (В ВОСЬМЕРИЧНОМ ВИДЕ)
       ----------!---------!------!---------------------------
                 ! ВЕРСИЯ  !      !          00
        40 - 41  !ГЕНЕРАЦИИ!   2  ! (В ВОСЬМЕРИЧНОМ ВИДЕ)
       ----------!---------!------!---------------------------
                 !  ДАТА   !      ! ПРОБЕЛ, ЗА КОТОРЫМ СЛЕДУ-
        42 - 47  !СОЗДАНИЯ !   6  !  ЕТ (ГОД * 1000 + ДЕНЬ)
       ----------!---------!------!---------------------------
                 !  ДАТА   !      ! ПРОБЕЛ, ЗА КОТОРЫМ СЛЕДУЮТ
        48 - 53  !ОКОНЧАНИЯ!   6  !         ПЯТЬ НУЛЕЙ
       ----------!---------!------!---------------------------
             54  ! МЕТОД   !   1  !         ПРОБЕЛ
                 ! ДОСТУПА !      !
       ----------!---------!------!---------------------------
        55 - 60  ! СЧЕТЧИК !   6  !         000000
                 ! БЛОКОВ  !      ! (В ВОСЬМЕРИЧНОМ ВИДЕ)
       ----------!---------!------!---------------------------
        61 - 73  !   КОД   !  13  !        INERAFOS
                 ! СИСТЕМЫ !      !
       ----------!---------!------!---------------------------
                 !   НЕ    !      !
        74 - 80  ! ИСПОЛЬ- !   7  !         ПРОБЕЛЫ
                 ! ЗУЕТСЯ  !      !
    
    
            ПРИМЕЧАНИЕ. ДАТА СОЗДАНИЯ (DAT) ЗАПОМИНАЕТСЯ СЛЕДУЮЩИМ
       ОБРАЗОМ:
     
                 DAT = Г * 1000 + Д                   (4.4)
    
       ГДЕ
    
       Г      - ГОД;
    
       Д      - КОЛИЧЕСТВО ДНЕЙ ОТ НАЧАЛА ГОДА.
    
            НАПРИМЕР, ДАТА 5.05.83. БУДЕТ ПРЕДСТАВЛЕНА В ВИДЕ
    
           83 * 1000 + (31 + 28 + 31 + 30 + 5) = 83125
    
       ЕСЛИ ДАТА ОТСУТСТВУЕТ, ТО ДАННЫЕ ПОЗИЦИИ ЗАПОЛНЯЮТСЯ НУЛЯМИ
       (ПРИЧЕМ, ПЕРВЫМ СТОИТ ОДИН ПРОБЕЛ, ЗА КОТОРЫМ СЛЕДУЮТ  ПЯТЬ
       НУЛЕЙ).
    
            МЕТКА КОНЦА ФАЙЛА (EOF1) ТОЧНО ТАКАЯ ЖЕ, КАК  И  МЕТКА
       НАЧАЛА ФАЙЛА  (HDR1),  ЗА  ИСКЛЮЧЕНИЕМ  НЕСКОЛЬКИХ  БАЙТОВ,
       КОТОРЫЕ УКАЗАНЫ В ТАБЛ. 11.
    
                                                     ТАБЛИЦА 11
    
                 СТРУКТУРА МЕТКИ КОНЦА ФАЙЛА (EOF1)
       -------------------------------------------------------
                 !        !ДЛИНА !      ЗНАЧЕНИЕ ПОЛЯ
        ПОЗИЦИЯ  !ИМЯ ПОЛЯ!ПОЛЯ, ! (ПО УМОЛЧАНИЮ ЗАПИСЫВАЕТСЯ
         ПОЛЯ    !        !БАЙТЫ !      В КОДЕ КОИ-7)
       -------------------------------------------------------
         1 -  3  !ID МЕТКИ!  3   !          EOF
       ----------!--------!------!----------------------------
                 !        !      !КОЛИЧЕСТВО БЛОКОВ ДАННЫХ,
                 !        !      !СОДЕРЖАЩИХСЯ В ФАЙЛЕ (ЕСЛИ
        55 - 60  ! СЧЕТЧИК!  6   !ФАЙЛ НЕ СОЗДАН МАКРОКОМАНДОЙ
                 ! БЛОКОВ !      !.SPFUN); ПРИ СОЗДАНИИ ФАЙЛА
                 !        !      !МАКРОКОМАНДОЙ .SPFUN СЧЕТЧИК
                 !        !      !РАВЕН НУЛЮ; ЕСЛИ .SPFUN ПРИ
                 !        !      !ЗАПИСИ ИСПОЛЬЗУЕТ БЛОКИ ПО
                 !        !      !256 (ДЕСЯТИЧНОЕ) СЛОВ, ТО
                 !        !      !СЧЕТЧИК БЛОКОВ УСТАНАВЛИВА-
                 !        !      !ЕТСЯ КАК ОБЫЧНО

Страница 12 из 18 ПерваяПервая ... 8910111213141516 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. ZX-MMC контроллер
    от Orionsoft в разделе Внешние накопители
    Ответов: 17
    Последнее: 12.05.2019, 17:11
  2. Контроллер FD-051
    от Giraffe в разделе MSX
    Ответов: 77
    Последнее: 15.05.2016, 02:23
  3. Контроллер TR-DOS
    от Zloy в разделе Внешние накопители
    Ответов: 13
    Последнее: 21.11.2015, 17:21
  4. Контроллер TR-DOS
    от Sentenced в разделе Внешние накопители
    Ответов: 15
    Последнее: 25.09.2010, 22:47
  5. Контроллер FDD TR-DOS
    от Zloy в разделе Внешние накопители
    Ответов: 2
    Последнее: 20.06.2007, 11:25

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •