[QUOTE=Vslav;783647]
Код:
// Как оказалось если в качестве сигнала CS используется выход
// с микросхем 1801ВП1 (в частности -037) то к моменту ниспадающего
// SYNC матрица еще не успевает декодировать адрес и РЕ-мулятор
// не получает устойчивой комбинации сигналов на входе. Поэтому
// выполняем ожидание
//
@@WaitSel:      ldr     R4, [R2, #PIO_IDR]                      // загружаем управляющие
                movs    R0, R4, lsr #(SYNC_BIT+1)               // сигналы и проверяем
                bcs.n   @@SyncFall                              // сигнал SYNC
                movs    R0, R4, lsr #(DIN_BIT+1)                // проверим активность
                bcs.n   @@WaitSel                               // сигнала DIN
                ubfx    R0, R4, #SEL1_BIT, #6                   //
                ldr     R3, [R6, R0, lsl #2]                    //
                tst     R3, R3                                  // при данной комбинации
                beq.n   @@WaitSel                               // нет доступа к ROM


Хотел бы поинтересоваться. В диаграмме адрес снимается с шины где-то одновременно с опусканием DIN, а здесь DIN ожидается и только после этого считывается адрес. В реальной системе адрес еще какое-то время висит на шине?