
Сообщение от
Alex_K
В результате каких экспериментов?
Вот таких:

Сообщение от
Vslav
требование на чтение не выставляется

Сообщение от
Alex_K
Не проверяют они его потому, что неизвестно состояние контроллера. Он может находится в режиме поиска маркера, и пока он его не найдет, то и чтение данных не начнется.
В режиме поиска маркера данные в регистр данных не передаются, поэтому читать регистр данных при не установленном требовании - совершенно бессмысленно.

Сообщение от
Alex_K
Потому в программах поиска синхрозоны и не проверяют бит требования, чтобы не подвиснуть на долгое время.
Нет никакой разницы - 21000 раз прочитать бит требования или 21000 раз прочитать регистр данных. Однако, программа поиска синхрозоны именно 21000 раз читает регистр данных, ни разу при этом не проверяя бит требования ( хотя бит индекса в том же самом регистре статуса программа поиска синхрозоны проверяет 21000 раз - перед каждым чтением регистра данных ):
Код:
; Пропуск не нулей при неактивном ИНДЕКСЕ
6704$: MOV #21000.,R1 ; R1 = длина дорожки в цикле
6710$: TST @R4 ; Линия ИНДЕКС активна?
BMI 6762$ ; Да
MOV @R5,R0 ; Считанное слово равно нулю?
BEQ 7014$ ; Да
INC R0 ; Считанное слово равно 177777?
BEQ 7014$ ; Да
SOB R1,6710$ ; Цикл по пропуску не нулей
BR 6666$ ; Нет дискеты - ошибка
Весьма похоже, что ни одна программа поиска синхрозоны ни в одной прошивке, работающей с ВП1-128 - не проверяет бит требования в режиме предварительного чтения.