ОПЕРАЦИИ ПЕРЕДАЧИ ДАННЫХ

        ЦИКЛ "ЧТЕНИЕ-МОДИФИКАЦИЯ-ЗАПИСЬ"

   В цикле "Чтение-Модификация-Запись" выполняется операция чтения,
преобразование данных в АЛУ и запись данных по тому же адресу. Адресный строб AS# остается активным в течение всего цикла, делая цикл неделимым. Инструкция проверки и установки TAS (Test And Set) использует этот цикл для обеспечения совместимости по сигналам без взаимной блокировки процессоров в многопроцессорной системе. Инструкция TAS (единственная, использующая цикл "Чтение-Модификация-Запись") работает только с байтами. Таким образом, все циклы "Чтение-Модификация-Запись" являются байтовыми операциями. На рис.5.8 и 5.9 соответственно показаны блок-схема и временные диаграммы цикла "Чтение-Модификация-Запись". Это применимо к MC68000, MC68HC000, MC68HC001 (в 16-битном режиме), MC68EC000 (в 16-битном режиме) и MC68010. Цикл "Чтение-Модификация-Запись" содержит следующие состояния.
   СОСТОЯНИЕ 0. Цикл чтения начинается в S0. Процессор помещает соответствующий функциональный код на выводы FC2-FC0 и формирует на R/W# высокий уровень, чем идентифицирует цикл чтения.
   СОСТОЯНИЕ 1. Входя в S1, процессор выдает необходимый адрес на шину адреса.    СОСТОЯНИЕ 2. По фронту S2 процессор генерирует AS# и LDS# или UDS#.
   СОСТОЯНИЕ 3. Сигналы на шине не изменяются.
   СОСТОЯНИЕ 4. В S4 процессор ожидает сигнала прекращения цикла (DTACK# или BERR#) или VPA#. Когда VPA# активен в S4, цикл становится периферийным циклом (приложение Б). Если до окончания S4 ни один сигнал о прекращении не получен, процессор добавляет состояния ожидания полные такты синхронизации) до прихода DTACK# или BERR#. СОСТОЯНИЕ 5. Сигналы на шине не изменяются.
   СОСТОЯНИЕ 6. В состоянии S6 данные от устройства выставляются на шину данных.    СОСТОЯНИЕ 7. По срезу такта S7 процессор принимает данные от устройства и снимает сигналы LDS# и UDS#. В это время устройство снимает сигналы DTACK# или BERR#.    СОСТОЯНИЯ 8-11. Сигналы на шине не изменяются. АЛУ производит необходимые преобразования над данными.
   СОСТОЯНИЕ 12. В S12 начинается часть цикла, связанная с записью. Соответствующие функциональные коды выдаются на FC2-FC0, линии адресной шины, AS# и R/W# остаются неизменными.
   СОСТОЯНИЕ 13. Сигналы на шине не изменяются.
   СОСТОЯНИЕ 14. По фронту такта S14 процессор устанавливает на R/W# низкий уровень.    СОСТОЯНИЕ 15. Шина данных переводится из состояния высокого импеданса, и на нее выставляются записываемые данные.
    СОСТОЯНИЕ 16. По фронту S16 процессор выставляет LDS# или UDS# и ожидает прихода сигналов DTACK# или BERR# или VPA#. Когда сигнал VPA# активен во время S4, цикл становится периферийным циклом. Если ни один сигнал о прекращении не получен до окончания S16, процессор вводит состояния ожидания (полные такты синхронизации) до прихода DTACK# или BERR#.
    СОСТОЯНИЯ 17, 18. Сигналы на шине не изменяются.
    СОСТОЯНИЕ 19. По срезу тактового импульса при входе в S19 процессор снимает сигналы AS#, LDS# и UDS#. По фронту такта в конце S19 процессор переводит шины адреса и данных в состояние высокого импеданса и устанавливает высокий уровень на R/W#. В это время устройство снимает DTACK# или BERR#.
далее