Я тут закончил разборки с железом, начинаю программировать. Сразу скажу, в таком виде, как оно есть, не годится. У меня в МК всего 64К оперативки, к тому же часть ее ннобходима для собственных нужд. Поэтому я не могу использовать буферизацию произвольного объема, а "на лету" не выйдет даже чтение. Хоть чтение uSD и быстрое, но в 10 мкс тайм-аута МПИ оно не уложится. С другой стороны, чтение действительно быстрое, поэтому тормозить его лишней проверкой в цикле нежелательно. То есть, пока, я для отладки, скорее всего, добавлю туда под метки 10$: пару команд - TSTB @R3 / BPL 10$ под первую и TSTB -2(R5) / BPL 10$ под вторую, но, по-хорошему, надо бы как-то с этим разобраться, тем более, что запись иногда (не всегда) может оказаться весьма долгой - десятки мс, а то и ближе к сотне.
Мы же, вроде-бы, планировали, все-таки, поблочный обмен. Тогда все прозрачно, отправили блок на запись и выходим, пусть многозадачка, если она есть (тот же TSX) занимается своими делами. Блок записан - прерывание, отправляем на запись следующий блок. И с чтением - прочитали очередной блок на полной скорости - 10$:MOV @R5,(R2)+ / SOB R1,10$, пустили чтение нового, пока то да сё, он уже и прочитался...