
Сообщение от
Alex_K
Как это так? При словной записи по нечетному адресу, сначала выдается нечетный адрес, а уже после данные целиком, все 16 бит.
Фрагмент программки:
Код:
432 002030 012700 000101 mov #101, R0
433 002034 012701 100476 mov #100476, R1
434
435 002040 110110 1$: movb R1, @R0
436 002042 000776 br 1$
Диаграмма выполнения на реальном 1801ВМ1А: [
]
Видно, что выдается сначала адрес 101, затем значение 037000 - это потасованное 100476 с обнуленным младшим байтом. Запись происходит при активном WTBT, система должна запись младшего байта проигнорировать.
Update: да, для словной записи по адресу 101 выдается честные 100476 (заменил в программке movb на mov). Упустил, что сигнал ta0 внутри модели уже оптимизирован, он устанавливается только при байтовой записи по нечетному адресу. То есть, словная запись всегда производится процессором одинаково, независимо от четности адреса. Натурный эксперимент на реальном ВМ1 это подтверждает.