Напрасно так думаешь.
Вид для печати
Да, но первое, что она делает - читает содержимое порта и выводит его на экран и только потом ты вводишь новое значение, которое по ВК записывается в порт.
Вот и выходит, что сначала ты записал РУС по МА003 ВК команду вывод (80н). А по второй команде МА000 ВК...Директива М читает!!! состояние порта А, выводит содержимое на экран, ты видишь, строку состояния ячейки памяти А000. (команда для порта "вывод", а происходит чтение из регистра А, а не запись в А)...И только потом ты туда пишешь байт FF.
Нет, ну если по заданию "записать" происходит "читать" и это считается корректно, то вопрос отпал сам собой.
Только в той тест программке, что ты набил в посте после команды "Запись" ты порты не читаешь, а записываешь.
Кстати, в таком некорректном варианте должен читаться регистр порта, если он ранее был установлен, а не ШД.
Корректировать ячейки памяти, а не порты контроллеров. Контроллеры несколько сложней организованы, нежели просто ячейки памяти. Потому я и указал на некорректность работы директивы М с контроллером ВВ55. Может из-за этого у топикстартера косяки вылезают. Вот попробует твою мини тест программку записи в порты и тогда станет всё на свое место.