У процессора 1801ВМ1 есть и другие загадочные особенности.
1. Штраф невзаимности - имеет место всегда, когда первый аргумент не обращается к памяти, а второй обращается. Из-за этого команда CMP (R0), R0 выполняется гораздо быстрее, чем CMP R0, (R0)
А как это выглядит на шине..
Для проверки нужно сравнить две последовательности:
Код:
021000 ; CMP (R0), R0
000776 ; BR .-2.
020010 ; CMP R0, (R0)
000776 ; BR .-2.
поместив в R0 адрес BR.
...
2. Штраф второго операнда - из-за него команда TST (R0) выполняется быстрее, чем команда CMP (R0), R0
Для проверки нужно сравнить две последовательности:
Код:
005710 ; TST (R0)
000776 ; BR .-2.
021000 ; CMP (R0), R0
000776 ; BR .-2.
поместив в R0 адрес BR.