Цитата Сообщение от Patron Посмотреть сообщение
Оказывается, у процессора 1801ВМ2 продолжительность выполнения команд ASH и ASHC зависит от значения первого аргумента.
Да, так и должно быть, в отличии от MUL и DIV, которые всегда исполняются за определенное количество тактов, хотя как я видел, есть исключение на 4 такта.
Цитата Сообщение от Patron Посмотреть сообщение
Не вполне понятно, почему продолжительность сдвига на -1 равна продолжительности сдвига на 0, а не на 1 - придётся дополнительно сделать тест, выводящий результаты сдвига в зависимости от аргумента.
Вот это тоже для меня интересно. На моей реальной УКНЦ также. Ну и сдвиг занимает 4 такта.

Кстати, благодаря тестам, нашел ошибочку в UKNCBTL. Там команда исполняется за один такт, а остальные просто пропускает. Но при пропуске не учитывается такт исполнения. Поэтому, если в таблице длительность NOP стоит 16 тактов, то за один такт исполняется команда, а затем 16 тактов пропускается, в реальности получается 17 тактов.