PDA

Просмотр полной версии : Расчёт точного времени выполнения команд различными процессорами архитектуры PDP-11.



Страницы : 1 2 [3]

Patron
19.07.2014, 15:55
точного совпадения не сделатьЕсли частота прерываний по вектору 230 будет 2048 Гц и на каждое 41-е прерывание будет эмулироваться прерывание по вектору 100, то такое эмулируемое прерывание будет иметь частоту 49.95 Гц.

form
19.07.2014, 15:58
Если частота прерываний по вектору 230 будет 2048 Гц и на каждое 41-е прерывание будет эмулироваться прерывание по вектору 100, то такое эмулируемое прерывание будет иметь частоту 49.95 Гц.

Ну как вариант...

Patron
20.07.2014, 13:16
Новая версия RT11SP ( Pro350_HX_SP2.DSK (http://emulator.pdp-11.org.ru/misc/Pro350_HX_SP2.DSK.zip) - обнаруженные ниже ошибки здесь уже исправлены ) якобы должна запускать таймер Pro350 на частоте 2048 Гц и эмулировать прерывания по вектору 100 следующим образом:



ProINT::
TST @#173030 ;Prime clock to interrupt
Dec (PC)+
Pro.DV: .Word 41.
BLE Sim.V100
RtI
Sim.V100:
Mov #41., Pro.DV
Mov @#102, -(SP)
Mov @#100, -(SP)
RtI

Поскольку разрешения прерываний у таймера Pro350 сбрасываются по RESET - в код обработки HARD EXIT добавлена инициализация периодических прерываний:



RESET

TST ProCLK
BEQ 3$

TST @#173030 ;Prime clock to interrupt
BIS #100, @#173026 ;Set PERIODIC INTERRUPT ENABLE
3$:


Так как загрузчик RT11SJ переходит в монитор по HARD EXIT - код в загрузчике устанавливает только значения, не сбрасывающиеся по RESET:



CALL @#T4SEC ;Set carry if we trap

MOV #173024, R1 ;R1 -> Pro350 Clock CSR0
MOV #2*20!5, (R1) ;Set divider control and 2048Hz
MOV #37, @#173202 ;Enable clock

MOV @#54, R2 ;<< T11NOP >>;

BCS No.CSR ;If C-bit set, CSR not there

MOV #230, R1
CALL @#PROTEC ;Protect vector 230
ADD #<ProINT-$RMON>, R2
MOV R2, (R1)+ ;Set vector 230 to ProINT
MOV #340, (R1)
BR Ok.CSR
No.CSR:
CLR <ProCLK-$RMON>(R2) ;Clear ProINT flag
Ok.CSR:
CALL @(SP)+ ;Restore traps

form
20.07.2014, 13:34
Mov @#102, -(SP)
Mov @#100, -(SP)
RtI
В данном конкретном случае (SJ монитор) не мешает, но вообще код не совсем корректен - значение PSW может быть установлено не в то которое было бы если бы возникло реальное прерывание по 100 (и это может повлиять на результат [хотя для асинхронного прерывания врядли]). Лучше делать универсальный метод:
MOV @#100,-(SP)
MTPS @#102
JMP @(SP)+

Поскольку разрешения прерываний у таймера Pro350 сбрасываются по RESET

строго говоря, оно у большинства PDP-11 сбрасывается по RESET :)

Patron
20.07.2014, 14:04
MOV @#100,-(SP)
MTPS @#102
JMP @(SP)+А почему не так :


MTPS @#102
JMP @#100

form
20.07.2014, 14:05
А почему не так :


MTPS @#102
JMP @#100

Потому что это переход на адрес 100, а не по @100 :)

Patron
20.07.2014, 14:18
Потому что это переход на адрес 100, а не по @100Тогда так:



MTPS @#102
JMP @100(PC)
А смещение настраивать в загрузчике.

form
20.07.2014, 14:21
Тогда так:



MTPS @#102
JMP @100(PC)
А смещение настраивать в загрузчике.

Смысла особого нет - выигрыш в скорости несущественнен, выигрыш в размере нулевой.

Patron
20.07.2014, 14:26
выигрыш в размере нулевой.Разве так одно слово не экономится?

form
20.07.2014, 14:28
Разве так одно слово не экономится?

Нет. И там и там 4 слова получается.
Вот @(SP) без "+" было бы длиннее на слово.

---------- Post added at 17:28 ---------- Previous post was at 17:27 ----------

А не, соврал, да, на слово отличается :)

MiX
20.07.2014, 18:08
Вылетел...

HX 2.0 - Warm boot v1.3 177560

HX DSK/TTY multiplexer v3.1 2014

006141
@

Patron
20.07.2014, 19:38
Вылетел...Да ещё по нечётному адресу - это круто.

Можно после вылета - проверить в пульте содержимое ячеек 17773024, 17773202, 230 и 232.

Вообще - похоже на вылет в процедуре проверки начальной установки драйвера. Можно временно удалить все драйверы, кроме HX и TT.

MiX
20.07.2014, 19:47
Чтож крутого. Это значит где то ошибка.

В общих чертах...

Если частота 49,95 значит погрешность составит 0,05% и это при первом такте. При втором 0,10% , несложно догадаться сколько будет при третьем.

А прерывание 230 чем не устраивает?

form
20.07.2014, 19:47
Да ещё по нечётному адресу

Скорее всего стек смотреть - все ли в нужном состоянии было перед всякими RETURN/RTI...

Patron
20.07.2014, 19:54
Если частота 49,95 значит погрешность составит 0,05% и это при первом такте. При втором 0,10% , несложно догадаться сколько будет при третьем.На любом такте погрешность не превысит 0.05%, кроме того - арифметическую погрешность можно уменьшить до нуля изменением вводимого значения частоты шины.

Но так как код обработки прерывания 49,95 Гц выполняется довольно долго - промежуток времени между тиками, остающийся для выполнения кода тестов - будет примерно одинаковым с таймером 50 Гц, поэтому в "табличных" тестах арифметическая коррекция не обязательна.

form
20.07.2014, 19:58
Но так как код обработки прерывания 49,95 Гц выполняется довольно долго - промежуток времени между тиками, остающийся для выполнения кода теста будет примерно одинаковым с таймером 50 Гц, поэтому арифметическая коррекция не обязательна.

Есть такая интересная мысль - попробовать провести расчеты с помощью систеных средств таймера (неприменимо к базовому SJ) и сравнить есть ли существенная разница :)
А то может это как с Сайресом Смитом из Таинственного острова который вводил поправку на высоту горы, делая измерения в звездных масштабах :D

MiX
20.07.2014, 20:20
Проверил.
@17773024/000177
@17773202/000307
@230/004767
@232/000466

Да, Патрон у меня лог не дописывает последнюю строчку. Приходится самому дописывать.

---------- Post added at 20:20 ---------- Previous post was at 19:58 ----------

После удаления DZ,HD,LD,VM вылет остался так-же.

Patron
20.07.2014, 20:20
Проверил.Вылетает до установки содержимого вектора - по адресам 230 и 232 находится код загрузчика: Boot_RT-11_from_HX0_(177560).bin

Можно проверить содержимое ячейки 54 и регистров R1 и R2


лог не дописывает последнюю строчку.Дописывает только те строчки, где выведен перевод строки. Можно нажать в пульте <Enter> - тогда строчка попадёт в лог. При закрытии эмулятора последняя строка лога должна записываться в любом случае.

MiX
20.07.2014, 20:23
Проверил.
@54/145406
@R1/000012
@R2/000000

Patron
20.07.2014, 20:43
Пока непонятно в чём проблема.

Начнём неспешную замену всех добавленных кодов на коды NOP - вот первая итерация: Pro350_HX_SP2a

MiX
20.07.2014, 20:49
Patron, Нормалёк, давайте вариант Б.

Patron
20.07.2014, 20:52
НормалёкВ смысле - вылетает точно так же.

MiX
20.07.2014, 21:03
Нет, загружается нормально, выдаёт приглашение ".".

---------- Post added at 21:03 ---------- Previous post was at 20:54 ----------

Кстати тест SPEED виснет.

form
20.07.2014, 21:04
Кстати тест SPEED виснет.

это скорее нормальноее поведение для такой программы :)

Patron
20.07.2014, 21:04
загружается нормальноА всего-то и удалил :



MOV #45, @#173024 ;Set divider control and 2048Hz
MOV #37, @#173202 ;Enable clock

Можно попробовать сделать эти установки вручную - записав в пульте 45 в 17773024 и 37 в 17773202

Но сначала - проверить содержимое ячеек 230 и 232.

MiX
20.07.2014, 21:05
form, Ему тоже LTC нужен?

form
20.07.2014, 21:17
form, Ему тоже LTC нужен?

Нужен. Причем тест искренне уверен, что он один на компе, даже операционной системы нету, а LTC есть всегда, а если не слышно, то дело в клавише блока питания :)

---------- Post added at 00:17 ---------- Previous post was at 00:06 ----------


А всего-то и удалил :



MOV #45, @#173024 ;Set divider control and 2048Hz
MOV #37, @#173202 ;Enable clock

Можно попробовать сделать эти установки вручную - записав в пульте 45 в 17773024 и 37 в 17773202

Но сначала - проверить содержимое ячеек 230 и 232.

Лучше для начала выпустить код в котором в ISR первы словом идет "патч" RTI и посмотреть что будет. А там смотреть дальше последовательно.

Patron
20.07.2014, 21:20
и посмотреть что будетПока даже не доходило до установки вектора. Похоже, что после запуска таймера первое прерывание происходит даже до установки разрешения периодических прерываний ( первое прерывание ведь не периодическое ).

form
20.07.2014, 21:22
Пока даже не доходило до установки вектора. Похоже, что после запуска таймера первое прерывание проиходит даже до установки разрешения периодических прерываний ( первое прерывание ведь не периодическое ).

Ну так слдить за приоритетами - это единственная гарантия от прерываний раньше времени. А что до прерываний до того как - я не особо силен в этой PC-образной тряхомудии прошника, но подозреваю, что контроллер прерываний может быть злопамятным и припомнить что-то старое, там можно почистить биты запросов сначала...

MiX
20.07.2014, 21:26
Сделал без загрузки ОС.
163152
@230/125252
@232/125252
@17773024/000037 45
@17773024/000045
@17773202/000307 37
@17773202/000307

Patron
20.07.2014, 21:27
там можно почистить биты запросов сначала...Проще вначале сделать MTPS #340 или активировать таймер только после установки вектора ( тогда не нужно запрещать прерывания ).

form
20.07.2014, 21:28
Проще вначале сделать MTPS #340 или активировать таймер только после установки вектора ( тогда не нужно запрещать прерывания ).

Э-э.... Я бы сказал, что это не столько проще сколько обязательное условие в принципе для любго устройства :)

MiX
20.07.2014, 21:34
530 топик смотрели?

form
20.07.2014, 21:35
530 топик смотрели?

Там отсутствует инфрмация.
не ясно когда эт проделано - если прост с пульта без загрузки системы (а судя по всему так и есть) то смысла от продеанного никакого.

MiX
20.07.2014, 21:38
form, А нечего что "37" не пишется?

Patron
20.07.2014, 21:39
Сделал без загрузки ОС.Нет смысла включать таймер, пока в системе не установлен вектор.


@17773024/000037 45Очень любопытно.

В описании Pro350 указано, что при включении питания - Pro350 инитит регистр 17773024 значением 40 ( так как там на входе таймера стоит кварц на 32.768 КГц ), но если у Эл.85 на входе таймера стоит кварц на 1 МГц - можно инитить только значениями от 20 до 37, а значения с делителем 40 недопустимы.

form
20.07.2014, 21:43
form, А нечего что "37" не пишется?

Это регистр устройства, читается из него не обязательно то, что записано.

---------- Post added at 00:40 ---------- Previous post was at 00:39 ----------


В описании Pro350 указано
Там читается далеко не то, что пишется...

---------- Post added at 00:43 ---------- Previous post was at 00:40 ----------

Точнее надо по описанию сверяться... CSR в частности на чтение и на запись - это разные регистры.

Patron
20.07.2014, 21:46
Если у Эл.85 другая частота кварца на входе таймера - родной PI.SYS там вообще не сможет работать, потому что в PI.SYS используется делитель 40 :



MOV #173024,R1 ;R1 -> Clock CSR0
MOV #2*20!12,(R1)+ ;Set divider control and 64Hz

MiX
20.07.2014, 21:47
После загрузки ОС.
@230/152710
@232/000340
@17773024/000065 45
@17773024/000045
@17773202/000307 37
@17773202/000307

Patron
20.07.2014, 21:49
Там читается далеко не то, что пишетсяА может контроллер прерываний Pro350 надо как-то инитить в загрузчике?

form
20.07.2014, 21:53
А может контроллер прерываний Pro350 надо как-то инитить в загрузчике?

Не, там все проиничино и RESET все это не сбрасывает.
Пока не проиничен и BREAK не сработает - так что попасть раньше времени в пульт не получится...

---------- Post added at 00:53 ---------- Previous post was at 00:50 ----------

Я конечно допускаю наличие "улучшенной" советской прошивки - чего стоит только советский TA11 и драйвер с "многочисленными исправленными ошибками DEC" где ошибки заключались в том, что DECовский драйвер ну никак не ожидал, что железка не отличает байт от слова :)
Но в данном случае врядли...

MiX
20.07.2014, 22:04
По кварцевым микросборкам.
1)32,768к
2)5.0688м
3)26,666м

Patron
20.07.2014, 22:08
Очередная тестовая версия - устанавливается такое же значение частоты таймера, как в PI.SYS, и до установки вектора запрещаются прерывания: Pro350_HX_SP2b

MiX
20.07.2014, 22:33
Загрузился.
.SH ALL

RT-11SP (Y) V05.04 G (02)
Booted from HX0:RT11SP

USR is set NOSWAP
EXIT is set NOSWAP
KMON is set NOIND
TT is set NOQUIET
ERROR is set ERROR
SL is set ON
EDIT is set KED
KMON nesting depth is 3

PDP 11/23 Processor
512KB of memory
FP11 Hardware Floating Point Unit
Extended Instruction Set (EIS)
Memory Management Unit
50 Cycle System Clock
NO Terminal Interrupts

No SYSGEN options enabled

Device Status CSR Vector(s)
------ ------ --- ---------
TT Installed 000000 000
SL 141032 000000 000
LD Installed 000000 000
HX Resident 177560 000
DZ Not installed 000000
HD Not installed 177720 000
VM Installed 177572 250

TT
HX (Resident)
HX0 = DK , SY
SL (Loaded)
LD
VM
19 free slots

Job Name Console Level State Low High Impure
--- ---- ------- ----- ----- --- ---- ------
0 RESORC 0 0 Run 000000 140760 N/A

No multi-terminal support

Address Module Words
------- ------ -----
160000 IOPAGE 4096.
156242 HX 431.
145342 RMON 2272.
141024 SL 1127.
130760 USR 2066.
001000 ..BG.. 22520.

No LD units mounted


.

Patron
20.07.2014, 22:49
Загрузился.В том варианте часы RT-11 должны идти со скоростью около 2 сек/мин.

Вот "итоговый" вариант, где вместо частоты 64 Гц таймер Pro350 запускается на частоте 2048 Гц: Pro350_HX_SP2.DSK (http://emulator.pdp-11.org.ru/misc/Pro350_HX_SP2.DSK.zip)

MiX
20.07.2014, 23:04
Загрузился. Только тест SPEED всё равно не проходит.

Patron
20.07.2014, 23:13
Загрузился. Только тест SPEED всё равно не проходит.А часы в RT-11 идут ?

Если несколько раз подряд ввести TIME - что скажет..

MiX
21.07.2014, 08:37
Часы стоят.



Если несколько раз подряд ввести TIME - что скажет..

Одни и те же цифры.

Patron
21.07.2014, 11:32
Часы стоят.Тогда можно после загрузки проверить содержимое ячейки 230, где должен быть записан адрес обработчика прерывания таймера, затем открыть ячейку с этим адресом и четыре следующих за ней ячейки ( в одной из них - счётчик обработанных прерываний таймера ).

MiX
21.07.2014, 12:28
Сделал
141304
@230/152710
@152710/005737
@152712/173030
@152714/005327
@152716/000051
@152718?
@152720/003401


Patron, Так может таймер без батарейки не идет?

Patron
21.07.2014, 13:26
СделалНе было вообще ни одного прерывания по вектору 230.

Теперь можно проверить то же самое у предыдущей версии ( SP2b ), где частота прерываний устанавливалась в то же значение, что и у PI.SYS



Так может таймер без батарейки не идет?Это вряд ли. У большинства Эл.85 батареи нет, а время в RT-11 идёт.

MiX
21.07.2014, 13:48
Загрузил SP2b
При команде TIME показывает тоже самое время.

Ячейки памяти показывают тоже самое.

---------- Post added at 13:48 ---------- Previous post was at 13:33 ----------

Попробовал вариант "А" нажав BREAK (без выключения ПВК) там время идет но как то очень медленно. Похоже что перепутаны секунды с минутами.

form
21.07.2014, 13:55
Попробовал вариант "А" нажав BREAK (без выключения ПВК) там время идет но как то очень медленно. Похоже что перепутаны секунды с минутами.

В RT-11 нельзя перепутать минуты с секундами. В отличие от RSX и POS, в RT-11 учитывается только число тиков.

Patron
21.07.2014, 14:29
Новая версия ( Pro350_HX_SP2c ) вообще не использует RESET и точно копирует весь код таймера из PI.SYS ( кроме частоты прерываний, которая вместо 64 Гц устанавливается в 2048 Гц ).

MiX
21.07.2014, 15:08
ДА!Patron. Победа!!! :v2_dizzy_champagne:

.SPEED

ТЕСТ БЫСТРОДЕЙСТВИЯ

КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 528

КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 312

КОМАНДА УМНОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 40

КОМАНДА ДЕЛЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 136
.

---------- Post added at 15:08 ---------- Previous post was at 14:54 ----------

Patron, А какой фактор в PDPCLK ставить?

Patron
21.07.2014, 15:15
Итоговая версия ( Pro350_HX_SP2 (http://emulator.pdp-11.org.ru/misc/Pro350_HX_SP2.DSK.zip) ) содержит в загрузчике следующий код:



CALL @#T4SEC ;Set carry if we trap

MOV #173700, R0 ;R0 -> PRO300 system CSR
MOV (R0), (R0)
MOV @#54, R2 ;<< T11NOP >>;

BCS No.CSR ;If C-bit set, CSR not there

MOV #230, R1 ;Protect vector 230
CALL @#PROTEC

ADD #<ProINT-$RMON>, R2

MOV R2, (R1)+ ;Set vector 230 to ProINT
MOV #340, (R1)

MOV #173024, R1 ;R1 -> Clock CSR0
MOV #2*20!5,(R1)+ ;Set divider control and 2048Hz
BIS #100, (R1)+ ;Set PERIODIC INTERRUPT ENABLE
MOV #37,@#173202 ;Enable clock
TST (R1) ;Prime clock to interrupt
No.CSR:
CALL @(SP)+ ;Restore traps


---------- Post added at 14:15 ---------- Previous post was at 14:13 ----------


А какой фактор в PDPCLK ставить?Скорее всего 4 ( 3 только у ВМ3 ).

MiX
21.07.2014, 15:23
После выбора фактора молчёк.

.RUN PDPCLK
PDPCLK - Calculate CPU clocks - v1.0
Memory Top: 131032
BUF words: 21297
Factor : 4 > 4
Factor : 4

Даже в монитор не выходит.

Patron
21.07.2014, 16:29
Даже в монитор не выходит.Там ( и во всех линейных тестах ) для калибровки используется прерывание терминала.

Выходит, что работать будут только "табличные" тесты таймингов ( OP1.SAV (http://zx.pk.ru/showthread.php?postid=579062), MOV.SAV (http://zx.pk.ru/showthread.php?postid=578495), MOVB.SAV (http://zx.pk.ru/showthread.php?postid=578743), CMP.SAV (http://zx.pk.ru/showthread.php?postid=578743), CMPB.SAV (http://zx.pk.ru/showthread.php?postid=578820), ADD.SAV (http://zx.pk.ru/showthread.php?postid=578743), BIS.SAV (http://zx.pk.ru/showthread.php?postid=578801), BISB.SAV (http://zx.pk.ru/showthread.php?postid=578801) ).

---------- Post added at 15:29 ---------- Previous post was at 15:20 ----------

Также должны работать IRQ.SAV, MOVPC.SAV, MOVPC1.SAV, MOVPCX.SAV и MOVPCY.SAV ).

form
21.07.2014, 16:31
Там ( и во всех линейных тестах ) для калибровки используется прерывание терминала.

Сделай версию теста с разрешением прерываний :)
Можн даже вектора 60/64 сделать и чтобы ISR обычный был.
Тольк разрешать через контроллер прерываний нужно.

Patron
21.07.2014, 16:45
Можн даже вектора 60/64 сделать и чтобы ISR обычный был.Но не получится ( если правильно понимаю ) включать/выключать прерывания битом 100 в регистрах статуса 177560 и 177564.

form
21.07.2014, 16:46
Но не получится ( если правильно понимаю ) включать/выключать прерывания битом 100 в регистрах статуса 177560 и 177564.

Да. Только через контроллер прерываний.
Для системы 5.5 и новее можно сделать без ее переделок, для программ - самостоятельно.

Patron
21.07.2014, 17:00
Проще модифицировать тестовый движок так, чтобы при отсутствии прерываний терминала - калибровка по ним не проводилась.

MiX
21.07.2014, 17:56
Можно попробовать V5.7 к примеру.

По поводу перечисленных тестов, им частота ненужна?

---------- Post added at 17:14 ---------- Previous post was at 17:08 ----------

Попробовал.
Op1 - v1.1
CPU KHz: 5300 > 5300
CPU KHz: 5300
Turn LTC ON..

И всё.

Хм. Откатил на "С" часы появились !

---------- Post added at 17:38 ---------- Previous post was at 17:14 ----------

Как ни странно но запустил я OP1.
Запустил на SP2!


. RUN OP1
Op1 - v1.1
CPU KHz: 5000 > 5300
CPU KHz: 5300

SOB : 14 ! Last SOB : 13 ! Br : 9 ! BCS : 10 ! BCC : 10 ! SeC : 14

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Tst 9 17 18 22 18 24 24 18 31
TstB 9 18 18 23 17 24 24 18 31
Inc 10 25 24 29 24 31 31 24 38
IncB 9 24 24 29 25 31 31 25 37
Clr 9 19 20 25 19 27 26 19 34
ClrB 9 20 19 25 20 27 26 20 33
MTPS 25 27 26 31 27 33 33 26 40
MFPS 10 20 20 25 20 26 26 20 33
XOr 9 24 24 29 25 31 31 25 37
SwaB 9 24 24 29 25 31 31 25 37
SXt 9 20 20 25 19 27 26 20 33

Program completed.

.RUN MOV
Mov - v1.1
CPU KHz: 5300 >

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Mov R1 9 19 20 25 19 27 26 19 34
Mov (R1) 16 26 27 31 26 34 34 27 40
Mov (R2)+ 16 26 27 31 27 33 33 26 40
Mov (PC)+ 16 27 27 31 27 33 33 26 40
Mov @(R2)+ 22 33 33 38 33 40 40 33 47
Mov -(R1) 18 28 28 33 28 34 35 28 42
Mov @-(R1) 25 35 35 40 35 41 41 35 48
Mov Addr 24 35 35 40 34 42 41 35 48
Mov @Tab(R1) 31 41 42 46 42 48 48 41 54

Program completed.


---------- Post added at 17:56 ---------- Previous post was at 17:48 ----------

IRQ не проходит.
.RUN IRQ

IRQ - Check time of IRQ Service & RTI - v1.3

Memory Top: 131032
BUF words: 21073

Patron
21.07.2014, 18:13
По поводу перечисленных тестов, им частота ненужна?Частота нужна.

Пока правильную частоту нельзя определить при помощи PDPCLK - её надо узнать как-то ещё ( в описании Эл.85 найти или осциллографом измерить ).



Откатил на "С" часы появилисьНо разницы между SP2 и SP2c практически нет. Выходит, что часы не при каждой загрузке стартуют.

MiX
21.07.2014, 18:25
Но разницы между SP2 и SP2c практически нет. Выходит, что часы не при каждой загрузке стартуют.

Да где-то глюк был. Сейчас уже не могу точно сказать. Пользуюсь SP2.

P.S. При очередной работе с платой памяти, добился что все светодиоды погасли (даже при закоротке 8-9 порта "Печать"). Спустя какое то время загорается 1 св. диод.

Это я к тому что, Форм утверждал что работа автотеста прерывается при закоротке.

MiX
24.08.2014, 23:59
Частота нужна.

Пока правильную частоту нельзя определить при помощи PDPCLK - её надо узнать как-то ещё ( в описании Эл.85 найти или осциллографом измерить ).

Здесь (http://www.silirium.ru/ussr-1811.html) сказано что частота сборки МК1 -3,4Мгц. Но возможно что тактируется меньшей частотой, например как в случае с МС1201.

Тесты с этой частотой будут годны, или надо точно узнать?

Patron
25.08.2014, 00:27
Тесты с этой частотой будут годны, или надо точно узнать?Можно попробовать, только таблицы с результатами лучше оформлять тегами [code], чтобы колонки были ровные.

MiX
25.08.2014, 02:52
Табличные тесты Эл.85 на частоте 3,4Мгц.

.RUN OP1
Op1 - v1.1
CPU KHz: 3400 >

SOB : 8 ! Last SOB : 9 ! Br : 6 ! BCS : 5 ! BCC : 6 ! SeC : 8

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Tst 6 11 11 14 11 15 15 11 20
TstB 6 11 11 14 11 15 16 11 20
Inc 6 15 15 18 16 19 20 16 23
IncB 6 16 16 18 15 20 19 15 24
Clr 5 12 12 16 12 17 17 12 21
ClrB 5 12 12 16 12 17 17 12 21
MTPS 15 17 16 20 16 21 21 16 26
MFPS 6 12 12 15 13 16 17 13 21
XOr 6 15 15 18 15 20 19 15 24
SwaB 5 15 15 19 15 20 20 15 24
SXt 6 12 12 16 12 16 17 12 21

Program completed.

.RUN MOV
Mov - v1.1
CPU KHz: 5300 > 3400
CPU KHz: 3400

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Mov R1 6 12 12 16 12 16 17 12 21
Mov (R1) 10 17 16 20 17 21 20 17 25
Mov (R2)+ 10 17 17 19 17 21 21 16 25
Mov (PC)+ 10 16 17 20 16 21 21 16 26
Mov @(R2)+ 14 21 21 24 21 25 25 21 29
Mov -(R1) 11 17 18 21 17 22 22 18 26
Mov @-(R1) 15 22 22 25 22 26 26 22 31
Mov Addr 16 22 22 26 21 26 26 22 30
Mov @Tab(R1) 20 26 26 29 27 30 31 26 35

Program completed.

.RUN MOVB
MovB - v1.1
CPU KHz: 5300 > 3400
CPU KHz: 3400

R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)

MovB R1 6 12 12 16 12 17 16 12 21
MovB (R1) 10 16 17 20 16 21 21 16 26
MovB (R4)+ 10 17 17 20 16 20 21 17 25
MovB (PC)+ 9 17 16 20 17 21 21 16 25
MovB @(R2)+ 14 21 21 24 21 25 25 21 29
MovB -(R1) 11 18 18 21 18 22 22 18 26
MovB @-(R3) 15 22 22 25 22 27 27 22 30
MovB Addr 15 22 22 25 22 26 27 22 30
MovB @Tab(R3) 19 27 27 29 27 30 31 26 35

Program completed.

.RUN CMP
Cmp - v1.1
CPU KHz: 5300 > 3400
CPU KHz: 3400

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Cmp R1 5 11 11 14 11 15 15 11 20
Cmp (R1) 10 15 15 19 15 20 20 15 24
Cmp (R2)+ 9 15 16 18 15 20 19 15 24
Cmp (PC)+ 10 15 15 18 16 19 20 15 24
Cmp @(R2)+ 14 20 19 23 20 23 24 20 28
Cmp -(R1) 11 16 17 19 17 20 21 16 25
Cmp @-(R1) 16 20 21 23 21 25 25 20 30
Cmp Addr 15 21 20 24 21 25 25 20 30
Cmp @Tab(R1) 20 24 25 29 24 30 29 25 33

Program completed.

.RUN CMPB
CmpB - v1.1
CPU KHz: 5300 > 3400
CPU KHz: 3400

R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)

CmpB R1 5 11 11 14 11 15 15 11 20
CmpB (R1) 10 15 15 19 15 20 19 15 24
CmpB (R4)+ 10 15 15 18 16 19 20 15 24
CmpB (PC)+ 10 15 15 19 15 20 19 15 24
CmpB @(R2)+ 14 20 20 23 19 24 24 19 29
CmpB -(R1) 11 16 17 19 16 20 21 16 25
CmpB @-(R3) 16 20 21 24 20 25 25 21 29
CmpB Addr 15 20 21 24 20 25 25 21 29
CmpB @Tab(R3) 19 25 25 28 25 29 30 25 34

Program completed.

.RUN ADD
Add - v1.1
CPU KHz: 5300 > 3400
CPU KHz: 3400

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Add R1 6 16 16 18 15 20 19 15 23
Add (R1) 10 19 20 22 20 24 23 20 28
Add (R2)+ 10 20 19 23 20 24 23 20 28
Add (PC)+ 9 20 19 23 20 23 24 20 28
Add @(R2)+ 14 24 24 27 24 28 28 24 32
Add -(R1) 11 20 21 24 20 25 25 21 29
Add @-(R1) 15 25 25 29 24 29 29 25 33
Add Addr 15 25 25 28 25 29 29 25 34
Add @Tab(R1) 20 29 29 33 29 33 34 29 38

Program completed.

.RUN BIS
BiS - v1.1
CPU KHz: 5300 > 3400
CPU KHz: 3400

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

BiS R1 6 15 15 19 15 19 20 15 24
BiS (R1) 10 20 20 23 19 24 24 19 29
BiS (R2)+ 10 19 20 23 19 24 24 19 28
BiS (PC)+ 10 19 20 22 20 24 24 19 28
BiS @(R2)+ 14 24 23 28 23 29 29 23 33
BiS -(R1) 11 21 20 24 21 25 25 21 29
BiS @-(R1) 15 25 25 28 25 29 29 25 34
BiS Addr 16 25 25 28 25 29 30 24 33
BiS @Tab(R1) 19 29 29 33 29 34 33 29 38

Program completed.

.RUN BISB
BiSB - v1.1
CPU KHz: 5300 > 3400
CPU KHz: 3400

R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)

BiSB R1 5 15 16 18 15 20 19 16 23
BiSB (R1) 10 19 20 23 19 24 24 19 28
BiSB (R4)+ 10 19 20 23 19 24 24 19 28
BiSB (PC)+ 10 19 20 23 19 24 24 19 29
BiSB @(R2)+ 14 24 24 27 24 28 28 24 32
BiSB -(R1) 11 20 21 24 20 25 25 21 29
BiSB @-(R3) 15 25 25 28 25 29 29 25 34
BiSB Addr 15 25 25 28 25 29 30 25 33
BiSB @Tab(R3) 19 29 30 32 29 34 34 30 38

Program completed.

---------- Post added at 02:52 ---------- Previous post was at 02:22 ----------


Также должны работать IRQ.SAV, MOVPC.SAV, MOVPC1.SAV, MOVPCX.SAV и MOVPCY.SAV ).

В оглавлении нет тестов MOVPCX.SAV, MOVPCY.SAV

Тест IRQ.SAV завис
Тест MOVPC.SAV при запуске пишет: ?KMON-F-Input error DK:MOVPC.SAV

Далее тест MOVPC1


RUN MOVPC1
MovPC - v1.2
CPU KHz: 5300 > 3400
CPU KHz: 3400

Mov (PC), (PC)+ 17.5
MovB (PC), (PC)+ 17.5
Mov (PC), R0 10.7
MovB (PC), R0 10.7
Mov (PC), (PC) 17.5
MovB (PC), (PC) 17.5
Mov (PC)+, R0 10.7
MovB (PC)+, R0 10.7
Mov R0, (PC)+ 13.1
MovB R0, (PC)+ 13.2

Program completed.




Тест DHRY

.RUN DHRY
Dhrystone(1.1) time for 5000 passes = 0
This machine benchmarks at 0 dhrystones/second

MiX
21.12.2014, 19:58
Тест МС1201.02 (старый вариант на РУ6)

.RUN ASH
ASH - v1.1
Memory Top: 131072
BUF words: 21181
CPU KHz: 5300 > 8300
CPU KHz: 8300

1: Nop Evt: 10 ; Run: 13939 ; Res: 13949 ; CLC: 11.9
R2 = 0
1: ASh R2, R0 Evt: 0 ; Run: 6966 ; Res: 6966 ; CLC: 23.8
R2 = 1
1: ASh R2, R0 Evt: 0 ; Run: 5971 ; Res: 5971 ; CLC: 27.8
R2 = 8
1: ASh R2, R0 Evt: 0 ; Run: 2987 ; Res: 2987 ; CLC: 55.6
R2 = -1
1: ASh R2, R0 Evt: 0 ; Run: 6966 ; Res: 6966 ; CLC: 23.8
R2 = -8
1: ASh R2, R0 Evt: 0 ; Run: 3217 ; Res: 3217 ; CLC: 51.6

Program completed.

.RUN ASH1
ASH1 - v1.1
Memory Top: 131072
BUF words: 20984
CPU KHz: 5300 > 8300
CPU KHz: 8300
1: ASh #00., R0 Evt: 2 ; Run: 3752 ; Res: 3754 ; CLC: 44.2
1: ASh #01., R0 Evt: 1 ; Run: 3441 ; Res: 3442 ; CLC: 48.2
1: ASh #02., R0 Evt: 0 ; Run: 3170 ; Res: 3170 ; CLC: 52.4
1: ASh #03., R0 Evt: 0 ; Run: 2936 ; Res: 2936 ; CLC: 56.5
1: ASh #04., R0 Evt: 1 ; Run: 2748 ; Res: 2749 ; CLC: 60.4
1: ASh #05., R0 Evt: 1 ; Run: 2610 ; Res: 2611 ; CLC: 63.6
1: ASh #06., R0 Evt: 0 ; Run: 2423 ; Res: 2423 ; CLC: 68.5
1: ASh #07., R0 Evt: 0 ; Run: 2284 ; Res: 2284 ; CLC: 72.7
1: ASh #08., R0 Evt: 0 ; Run: 2175 ; Res: 2175 ; CLC: 76.3
1: ASh #09., R0 Evt: 0 ; Run: 2061 ; Res: 2061 ; CLC: 80.5
1: ASh #10., R0 Evt: 0 ; Run: 1958 ; Res: 1958 ; CLC: 84.8
1: ASh #11., R0 Evt: 0 ; Run: 1873 ; Res: 1873 ; CLC: 88.6
1: ASh #12., R0 Evt: 0 ; Run: 1791 ; Res: 1791 ; CLC: 92.7
1: ASh #13., R0 Evt: 0 ; Run: 1717 ; Res: 1717 ; CLC: 96.7
1: ASh #14., R0 Evt: 0 ; Run: 1647 ; Res: 1647 ; CLC: 100.8
1: ASh #15., R0 Evt: 0 ; Run: 1585 ; Res: 1585 ; CLC: 104.7
1: ASh #16., R0 Evt: 0 ; Run: 1523 ; Res: 1523 ; CLC: 109.0
1: ASh #17., R0 Evt: 0 ; Run: 1468 ; Res: 1468 ; CLC: 113.1
1: ASh #20., R0 Evt: 0 ; Run: 1305 ; Res: 1305 ; CLC: 127.2
1: ASh #30., R0 Evt: 0 ; Run: 1009 ; Res: 1009 ; CLC: 164.5
1: ASh #31., R0 Evt: 0 ; Run: 979 ; Res: 979 ; CLC: 170.#

.RUN ASH2
ASH2 - v1.1
Memory Top: 131072
BUF words: 20980
CPU KHz: 5300 > 8300
CPU KHz: 8300
1: ASh #000., R0 Evt: 2 ; Run: 3755 ; Res: 3757 ; CLC: 44.2
1: ASh #-01., R0 Evt: 1 ; Run: 3754 ; Res: 3755 ; CLC: 44.2
1: ASh #-02., R0 Evt: 1 ; Run: 3443 ; Res: 3444 ; CLC: 48.2
1: ASh #-03., R0 Evt: 0 ; Run: 3172 ; Res: 3172 ; CLC: 52.3
1: ASh #-04., R0 Evt: 0 ; Run: 2938 ; Res: 2938 ; CLC: 56.5
1: ASh #-05., R0 Evt: 1 ; Run: 2750 ; Res: 2751 ; CLC: 60.3
1: ASh #-06., R0 Evt: 1 ; Run: 2613 ; Res: 2614 ; CLC: 63.5
1: ASh #-07., R0 Evt: 0 ; Run: 2426 ; Res: 2426 ; CLC: 68.4
1: ASh #-08., R0 Evt: 0 ; Run: 2286 ; Res: 2286 ; CLC: 72.6
1: ASh #-09., R0 Evt: 0 ; Run: 2177 ; Res: 2177 ; CLC: 76.3
1: ASh #-10., R0 Evt: 0 ; Run: 2063 ; Res: 2063 ; CLC: 80.5
1: ASh #-11., R0 Evt: 0 ; Run: 1960 ; Res: 1960 ; CLC: 84.7
1: ASh #-12., R0 Evt: 0 ; Run: 1874 ; Res: 1874 ; CLC: 88.6
1: ASh #-13., R0 Evt: 0 ; Run: 1793 ; Res: 1793 ; CLC: 92.6
1: ASh #-14., R0 Evt: 0 ; Run: 1719 ; Res: 1719 ; CLC: 96.6
1: ASh #-15., R0 Evt: 0 ; Run: 1649 ; Res: 1649 ; CLC: 100.7
1: ASh #-16., R0 Evt: 0 ; Run: 1586 ; Res: 1586 ; CLC: 104.7
1: ASh #-17., R0 Evt: 0 ; Run: 1524 ; Res: 1524 ; CLC: 108.9
1: ASh #-20., R0 Evt: 0 ; Run: 1375 ; Res: 1375 ; CLC: 120.7
1: ASh #-30., R0 Evt: 0 ; Run: 1035 ; Res: 1035 ; CLC: 160.4
1: ASh #-31., R0 Evt: 0 ; Run: 1010 ; Res: 1010 ; CLC: 164.4

.RUN ASH3
ASH3 - v1.1
Memory Top: 131072
BUF words: 20987
CPU KHz: 5300 > 8300
CPU KHz: 8300
1: 0: ASh R2,R0 Evt: 0 ; Run: 6952 ; Res: 6952 ; CLC: 23.9
1: 1: ASh R2,R0 Evt: 0 ; Run: 5962 ; Res: 5962 ; CLC: 27.8
1: 2: ASh R2,R0 Evt: 0 ; Run: 5217 ; Res: 5217 ; CLC: 31.8
1: 3: ASh R2,R0 Evt: 0 ; Run: 4638 ; Res: 4638 ; CLC: 35.8
1: 4: ASh R2,R0 Evt: 0 ; Run: 4175 ; Res: 4175 ; CLC: 39.8
1: 5: ASh R2,R0 Evt: 0 ; Run: 3795 ; Res: 3795 ; CLC: 43.7
1: 6: ASh R2,R0 Evt: 0 ; Run: 3478 ; Res: 3478 ; CLC: 47.7
1: 7: ASh R2,R0 Evt: 0 ; Run: 3211 ; Res: 3211 ; CLC: 51.7
1: 8: ASh R2,R0 Evt: 0 ; Run: 2981 ; Res: 2981 ; CLC: 55.7
1: 9: ASh R2,R0 Evt: 0 ; Run: 2783 ; Res: 2783 ; CLC: 59.6
1: 10: ASh R2,R0 Evt: 0 ; Run: 2609 ; Res: 2609 ; CLC: 63.6
1: 11: ASh R2,R0 Evt: 0 ; Run: 2456 ; Res: 2456 ; CLC: 67.6
1: 12: ASh R2,R0 Evt: 0 ; Run: 2319 ; Res: 2319 ; CLC: 71.6
1: 13: ASh R2,R0 Evt: 0 ; Run: 2197 ; Res: 2197 ; CLC: 75.6
1: 14: ASh R2,R0 Evt: 0 ; Run: 2087 ; Res: 2087 ; CLC: 79.5
1: 15: ASh R2,R0 Evt: 0 ; Run: 1988 ; Res: 1988 ; CLC: 83.5
1: 16: ASh R2,R0 Evt: 0 ; Run: 1897 ; Res: 1897 ; CLC: 87.5
1: 17: ASh R2,R0 Evt: 0 ; Run: 1815 ; Res: 1815 ; CLC: 91.5
1: 20: ASh R2,R0 Evt: 0 ; Run: 1606 ; Res: 1606 ; CLC: 103.4
1: 30: ASh R2,R0 Evt: 0 ; Run: 1160 ; Res: 1160 ; CLC: 143.1
1: 31: ASh R2,R0 Evt: 0 ; Run: 1128 ; Res: 1128 ; CLC: 147.2

.RUN ASH4
ASH4 - v1.1
Memory Top: 131072
BUF words: 20981
CPU KHz: 5300 > 8300
CPU KHz: 8300
1: 0: ASh R2,R0 Evt: 0 ; Run: 6960 ; Res: 6960 ; CLC: 23.9
1: -1: ASh R2,R0 Evt: 0 ; Run: 6959 ; Res: 6959 ; CLC: 23.9
1: -2: ASh R2,R0 Evt: 0 ; Run: 5967 ; Res: 5967 ; CLC: 27.8
1: -3: ASh R2,R0 Evt: 0 ; Run: 5221 ; Res: 5221 ; CLC: 31.8
1: -4: ASh R2,R0 Evt: 0 ; Run: 4642 ; Res: 4642 ; CLC: 35.8
1: -5: ASh R2,R0 Evt: 0 ; Run: 4179 ; Res: 4179 ; CLC: 39.7
1: -6: ASh R2,R0 Evt: 0 ; Run: 3799 ; Res: 3799 ; CLC: 43.7
1: -7: ASh R2,R0 Evt: 0 ; Run: 3482 ; Res: 3482 ; CLC: 47.7
1: -8: ASh R2,R0 Evt: 0 ; Run: 3214 ; Res: 3214 ; CLC: 51.6
1: -9: ASh R2,R0 Evt: 0 ; Run: 2985 ; Res: 2985 ; CLC: 55.6
1: -10: ASh R2,R0 Evt: 0 ; Run: 2786 ; Res: 2786 ; CLC: 59.6
1: -11: ASh R2,R0 Evt: 0 ; Run: 2612 ; Res: 2612 ; CLC: 63.6
1: -12: ASh R2,R0 Evt: 0 ; Run: 2459 ; Res: 2459 ; CLC: 67.5
1: -13: ASh R2,R0 Evt: 0 ; Run: 2322 ; Res: 2322 ; CLC: 71.5
1: -14: ASh R2,R0 Evt: 0 ; Run: 2200 ; Res: 2200 ; CLC: 75.5
1: -15: ASh R2,R0 Evt: 0 ; Run: 2090 ; Res: 2090 ; CLC: 79.4
1: -16: ASh R2,R0 Evt: 0 ; Run: 1991 ; Res: 1991 ; CLC: 83.4
1: -17: ASh R2,R0 Evt: 0 ; Run: 1900 ; Res: 1900 ; CLC: 87.4
1: -20: ASh R2,R0 Evt: 0 ; Run: 1672 ; Res: 1672 ; CLC: 99.3
1: -30: ASh R2,R0 Evt: 0 ; Run: 1194 ; Res: 1194 ; CLC: 139.0
1: -31: ASh R2,R0 Evt: 0 ; Run: 1161 ; Res: 1161 ; CLC: 143.0

MiX
21.12.2014, 20:00
Тест МС1201.02 (старый вариант на РУ6)

.RUN ASHC
ASHC - v1.1
Memory Top: 131072
BUF words: 21142
CPU KHz: 5300 > 8300
CPU KHz: 8300

1: Nop Evt: 10 ; Run: 13903 ; Res: 13913 ; CLC: 11.9
R2 = 0
1: AShC R2, R0 Evt: 0 ; Run: 5214 ; Res: 5214 ; CLC: 31.8
1: AShC R2, R1 Evt: 0 ; Run: 5212 ; Res: 5212 ; CLC: 31.8
R2 = 1
1: AShC R2, R0 Evt: 0 ; Run: 4634 ; Res: 4634 ; CLC: 35.8
1: AShC R2, R1 Evt: 0 ; Run: 4632 ; Res: 4632 ; CLC: 35.8
R2 = 8
1: AShC R2, R0 Evt: 0 ; Run: 2608 ; Res: 2608 ; CLC: 63.7
1: AShC R2, R1 Evt: 0 ; Run: 2608 ; Res: 2608 ; CLC: 63.7
R2 = -1
1: AShC R2, R0 Evt: 0 ; Run: 5213 ; Res: 5213 ; CLC: 31.8
1: AShC R2, R1 Evt: 0 ; Run: 5213 ; Res: 5213 ; CLC: 31.8
R2 = -8
1: AShC R2, R0 Evt: 0 ; Run: 2782 ; Res: 2782 ; CLC: 59.7
1: AShC R2, R1 Evt: 0 ; Run: 2782 ; Res: 2782 ; CLC: 59.7

Program completed.

.RUN ASHC1
ASHC1 - v1.1
Memory Top: 131072
BUF words: 20991
CPU KHz: 5300 > 8300
CPU KHz: 8300
1: AShC #00., R0 Evt: 0 ; Run: 3166 ; Res: 3166 ; CLC: 52.4
1: AShC #01., R0 Evt: 0 ; Run: 2934 ; Res: 2934 ; CLC: 56.6
1: AShC #02., R0 Evt: 1 ; Run: 2745 ; Res: 2746 ; CLC: 60.5
1: AShC #03., R0 Evt: 0 ; Run: 2607 ; Res: 2607 ; CLC: 63.7
1: AShC #04., R0 Evt: 0 ; Run: 2421 ; Res: 2421 ; CLC: 68.6
1: AShC #05., R0 Evt: 0 ; Run: 2282 ; Res: 2282 ; CLC: 72.7
1: AShC #06., R0 Evt: 0 ; Run: 2173 ; Res: 2173 ; CLC: 76.4
1: AShC #07., R0 Evt: 0 ; Run: 2058 ; Res: 2058 ; CLC: 80.7
1: AShC #08., R0 Evt: 0 ; Run: 1956 ; Res: 1956 ; CLC: 84.9
1: AShC #09., R0 Evt: 0 ; Run: 1871 ; Res: 1871 ; CLC: 88.7
1: AShC #10., R0 Evt: 0 ; Run: 1789 ; Res: 1789 ; CLC: 92.8
1: AShC #11., R0 Evt: 0 ; Run: 1715 ; Res: 1715 ; CLC: 96.8
1: AShC #12., R0 Evt: 0 ; Run: 1645 ; Res: 1645 ; CLC: 100.9
1: AShC #13., R0 Evt: 0 ; Run: 1583 ; Res: 1583 ; CLC: 104.9
1: AShC #14., R0 Evt: 0 ; Run: 1521 ; Res: 1521 ; CLC: 109.1
1: AShC #15., R0 Evt: 0 ; Run: 1467 ; Res: 1467 ; CLC: 113.2
1: AShC #16., R0 Evt: 0 ; Run: 1417 ; Res: 1417 ; CLC: 117.1
1: AShC #17., R0 Evt: 0 ; Run: 1373 ; Res: 1373 ; CLC: 120.9
1: AShC #20., R0 Evt: 0 ; Run: 1250 ; Res: 1250 ; CLC: 132.8
1: AShC #30., R0 Evt: 0 ; Run: 961 ; Res: 961 ; CLC: 173.#
1: AShC #31., R0 Evt: 0 ; Run: 939 ; Res: 939 ; CLC: 177.#

.RUN ASHC2
ASHC2 - v1.1
Memory Top: 131072
BUF words: 20988
CPU KHz: 5300 > 8300
CPU KHz: 8300
1: AShC #000., R0 Evt: 0 ; Run: 3165 ; Res: 3165 ; CLC: 52.4
1: AShC #-01., R0 Evt: 0 ; Run: 3165 ; Res: 3165 ; CLC: 52.4
1: AShC #-02., R0 Evt: 0 ; Run: 2931 ; Res: 2931 ; CLC: 56.6
1: AShC #-03., R0 Evt: 1 ; Run: 2743 ; Res: 2744 ; CLC: 60.5
1: AShC #-04., R0 Evt: 0 ; Run: 2604 ; Res: 2604 ; CLC: 63.7
1: AShC #-05., R0 Evt: 0 ; Run: 2420 ; Res: 2420 ; CLC: 68.6
1: AShC #-06., R0 Evt: 0 ; Run: 2280 ; Res: 2280 ; CLC: 72.8
1: AShC #-07., R0 Evt: 0 ; Run: 2171 ; Res: 2171 ; CLC: 76.5
1: AShC #-08., R0 Evt: 0 ; Run: 2057 ; Res: 2057 ; CLC: 80.7
1: AShC #-09., R0 Evt: 0 ; Run: 1955 ; Res: 1955 ; CLC: 84.9
1: AShC #-10., R0 Evt: 0 ; Run: 1870 ; Res: 1870 ; CLC: 88.8
1: AShC #-11., R0 Evt: 0 ; Run: 1788 ; Res: 1788 ; CLC: 92.8
1: AShC #-12., R0 Evt: 0 ; Run: 1715 ; Res: 1715 ; CLC: 96.8
1: AShC #-13., R0 Evt: 0 ; Run: 1644 ; Res: 1644 ; CLC: 101.0
1: AShC #-14., R0 Evt: 0 ; Run: 1583 ; Res: 1583 ; CLC: 104.9
1: AShC #-15., R0 Evt: 0 ; Run: 1521 ; Res: 1521 ; CLC: 109.1
1: AShC #-16., R0 Evt: 0 ; Run: 1466 ; Res: 1466 ; CLC: 113.2
1: AShC #-17., R0 Evt: 0 ; Run: 1416 ; Res: 1416 ; CLC: 117.2
1: AShC #-20., R0 Evt: 0 ; Run: 1303 ; Res: 1303 ; CLC: 127.4
1: AShC #-30., R0 Evt: 0 ; Run: 978 ; Res: 978 ; CLC: 170.#
1: AShC #-31., R0 Evt: 0 ; Run: 961 ; Res: 961 ; CLC: 173.#

.RUN ASHC3
ASHC3 - v1.1
Memory Top: 131072
BUF words: 20986
CPU KHz: 5300 > 8300
CPU KHz: 8300
1: 0: AShC R2,R0 Evt: 0 ; Run: 5209 ; Res: 5209 ; CLC: 31.9
1: 1: AShC R2,R0 Evt: 0 ; Run: 4627 ; Res: 4627 ; CLC: 35.9
1: 2: AShC R2,R0 Evt: 0 ; Run: 4169 ; Res: 4169 ; CLC: 39.8
1: 3: AShC R2,R0 Evt: 0 ; Run: 3790 ; Res: 3790 ; CLC: 43.8
1: 4: AShC R2,R0 Evt: 0 ; Run: 3474 ; Res: 3474 ; CLC: 47.8
1: 5: AShC R2,R0 Evt: 0 ; Run: 3207 ; Res: 3207 ; CLC: 51.8
1: 6: AShC R2,R0 Evt: 0 ; Run: 2977 ; Res: 2977 ; CLC: 55.8
1: 7: AShC R2,R0 Evt: 0 ; Run: 2779 ; Res: 2779 ; CLC: 59.7
1: 8: AShC R2,R0 Evt: 0 ; Run: 2606 ; Res: 2606 ; CLC: 63.7
1: 9: AShC R2,R0 Evt: 0 ; Run: 2452 ; Res: 2452 ; CLC: 67.7
1: 10: AShC R2,R0 Evt: 0 ; Run: 2316 ; Res: 2316 ; CLC: 71.7
1: 11: AShC R2,R0 Evt: 0 ; Run: 2194 ; Res: 2194 ; CLC: 75.7
1: 12: AShC R2,R0 Evt: 0 ; Run: 2084 ; Res: 2084 ; CLC: 79.7
1: 13: AShC R2,R0 Evt: 0 ; Run: 1985 ; Res: 1985 ; CLC: 83.6
1: 14: AShC R2,R0 Evt: 0 ; Run: 1895 ; Res: 1895 ; CLC: 87.6
1: 15: AShC R2,R0 Evt: 0 ; Run: 1812 ; Res: 1812 ; CLC: 91.6
1: 16: AShC R2,R0 Evt: 0 ; Run: 1737 ; Res: 1737 ; CLC: 95.6
1: 17: AShC R2,R0 Evt: 0 ; Run: 1667 ; Res: 1667 ; CLC: 99.6
1: 20: AShC R2,R0 Evt: 0 ; Run: 1489 ; Res: 1489 ; CLC: 111.5
1: 30: AShC R2,R0 Evt: 0 ; Run: 1097 ; Res: 1097 ; CLC: 151.3
1: 31: AShC R2,R0 Evt: 0 ; Run: 1069 ; Res: 1069 ; CLC: 155.3

.RUN ASHC4
ASHC4 - v1.1
Memory Top: 131072
BUF words: 20980
CPU KHz: 5300 > 8300
CPU KHz: 8300
1: 0: AShC R2,R0 Evt: 0 ; Run: 5208 ; Res: 5208 ; CLC: 31.9
1: -1: AShC R2,R0 Evt: 0 ; Run: 5207 ; Res: 5207 ; CLC: 31.9
1: -2: AShC R2,R0 Evt: 0 ; Run: 4625 ; Res: 4625 ; CLC: 35.9
1: -3: AShC R2,R0 Evt: 0 ; Run: 4166 ; Res: 4166 ; CLC: 39.8
1: -4: AShC R2,R0 Evt: 0 ; Run: 3788 ; Res: 3788 ; CLC: 43.8
1: -5: AShC R2,R0 Evt: 0 ; Run: 3471 ; Res: 3471 ; CLC: 47.8
1: -6: AShC R2,R0 Evt: 0 ; Run: 3205 ; Res: 3205 ; CLC: 51.8
1: -7: AShC R2,R0 Evt: 0 ; Run: 2977 ; Res: 2977 ; CLC: 55.8
1: -8: AShC R2,R0 Evt: 0 ; Run: 2778 ; Res: 2778 ; CLC: 59.8
1: -9: AShC R2,R0 Evt: 0 ; Run: 2604 ; Res: 2604 ; CLC: 63.7
1: -10: AShC R2,R0 Evt: 0 ; Run: 2451 ; Res: 2451 ; CLC: 67.7
1: -11: AShC R2,R0 Evt: 0 ; Run: 2314 ; Res: 2314 ; CLC: 71.7
1: -12: AShC R2,R0 Evt: 0 ; Run: 2193 ; Res: 2193 ; CLC: 75.7
1: -13: AShC R2,R0 Evt: 0 ; Run: 2082 ; Res: 2082 ; CLC: 79.7
1: -14: AShC R2,R0 Evt: 0 ; Run: 1984 ; Res: 1984 ; CLC: 83.7
1: -15: AShC R2,R0 Evt: 0 ; Run: 1893 ; Res: 1893 ; CLC: 87.7
1: -16: AShC R2,R0 Evt: 0 ; Run: 1812 ; Res: 1812 ; CLC: 91.6
1: -17: AShC R2,R0 Evt: 0 ; Run: 1736 ; Res: 1736 ; CLC: 95.6
1: -20: AShC R2,R0 Evt: 0 ; Run: 1543 ; Res: 1543 ; CLC: 107.6
1: -30: AShC R2,R0 Evt: 0 ; Run: 1126 ; Res: 1126 ; CLC: 147.4
1: -31: AShC R2,R0 Evt: 0 ; Run: 1097 ; Res: 1097 ; CLC: 151.3

MiX
21.12.2014, 20:17
Тест МС1201.02 (старый вариант на РУ6)

.RUN DIV
DIV - v1.1
Memory Top: 131072
BUF words: 21186
CPU KHz: 5300 > 8300
CPU KHz: 8300

1: Nop Evt: 10 ; Run: 13879 ; Res: 13889 ; CLC: 12.0
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 1302 ; Res: 1302 ; CLC: 127.5
1: Div R2, R1 Evt: 0 ; Run: 1301 ; Res: 1301 ; CLC: 127.6
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 1344 ; Res: 1344 ; CLC: 123.5
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 1302 ; Res: 1302 ; CLC: 127.5
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 1302 ; Res: 1302 ; CLC: 127.5

Program completed.

.RUN JMP
JMP - v1.4
Memory Top: 131072
BUF words: 21207
CPU KHz: 5300 > 8300
CPU KHz: 8300

SOB Loops: 6417 ; CLC: 25.9
Br Loops: 3586 ; CLC: 20.4
Jmp (R0) Loops: 3075 ; CLC: 28.1
Jmp (PC) Loops: 3071 ; CLC: 28.2
Jmp (PC)+ Loops: 3071 ; CLC: 28.2
Mov R0, PC Loops: 3582 ; CLC: 20.5
Add R0, PC Loops: 3583 ; CLC: 20.5
Jmp LABEL Loops: 2867 ; CLC: 32.0
Jmp @#Addr Loops: 2867 ; CLC: 32.0
Jmp @(R0)+ Loops: 2444 ; CLC: 42.1
Jmp @-(R0) Loops: 2443 ; CLC: 42.1
Jmp xx(R0) Loops: 2865 ; CLC: 32.1
Jmp @x(R0) Loops: 2377 ; CLC: 44.0
Jmp @Var Loops: 2376 ; CLC: 44.0

Program completed.

.RUN JSR
JSR - v1.2
Memory Top: 131072
BUF words: 21132
CPU KHz: 5300 > 8300
CPU KHz: 8300

SOB Loops: 6398 ; CLC: 25.9
Loop Loops: 1797 ; CLC: 66.4
Loop +Interrupt Loops: 863 ; CLC: 166.4
IOT Loops: 1299 ; CLC: 101.9
Trap Loops: 1299 ; CLC: 101.9
JSR PC, (R0) Loops: 2498 ; CLC: 40.5
JSR R0, (PC) Loops: 2499 ; CLC: 40.5
JSR PC, (PC) Loops: 2498 ; CLC: 40.5
JSR PC, (PC)+ Loops: 2498 ; CLC: 40.5
JSR PC,@(PC)+ Loops: 2354 ; CLC: 44.6
JSR PC,@(R0)+ Loops: 2057 ; CLC: 54.8
JSR PC,@(SP)+ Loops: 2054 ; CLC: 54.9
JSR PC,@-(R0) Loops: 2056 ; CLC: 54.8
JSR R1,@-(R0) Loops: 2056 ; CLC: 54.8
JSR PC, Label Loops: 2353 ; CLC: 44.6
JSR PC,@Var Loops: 2007 ; CLC: 56.8
JSR R1,@x(R0) Loops: 2007 ; CLC: 56.8

.RUN MOVPC1
MovPC - v1.2
CPU KHz: 5300 > 8300
CPU KHz: 8300

Mov (PC), (PC)+ 58.6
MovB (PC), (PC)+ 66.5
Mov (PC), R0 34.4
MovB (PC), R0 34.3
Mov (PC), (PC) 58.6
MovB (PC), (PC) 66.5
Mov (PC)+, R0 24.2
MovB (PC)+, R0 34.3
Mov R0, (PC)+ 34.4
MovB R0, (PC)+ 42.7

Program completed.

.RUN MOVPC2
MovPC2 - v1.2
Memory Top: 131072
BUF words: 21174
CPU KHz: 5300 > 8300
CPU KHz: 8300

1: Nop Evt: 16 ; Run: 13823 ; Res: 13839 ; CLC: 12.0
1: Mov R0, R0 Evt: 20 ; Run: 16393 ; Res: 16413 ; CLC: 10.1
1: Mov R0, (PC) Evt: 5 ; Run: 4836 ; Res: 4841 ; CLC: 34.3
1: MovB R0, (PC) Evt: 5 ; Run: 3897 ; Res: 3902 ; CLC: 42.5
1: Mov (PC), R0 Evt: 6 ; Run: 4839 ; Res: 4845 ; CLC: 34.3
1: MovB (PC), R0 Evt: 6 ; Run: 4840 ; Res: 4846 ; CLC: 34.3
::: SP = PC :::
1: Mov R0, (SP)+ Evt: 3 ; Run: 2420 ; Res: 2423 ; CLC: 68.5
1: MovB R0, (SP)+ Evt: 3 ; Run: 2166 ; Res: 2169 ; CLC: 76.5
1: Mov (SP),(SP)+ Evt: 2 ; Run: 1948 ; Res: 1950 ; CLC: 85.1
1: MovB (SP),(SP)+ Evt: 2 ; Run: 1827 ; Res: 1829 ; CLC: 90.8

Program completed.

.RUN MUL
MUL - v1.1
Memory Top: 131072
BUF words: 21102
CPU KHz: 5300 > 8300
CPU KHz: 8300

1: Nop Evt: 9 ; Run: 13826 ; Res: 13835 ; CLC: 12.0
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 0 ; Run: 1728 ; Res: 1728 ; CLC: 96.1
1: Mul R2, R1 Evt: 0 ; Run: 1727 ; Res: 1727 ; CLC: 96.1
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 0 ; Run: 1728 ; Res: 1728 ; CLC: 96.1
1: Mul R2, R1 Evt: 0 ; Run: 1727 ; Res: 1727 ; CLC: 96.1
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1727 ; Res: 1727 ; CLC: 96.1
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1727 ; Res: 1727 ; CLC: 96.1
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1727 ; Res: 1727 ; CLC: 96.1
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1727 ; Res: 1727 ; CLC: 96.1
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1727 ; Res: 1727 ; CLC: 96.1

.RUN RTS
RTS - v1.1
Memory Top: 131072
BUF words: 21218
CPU KHz: 5300 > 8300
CPU KHz: 8300

1: Nop Evt: 16 ; Run: 13822 ; Res: 13838 ; CLC: 12.0
1: RtS PC Evt: 6 ; Run: 4845 ; Res: 4851 ; CLC: 34.2
1: RtS R0 Evt: 6 ; Run: 4847 ; Res: 4853 ; CLC: 34.2
1: RtS R1 Evt: 6 ; Run: 4846 ; Res: 4852 ; CLC: 34.2
1: RtI Evt: 3 ; Run: 2742 ; Res: 2745 ; CLC: 60.5
1: RtT Evt: 4 ; Run: 2742 ; Res: 2746 ; CLC: 60.5

Program completed.

.RUN ADD
Add - v1.1
CPU KHz: 5300 > 8300
CPU KHz: 8300

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Add R1 10 32 32 44 32 44 44 42 56
Add (R1) 24 46 46 58 48 60 58 58 70
Add (R2)+ 24 46 46 58 48 60 58 58 70
Add (PC)+ 24 46 46 58 46 58 58 56 70
Add @(R2)+ 36 58 58 70 60 72 70 70 82
Add -(R1) 24 46 46 58 48 60 58 58 70
Add @-(R1) 36 58 58 70 60 72 70 70 82
Add Addr 36 58 58 70 58 70 70 68 82
Add @Tab(R1) 48 70 70 82 70 82 82 80 94

Program completed.

MiX
21.12.2014, 20:42
Тест МС1201.02 (старый вариант на РУ6)

.RUN BIS
BiS - v1.1
CPU KHz: 5300 > 8300
CPU KHz: 8300

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

BiS R1 10 32 32 44 32 44 44 42 56
BiS (R1) 24 46 46 58 48 60 58 58 70
BiS (R2)+ 24 46 46 58 48 60 58 58 70
BiS (PC)+ 24 46 46 58 46 58 58 56 70
BiS @(R2)+ 36 58 58 70 60 72 70 70 82
BiS -(R1) 24 46 46 58 48 60 58 58 70
BiS @-(R1) 36 58 58 70 60 72 70 70 82
BiS Addr 36 58 58 70 58 70 70 68 82
BiS @Tab(R1) 48 70 70 82 70 82 82 80 94

Program completed.

.RUN BISB
BiSB - v1.1
CPU KHz: 5300 > 8300
CPU KHz: 8300

R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)

BiSB R1 10 32 33 44 33 44 44 42 56
BiSB (R1) 24 46 47 58 49 60 58 58 70
BiSB (R4)+ 24 47 48 58 49 60 58 58 70
BiSB (PC)+ 34 56 57 68 57 68 68 66 80
BiSB @(R2)+ 36 58 59 70 61 72 70 70 82
BiSB -(R1) 24 46 47 58 48 60 58 58 70
BiSB @-(R3) 36 58 59 70 61 72 70 70 82
BiSB Addr 36 58 59 70 59 70 70 68 82
BiSB @Tab(R3) 48 70 71 82 71 82 82 80 94

Program completed.

.RUN CMP
Cmp - v1.1
CPU KHz: 5300 > 8300
CPU KHz: 8300

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Cmp R1 10 24 24 36 24 36 36 28 48
Cmp (R1) 24 38 38 50 40 52 50 42 62
Cmp (R2)+ 24 38 38 50 40 52 50 42 62
Cmp (PC)+ 24 38 38 50 38 50 50 42 62
Cmp @(R2)+ 36 50 50 62 52 64 62 54 74
Cmp -(R1) 24 38 38 50 40 52 50 42 62
Cmp @-(R1) 36 50 50 62 52 64 62 54 74
Cmp Addr 36 50 50 62 50 62 62 54 74
Cmp @Tab(R1) 48 62 62 74 62 74 74 66 86

Program completed.

.RUN CMPB
CmpB - v1.1
CPU KHz: 5300 > 8300
CPU KHz: 8300

R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)

CmpB R1 10 24 24 36 24 36 36 34 48
CmpB (R1) 24 38 38 50 40 52 50 50 62
CmpB (R4)+ 24 38 38 50 40 52 50 50 62
CmpB (PC)+ 34 48 48 60 48 60 60 58 72
CmpB @(R2)+ 36 50 50 62 52 64 62 62 74
CmpB -(R1) 24 38 38 50 40 52 50 50 62
CmpB @-(R3) 36 50 50 62 52 64 62 62 74
CmpB Addr 36 50 50 62 50 62 62 60 74
CmpB @Tab(R3) 48 62 62 74 62 74 74 72 86

Program completed.

.RUN MOV
Mov - v1.1
CPU KHz: 5300 > 8300
CPU KHz: 8300

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Mov R1 10 24 24 36 24 36 36 34 48
Mov (R1) 24 40 40 50 40 52 50 50 62
Mov (R2)+ 24 40 40 50 40 52 50 50 62
Mov (PC)+ 24 38 38 50 38 50 50 48 62
Mov @(R2)+ 36 52 52 62 52 64 62 62 74
Mov -(R1) 24 40 40 50 40 52 50 50 62
Mov @-(R1) 36 52 52 62 52 64 62 62 74
Mov Addr 36 50 50 62 50 62 62 60 74
Mov @Tab(R1) 48 62 62 74 62 74 74 72 86

Program completed.

.RUN MOVB
MovB - v1.1
CPU KHz: 5300 > 8300
CPU KHz: 8300

R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)

MovB R1 10 32 33 44 33 44 44 42 56
MovB (R1) 24 46 47 58 49 60 58 58 70
MovB (R4)+ 24 47 48 58 49 60 58 58 70
MovB (PC)+ 34 56 57 68 57 68 68 66 80
MovB @(R2)+ 36 58 59 70 61 72 70 70 82
MovB -(R1) 24 46 47 58 48 60 58 58 70
MovB @-(R3) 36 58 59 70 61 72 70 70 82
MovB Addr 36 58 59 70 59 70 70 68 82
MovB @Tab(R3) 48 70 71 82 71 82 82 80 94

Program completed.

.RUN OP1
Op1 - v1.1
CPU KHz: 5300 > 8300
CPU KHz: 8300

SOB : 26 ! Last SOB : 16 ! Br : 20 ! BCS : 10 ! BCC : 20 ! SeC : 12

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Tst 10 24 24 36 24 36 36 28 48
TstB 10 24 24 36 24 36 36 34 48
Inc 10 32 32 44 32 44 44 42 56
IncB 10 32 33 44 33 44 44 42 56
Clr 10 24 24 36 24 36 36 34 48
ClrB 10 32 33 44 33 44 44 42 56
MTPS 16 32 32 44 32 44 44 42 56
MFPS 10 32 33 44 33 44 44 42 56
XOr 10 32 32 44 32 44 44 42 56
SwaB 10 32 32 44 32 44 44 42 56
SXt 10 24 24 36 24 36 36 34 48

Program completed.

MiX
01.05.2016, 14:55
Тест МС1201.01 на РУ6.

.VM1C4

1801VM1 Timings Test #4g
CPU RunTime: 54500
Memory Top: 131072

177706/000000
177710/040001

Scale: 256
Retry: 300

Return : 31 ! RtI : 40 ! RtT : 40 ! IOT : 73 ! Trap : 73 !

Add #6,R0 : 26

SOB : 20 ! Br : 15 ! BCS : 15 ! BCC : 15 ! Nop : 12 ! SeC : 12 ! ClC : 12 !

R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)
Tst 12 25 25 36 26 36 36 36 46
TstB 12 25 25 36 26 37 36 36 46
MTPS 23 31 31 41 31 42 41 41 53
MFPS 12 33 33 44 34 45 44 44 55
XOr 12 37 37 47 38 48 47 47 57
SXt 12 33 33 44 34 45 44 44 55
SwaB 12 33 33 44 34 45 44 44 55
Clr 12 33 33 44 34 45 44 44 55
ClrB 12 33 33 44 34 45 44 44 55
Inc 12 33 33 44 34 45 44 44 55
IncB 12 33 33 44 34 45 44 44 55
Dec 12 33 33 44 34 45 44 44 55
DecB 12 33 33 44 34 45 44 44 55
AdC 12 33 33 44 34 45 44 44 55
AdCB 12 33 33 44 34 45 44 44 55
SbC 12 33 33 44 34 45 44 44 55
SbCB 12 33 33 44 34 45 44 44 55
ASL 12 33 33 44 34 45 44 44 55
ASLB 12 33 33 44 34 45 44 44 55
ASR 12 33 33 44 34 45 44 44 55
ASRB 12 33 33 44 34 45 44 44 55
RoL 12 33 33 44 34 45 44 44 55
RoLB 12 33 33 44 34 45 44 44 55
RoR 12 33 33 44 34 45 44 44 55
RoRB 12 33 33 44 34 45 44 44 55
Com 12 33 33 44 34 45 44 44 55
ComB 12 33 33 44 34 45 44 44 55
Neg 12 33 33 44 34 45 44 44 55
NegB 12 33 33 44 34 45 44 44 55
Jmp 22 24 31 31 31 41
Call 36 37 42 42 42 53

BiS R0,(R1) : 37
BiS R0,(R1) + Nop : 52
Handler cycles : 256
Handler : 139
BiS+Nop+Intr+Handler : 267
Interrupts count : 256
BiS + Nop + Interrupt : 128
Interrupt only : 76

Program completed.

- - - Добавлено - - -


VM1MOV

1801VM1 MOV Timings Test v1.1
CPU RunTime: 54500
Memory Top: 131072

177706/000000
177710/000000

Scale: 256
Retry: 256
R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

Mov R1 12 34 38 44 38 45 44 44 55
Mov (R1) 26 40 43 50 43 51 50 50 60
Mov (R1)+ 26 40 43 50 43 51 50 50 60
Mov @(R1)+ 37 51 55 60 55 61 60 60 71
Mov -(R1) 27 41 44 51 44 52 51 51 61
Mov @-(R1) 38 52 57 61 57 62 61 61 72
Mov Addr 37 51 55 60 55 61 60 60 71
Mov @Tab(R1) 47 60 65 71 65 72 71 71 82

R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

MovB R1 12 34 38 44 38 45 44 44 55
MovB (R1) 26 40 43 50 43 51 50 50 60
MovB (R1)+ 26 40 43 50 43 51 50 50 60
MovB @(R1)+ 37 51 55 60 55 61 60 60 71
MovB -(R1) 27 41 44 51 44 52 51 51 61
MovB @-(R1) 38 52 57 61 57 62 61 61 72
MovB Addr 37 51 55 60 55 61 60 60 71
MovB @Tab(R1) 47 60 65 71 65 72 71 71 82

Program completed.

- - - Добавлено - - -


VM1CMP

1801VM1 CMP & BIT Timings Test v1.0
CPU RunTime: 54500
Memory Top: 131072

177706/000000
177710/000000

Scale: 256
Retry: 400
R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

BiT R1 12 31 31 42 32 43 42 42 53
BiT (R1) 26 37 37 48 38 49 48 48 57
BiT (R1)+ 26 37 37 48 38 49 48 48 57
BiT @(R1)+ 37 48 48 57 49 59 57 57 69
BiT -(R1) 27 38 38 49 39 50 49 49 57
BiT @-(R1) 38 49 49 57 50 59 57 57 70
BiT Addr 37 48 48 57 49 59 57 57 69
BiT @Tab(R1) 47 57 57 69 58 70 69 69 80

R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

BiTB R1 12 31 31 42 32 43 42 42 53
BiTB (R1) 26 37 37 48 38 49 48 48 57
BiTB (R1)+ 26 37 37 48 38 49 48 48 57
BiTB @(R1)+ 37 48 48 57 49 59 57 57 69
BiTB -(R1) 27 38 38 49 39 50 49 49 57
BiTB @-(R1) 38 49 49 57 50 59 57 57 70
BiTB Addr 37 48 48 57 49 59 57 57 69
BiTB @Tab(R1) 47 57 57 69 58 70 69 69 80

R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

Cmp R1 12 31 31 42 32 43 42 42 53
Cmp (R1) 26 37 37 48 38 49 48 48 57
Cmp (R1)+ 26 37 37 48 38 49 48 48 57
Cmp @(R1)+ 37 48 48 57 49 59 57 57 69
Cmp -(R1) 27 38 38 49 39 50 49 49 57
Cmp @-(R1) 38 49 49 57 50 59 57 57 70
Cmp Addr 37 48 48 57 49 59 57 57 69
Cmp @Tab(R1) 47 57 57 69 58 70 69 69 80

R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

CmpB R1 12 31 31 42 32 43 42 42 53
CmpB (R1) 26 37 37 48 38 49 48 48 57
CmpB (R1)+ 26 37 37 48 38 49 48 48 57
CmpB @(R1)+ 37 48 48 57 49 59 57 57 69
CmpB -(R1) 27 38 38 49 39 50 49 49 57
CmpB @-(R1) 38 49 49 57 50 59 57 57 70
CmpB Addr 37 48 48 57 49 59 57 57 69
CmpB @Tab(R1) 47 57 57 69 58 70 69 69 80

Program completed.

- - - Добавлено - - -


VM1ADD

1801VM1 ADD & SUB Timings Test v1.0
CPU RunTime: 139500
Memory Top: 131072

177706/000000
177710/000001

Scale: 256
Retry: 400
R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

Add R1 12 39 39 50 41 51 50 50 57
Add (R1) 26 46 46 57 47 57 57 57 67
Add (R1)+ 26 46 46 57 47 57 57 57 67
Add @(R1)+ 36 57 57 66 57 67 66 66 77
Add -(R1) 27 47 47 57 48 57 57 57 67
Add @-(R1) 38 57 57 67 57 68 67 67 78
Add Addr 36 57 57 67 57 67 66 66 77
Add @Tab(R1) 47 67 67 77 67 77 77 77 87

R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

Sub R1 12 39 39 50 41 51 50 50 57
Sub (R1) 26 46 46 57 47 57 57 57 66
Sub (R1)+ 26 46 46 57 47 57 57 57 66
Sub @(R1)+ 36 57 57 66 57 68 66 66 77
Sub -(R1) 27 47 47 57 48 57 57 57 67
Sub @-(R1) 38 57 57 67 57 68 67 67 78
Sub Addr 36 57 57 66 57 67 67 67 77
Sub @Tab(R1) 47 67 67 77 67 78 77 77 87

Program completed.

.

- - - Добавлено - - -

На VM1BIS сбойнуло.

VM1BIS

1801VM1 BIS & BIC Timings Test v1.0
CPU RunTime: 158100
Memory Top: 131072

177706/000000
177710/040001

Scale: 256
Retry: 400
R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

BiC R1 12 39 39 50 41 51 50 50 57
BiC (R1) 26 46 46 57 47 57 57 57 66
BiC (R1)+ 26 46 46 57 47 57 57 57 66
BiC @(R1)+ 36 57 57 66 57 68 67 66 77
BiC -(R1) 27 47 47 57 48 57 57 57 67
BiC @-(R1) 38 57 57 67 57 68 67 67 78
BiC Addr 36 57 57 66 57 68 67 67 77
BiC @Tab(R1) 47 67 67 77 67 78 77 77 87

R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

BiCB R1 12 39 39 50 41 51 50 50 57
BiCB (R1) 26 46 46 57 47 57 57 57 66
BiCB (R1)+ 26 46 46 57 47 57 57 57 66
BiCB @(R1)+ 37 57 57 66 57 68 66 66 77
BiCB -(R1) 27 47 47 57 48 57 57 57 67
BiCB @-(R1) 38 57 57 67 57 68 67 67 77
BiCB Addr 36 57 57 66 57 68 67 67 77
BiCB @Tab(R1) 47 67 67 77 67 78 77 77 87

R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

BiS R1 12 39 39 50 41 51 50 50 57
BiS (R1) 26 46 46 57 47 57 57 57 66
BiS (R1)+ 26 46 46 57 47 57 57 57 66
BiS @(R1)+ 36 57 57 66 57 68 66 66 77
BiS -(R1) 27 47 47 57 48 57 57 57 67
BiS @-(R1) 38 57 57 67 57 68 67 67 77
BiS Addr 36 57 57 66 57 68 67 67 77
BiS @Tab(R1) 47 67 67 77 67 *******************

VM1BIS

1801VM1 BIS & BIC Timings Test v1.0
CPU RunTime: 200850
Memory Top: 131072

177706/000000
177710/040401

Scale: 256
Retry: 400
R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

BiC R1 12 39 39 50 40 51 50 50 57
BiC (R1) 26 45 45 57 46 57 57 57 66
BiC (R1)+ 26 45 45 57 46 57 57 57 66
BiC @(R1)+ 36 57 57 66 57 67 66 66 77
BiC -(R1) 27 46 46 57 47 57 57 57 67
BiC @-(R1) 38 57 57 67 57 68 67 67 78
BiC Addr 36 57 57 66 57 67 66 66 76
BiC @Tab(R1) 47 66 66 76 67 78 76 76 86

R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

BiCB R1 12 38 38 50 40 51 50 50 57
BiCB (R1) 26 45 45 57 46 57 57 57 66
BiCB (R1)+ 26 45 45 57 46 57 57 57 66
BiCB @(R1)+ 36 57 57 66 57 67 66 66 76
BiCB -(R1) 27 46 46 57 47 57 57 57 67
BiCB @-(R1) 38 57 57 67 57 68 67 67 78
BiCB Addr 36 57 57 66 57 67 66 66 76
BiCB @Tab(R1) 47 66 66 77 67 78 77 76 86

R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

BiS R1 12 39 39 50 41 51 50 50 57
BiS (R1) 26 46 46 57 47 57 57 57 66
BiS (R1)+ 26 46 46 57 47 57 57 57 66
BiS @(R1)+ 36 57 57 66 57 67 66 66 76
BiS -(R1) 27 47 47 57 48 57 57 57 66
BiS @-(R1) 38 57 57 67 57 68 67 ЗЗЗЗЗЗЗЗЗЗЗЗЗЗЗЗЗ Позже сделаю полный тест.

- - - Добавлено - - -

Patron, Можете отдельно сделать тест VM1BIS начиная с команды BIS. А то у меня до конца тест не проходит.

- - - Добавлено - - -

Тест МС1201.02 с процессором 1806ВМ2.

.RUN PDPCLK
PDPCLK - Calculate CPU clocks - v1.0
Memory Top: 131072
BUF words: 21313
Factor : 4 > 4
Factor : 4

CPU KHz: 6916

Program completed.

.RUN ASH
ASH - v1.1
Memory Top: 131072
BUF words: 21181
CPU KHz: 5300 > 6916
CPU KHz: 6916

1: Nop Evt: 12 ; Run: 16356 ; Res: 16368 ; CLC: 8.5
R2 = 0
1: ASh R2, R0 Evt: 0 ; Run: 6973 ; Res: 6973 ; CLC: 19.8
R2 = 1
1: ASh R2, R0 Evt: 0 ; Run: 5755 ; Res: 5755 ; CLC: 24.0
R2 = 8
1: ASh R2, R0 Evt: 0 ; Run: 2669 ; Res: 2669 ; CLC: 51.8
R2 = -1
1: ASh R2, R0 Evt: 0 ; Run: 5756 ; Res: 5756 ; CLC: 24.0
R2 = -8
1: ASh R2, R0 Evt: 0 ; Run: 2669 ; Res: 2669 ; CLC: 51.8

Program completed.

.RUN ASH2
ASH2 - v1.1
Memory Top: 131072
BUF words: 20980
CPU KHz: 5300 > 6916
CPU KHz: 6916
1: ASh #000., R0 Evt: 1 ; Run: 3361 ; Res: 3362 ; CLC: 41.1
1: ASh #-01., R0 Evt: 1 ; Run: 3087 ; Res: 3088 ; CLC: 44.8
1: ASh #-02., R0 Evt: 1 ; Run: 2828 ; Res: 2829 ; CLC: 48.9
1: ASh #-03., R0 Evt: 0 ; Run: 2608 ; Res: 2608 ; CLC: 53.0
1: ASh #-04., R0 Evt: 0 ; Run: 2412 ; Res: 2412 ; CLC: 57.3
1: ASh #-05., R0 Evt: 0 ; Run: 2251 ; Res: 2251 ; CLC: 61.4
1: ASh #-06., R0 Evt: 0 ; Run: 2171 ; Res: 2171 ; CLC: 63.7
1: ASh #-07., R0 Evt: 0 ; Run: 1988 ; Res: 1988 ; CLC: 69.6
1: ASh #-08., R0 Evt: 0 ; Run: 1873 ; Res: 1873 ; CLC: 73.8
1: ASh #-09., R0 Evt: 0 ; Run: 1774 ; Res: 1774 ; CLC: 78.0
1: ASh #-10., R0 Evt: 0 ; Run: 1685 ; Res: 1685 ; CLC: 82.1
1: ASh #-11., R0 Evt: 0 ; Run: 1625 ; Res: 1625 ; CLC: 85.1
1: ASh #-12., R0 Evt: 0 ; Run: 1528 ; Res: 1528 ; CLC: 90.5
1: ASh #-13., R0 Evt: 0 ; Run: 1461 ; Res: 1461 ; CLC: 94.7
1: ASh #-14., R0 Evt: 0 ; Run: 1401 ; Res: 1401 ; CLC: 98.7
1: ASh #-15., R0 Evt: 0 ; Run: 1353 ; Res: 1353 ; CLC: 102.2
1: ASh #-16., R0 Evt: 0 ; Run: 1297 ; Res: 1297 ; CLC: 106.6
1: ASh #-17., R0 Evt: 0 ; Run: 1249 ; Res: 1249 ; CLC: 110.7
1: ASh #-20., R0 Evt: 0 ; Run: 1122 ; Res: 1122 ; CLC: 123.3
1: ASh #-30., R0 Evt: 0 ; Run: 849 ; Res: 849 ; CLC: 163.#
1: ASh #-31., R0 Evt: 0 ; Run: 829 ; Res: 829 ; CLC: 167.#

.RUN ASH4
ASH4 - v1.1
Memory Top: 131072
BUF words: 20981
CPU KHz: 5300 > 6916
CPU KHz: 6916
1: 0: ASh R2,R0 Evt: 0 ; Run: 6909 ; Res: 6909 ; CLC: 20.0
1: -1: ASh R2,R0 Evt: 0 ; Run: 5755 ; Res: 5755 ; CLC: 24.0
1: -2: ASh R2,R0 Evt: 0 ; Run: 4936 ; Res: 4936 ; CLC: 28.0
1: -3: ASh R2,R0 Evt: 0 ; Run: 4318 ; Res: 4318 ; CLC: 32.0
1: -4: ASh R2,R0 Evt: 0 ; Run: 3837 ; Res: 3837 ; CLC: 36.0
1: -5: ASh R2,R0 Evt: 0 ; Run: 3455 ; Res: 3455 ; CLC: 40.0
1: -6: ASh R2,R0 Evt: 0 ; Run: 3141 ; Res: 3141 ; CLC: 44.0
1: -7: ASh R2,R0 Evt: 0 ; Run: 2878 ; Res: 2878 ; CLC: 48.1
1: -8: ASh R2,R0 Evt: 0 ; Run: 2658 ; Res: 2658 ; CLC: 52.0
1: -9: ASh R2,R0 Evt: 0 ; Run: 2468 ; Res: 2468 ; CLC: 56.0
1: -10: ASh R2,R0 Evt: 0 ; Run: 2302 ; Res: 2302 ; CLC: 60.1
1: -11: ASh R2,R0 Evt: 0 ; Run: 2159 ; Res: 2159 ; CLC: 64.1
1: -12: ASh R2,R0 Evt: 0 ; Run: 2032 ; Res: 2032 ; CLC: 68.1
1: -13: ASh R2,R0 Evt: 0 ; Run: 1919 ; Res: 1919 ; CLC: 72.1
1: -14: ASh R2,R0 Evt: 0 ; Run: 1819 ; Res: 1819 ; CLC: 76.0
1: -15: ASh R2,R0 Evt: 0 ; Run: 1728 ; Res: 1728 ; CLC: 80.0
1: -16: ASh R2,R0 Evt: 0 ; Run: 1645 ; Res: 1645 ; CLC: 84.1
1: -17: ASh R2,R0 Evt: 0 ; Run: 1570 ; Res: 1570 ; CLC: 88.1
1: -20: ASh R2,R0 Evt: 0 ; Run: 1382 ; Res: 1382 ; CLC: 100.1
1: -30: ASh R2,R0 Evt: 0 ; Run: 987 ; Res: 987 ; CLC: 140.#
1: -31: ASh R2,R0 Evt: 0 ; Run: 960 ; Res: 960 ; CLC: 144.#

.RUN ASHC1
ASHC1 - v1.1
Memory Top: 131072
BUF words: 20991
CPU KHz: 5300 > 6916
CPU KHz: 6916
1: AShC #00., R0 Evt: 1 ; Run: 2808 ; Res: 2809 ; CLC: 49.2
1: AShC #01., R0 Evt: 0 ; Run: 2591 ; Res: 2591 ; CLC: 53.4
1: AShC #02., R0 Evt: 0 ; Run: 2400 ; Res: 2400 ; CLC: 57.6
1: AShC #03., R0 Evt: 0 ; Run: 2237 ; Res: 2237 ; CLC: 61.8
1: AShC #04., R0 Evt: 0 ; Run: 2159 ; Res: 2159 ; CLC: 64.1
1: AShC #05., R0 Evt: 0 ; Run: 1979 ; Res: 1979 ; CLC: 69.9
1: AShC #06., R0 Evt: 0 ; Run: 1865 ; Res: 1865 ; CLC: 74.2
1: AShC #07., R0 Evt: 0 ; Run: 1767 ; Res: 1767 ; CLC: 78.3
1: AShC #08., R0 Evt: 0 ; Run: 1680 ; Res: 1680 ; CLC: 82.3
1: AShC #09., R0 Evt: 0 ; Run: 1619 ; Res: 1619 ; CLC: 85.4
1: AShC #10., R0 Evt: 0 ; Run: 1525 ; Res: 1525 ; CLC: 90.7
1: AShC #11., R0 Evt: 0 ; Run: 1458 ; Res: 1458 ; CLC: 94.9
1: AShC #12., R0 Evt: 0 ; Run: 1397 ; Res: 1397 ; CLC: 99.0
1: AShC #13., R0 Evt: 0 ; Run: 1349 ; Res: 1349 ; CLC: 102.5
1: AShC #14., R0 Evt: 0 ; Run: 1296 ; Res: 1296 ; CLC: 106.7
1: AShC #15., R0 Evt: 0 ; Run: 1246 ; Res: 1246 ; CLC: 111.0
1: AShC #16., R0 Evt: 0 ; Run: 1200 ; Res: 1200 ; CLC: 115.3
1: AShC #17., R0 Evt: 0 ; Run: 1159 ; Res: 1159 ; CLC: 119.3
1: AShC #20., R0 Evt: 0 ; Run: 1080 ; Res: 1080 ; CLC: 128.1
1: AShC #30., R0 Evt: 0 ; Run: 810 ; Res: 810 ; CLC: 171.#
1: AShC #31., R0 Evt: 0 ; Run: 790 ; Res: 790 ; CLC: 175.#

.RUN ASHC3
ASHC3 - v1.1
Memory Top: 131072
BUF words: 20986
CPU KHz: 5300 > 6916
CPU KHz: 6916
1: 0: AShC R2,R0 Evt: 0 ; Run: 4939 ; Res: 4939 ; CLC: 28.0
1: 1: AShC R2,R0 Evt: 0 ; Run: 4320 ; Res: 4320 ; CLC: 32.0
1: 2: AShC R2,R0 Evt: 0 ; Run: 3837 ; Res: 3837 ; CLC: 36.0
1: 3: AShC R2,R0 Evt: 0 ; Run: 3456 ; Res: 3456 ; CLC: 40.0
1: 4: AShC R2,R0 Evt: 0 ; Run: 3142 ; Res: 3142 ; CLC: 44.0
1: 5: AShC R2,R0 Evt: 0 ; Run: 2878 ; Res: 2878 ; CLC: 48.1
1: 6: AShC R2,R0 Evt: 0 ; Run: 2659 ; Res: 2659 ; CLC: 52.0
1: 7: AShC R2,R0 Evt: 0 ; Run: 2469 ; Res: 2469 ; CLC: 56.0
1: 8: AShC R2,R0 Evt: 0 ; Run: 2302 ; Res: 2302 ; CLC: 60.1
1: 9: AShC R2,R0 Evt: 0 ; Run: 2159 ; Res: 2159 ; CLC: 64.1
1: 10: AShC R2,R0 Evt: 0 ; Run: 2033 ; Res: 2033 ; CLC: 68.0
1: 11: AShC R2,R0 Evt: 0 ; Run: 1919 ; Res: 1919 ; CLC: 72.1
1: 12: AShC R2,R0 Evt: 0 ; Run: 1819 ; Res: 1819 ; CLC: 76.0
1: 13: AShC R2,R0 Evt: 0 ; Run: 1728 ; Res: 1728 ; CLC: 80.0
1: 14: AShC R2,R0 Evt: 0 ; Run: 1645 ; Res: 1645 ; CLC: 84.1
1: 15: AShC R2,R0 Evt: 0 ; Run: 1571 ; Res: 1571 ; CLC: 88.0
1: 16: AShC R2,R0 Evt: 0 ; Run: 1503 ; Res: 1503 ; CLC: 92.0
1: 17: AShC R2,R0 Evt: 0 ; Run: 1439 ; Res: 1439 ; CLC: 96.1
1: 20: AShC R2,R0 Evt: 0 ; Run: 1279 ; Res: 1279 ; CLC: 108.1
1: 30: AShC R2,R0 Evt: 0 ; Run: 934 ; Res: 934 ; CLC: 148.#
1: 31: AShC R2,R0 Evt: 0 ; Run: 909 ; Res: 909 ; CLC: 152.#

.

- - - Добавлено - - -


RUN DIV
DIV - v1.1
Memory Top: 131072
BUF words: 21186
CPU KHz: 6916 >

1: Nop Evt: 12 ; Run: 16193 ; Res: 16205 ; CLC: 8.5
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 1329 ; Res: 1329 ; CLC: 104.1
1: Div R2, R1 Evt: 0 ; Run: 1329 ; Res: 1329 ; CLC: 104.1
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 1329 ; Res: 1329 ; CLC: 104.1
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 1329 ; Res: 1329 ; CLC: 104.1
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 1329 ; Res: 1329 ; CLC: 104.1

Program completed.

.RUN JSR
JSR - v1.2
Memory Top: 131072
BUF words: 21132
CPU KHz: 6916 >

SOB Loops: 5762 ; CLC: 24.0
Loop Loops: 1923 ; CLC: 47.9
Loop +Interrupt Loops: 899 ; CLC: 129.9
IOT Loops: 1299 ; CLC: 82.5
Trap Loops: 1299 ; CLC: 82.5
JSR PC, (R0) Loops: 2276 ; CLC: 36.8
JSR R0, (PC) Loops: 2276 ; CLC: 36.8
JSR PC, (PC) Loops: 2277 ; CLC: 36.7
JSR PC, (PC)+ Loops: 2277 ; CLC: 36.7
JSR PC,@(PC)+ Loops: 2165 ; CLC: 39.9
JSR PC,@(R0)+ Loops: 1950 ; CLC: 46.9
JSR PC,@(SP)+ Loops: 1951 ; CLC: 46.9
JSR PC,@-(R0) Loops: 1949 ; CLC: 47.0
JSR R1,@-(R0) Loops: 1948 ; CLC: 47.0
JSR PC, Label Loops: 2163 ; CLC: 39.9
JSR PC,@Var Loops: 1869 ; CLC: 50.0
JSR R1,@x(R0) Loops: 1868 ; CLC: 50.0

.RUN RTS
RTS - v1.1
Memory Top: 131072
BUF words: 21218
CPU KHz: 5300 > 6916
CPU KHz: 6916

1: Nop Evt: 21 ; Run: 16188 ; Res: 16209 ; CLC: 8.5
1: RtS PC Evt: 6 ; Run: 4865 ; Res: 4871 ; CLC: 28.4
1: RtS R0 Evt: 6 ; Run: 4864 ; Res: 4870 ; CLC: 28.4
1: RtS R1 Evt: 6 ; Run: 4864 ; Res: 4870 ; CLC: 28.4
1: RtI Evt: 4 ; Run: 2714 ; Res: 2718 ; CLC: 50.9
1: RtT Evt: 4 ; Run: 2714 ; Res: 2718 ; CLC: 50.9

Program completed.

.RUN BIS
BiS - v1.1
CPU KHz: 5300 > 6916
CPU KHz: 6916

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

BiS R1 7 23 23 32 25 34 34 34 43
BiS (R1) 16 35 35 45 38 47 45 45 54
BiS (R2)+ 16 35 35 45 38 47 45 45 54
BiS (PC)+ 16 33 33 42 33 42 42 40 52
BiS @(R2)+ 25 44 44 54 47 56 54 54 64
BiS -(R1) 16 36 35 45 38 47 45 45 54
BiS @-(R1) 25 44 44 54 47 56 54 54 64
BiS Addr 26 42 42 52 42 52 53 50 62
BiS @Tab(R1) 36 52 52 61 52 61 62 59 71

Program completed.

.RUN CMP
Cmp - v1.1
CPU KHz: 5300 > 6916
CPU KHz: 6916

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Cmp R1 7 16 16 25 18 27 30 24 39
Cmp (R1) 16 28 28 37 30 40 41 34 50
Cmp (R2)+ 16 28 28 37 30 40 41 34 50
Cmp (PC)+ 16 25 25 34 25 34 38 32 48
Cmp @(R2)+ 25 37 37 47 40 49 49 43 59
Cmp -(R1) 16 28 28 37 30 40 41 34 50
Cmp @-(R1) 25 37 37 47 40 49 49 43 59
Cmp Addr 26 35 35 45 35 45 48 42 58
Cmp @Tab(R1) 36 45 45 54 45 54 58 51 67

Program completed.

- - - Добавлено - - -


RUN MOV
Mov - v1.1
CPU KHz: 5300 > 6916
CPU KHz: 6916

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Mov R1 7 19 19 28 21 30 28 28 38
Mov (R1) 16 32 32 41 33 42 39 39 49
Mov (R2)+ 16 32 32 41 33 42 39 39 49
Mov (PC)+ 16 28 28 38 28 38 36 33 47
Mov @(R2)+ 25 41 41 50 42 52 48 48 58
Mov -(R1) 16 32 32 41 33 42 39 39 49
Mov @-(R1) 25 41 41 50 42 51 48 48 58
Mov Addr 26 38 38 48 38 48 47 43 57
Mov @Tab(R1) 36 48 48 57 48 57 56 53 66

Program completed.

.RUN OP1
Op1 - v1.1
CPU KHz: 5300 > 6916
CPU KHz: 6916

SOB : 23 ! Last SOB : 13 ! Br : 16 ! BCS : 8 ! BCC : 16 ! SeC : 8

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Tst 7 16 16 25 16 25 29 23 38
TstB 7 16 16 25 16 25 29 26 38
Inc 7 23 23 32 23 32 33 31 42
IncB 7 23 24 33 24 33 33 31 42
Clr 7 19 19 28 19 28 27 24 38
ClrB 7 23 24 33 24 33 33 31 42
MTPS 12 23 23 32 23 32 37 34 47
MFPS 7 23 24 33 24 33 33 31 42
XOr 7 23 23 33 25 34 34 34 43
SwaB 7 23 23 33 23 33 33 31 42
SXt 7 19 19 28 19 28 27 24 37

Program completed.

.RUN JMP
JMP - v1.4
Memory Top: 131072
BUF words: 21207
CPU KHz: 5300 > 6916
CPU KHz: 6916

SOB Loops: 5759 ; CLC: 24.0
Br Loops: 3400 ; CLC: 16.7
Jmp (R0) Loops: 2848 ; CLC: 24.6
Jmp (PC) Loops: 2860 ; CLC: 24.4
Jmp (PC)+ Loops: 2860 ; CLC: 24.4
Mov R0, PC Loops: 3400 ; CLC: 16.7
Add R0, PC Loops: 3407 ; CLC: 16.6
Jmp LABEL Loops: 2700 ; CLC: 27.2
Jmp @#Addr Loops: 2706 ; CLC: 27.1
Jmp @(R0)+ Loops: 2338 ; CLC: 35.2
Jmp @-(R0) Loops: 2341 ; CLC: 35.1
Jmp xx(R0) Loops: 2700 ; CLC: 27.2
Jmp @x(R0) Loops: 2213 ; CLC: 38.5
Jmp @Var Loops: 2220 ; CLC: 38.3

Program completed.

.RUN MUL
MUL - v1.1
Memory Top: 131072
BUF words: 21102
CPU KHz: 5300 > 6916
CPU KHz: 6916

1: Nop Evt: 11 ; Run: 16194 ; Res: 16205 ; CLC: 8.5
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 0 ; Run: 1570 ; Res: 1570 ; CLC: 88.1
1: Mul R2, R1 Evt: 0 ; Run: 1570 ; Res: 1570 ; CLC: 88.1
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 0 ; Run: 1570 ; Res: 1570 ; CLC: 88.1
1: Mul R2, R1 Evt: 0 ; Run: 1570 ; Res: 1570 ; CLC: 88.1
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1570 ; Res: 1570 ; CLC: 88.1
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1570 ; Res: 1570 ; CLC: 88.1
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1570 ; Res: 1570 ; CLC: 88.1
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1570 ; Res: 1570 ; CLC: 88.1
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1570 ; Res: 1570 ; CLC: 88.1

.

- - - Добавлено - - -


RUN ADD
Add - v1.1
CPU KHz: 5300 > 6916
CPU KHz: 6916

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Add R1 7 23 23 32 25 34 34 34 43
Add (R1) 16 35 35 45 38 47 45 45 54
Add (R2)+ 16 35 35 45 38 47 45 45 54
Add (PC)+ 16 33 33 42 33 42 42 40 52
Add @(R2)+ 25 44 44 54 47 56 54 54 64
Add -(R1) 16 35 35 45 38 47 45 45 54
Add @-(R1) 25 44 44 54 47 56 54 54 64
Add Addr 26 42 42 52 42 52 53 50 62
Add @Tab(R1) 36 52 52 61 52 61 62 59 71

Program completed.

.RUN BISB
BiSB - v1.1
CPU KHz: 5300 > 6916
CPU KHz: 6916

R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)

BiSB R1 7 23 24 33 26 34 34 34 44
BiSB (R1) 16 36 36 45 38 47 45 45 54
BiSB (R4)+ 16 36 36 45 38 47 45 45 54
BiSB (PC)+ 23 40 40 49 40 49 50 47 59
BiSB @(R2)+ 25 44 45 54 47 56 54 54 64
BiSB -(R1) 16 36 36 45 38 47 45 45 54
BiSB @-(R3) 25 44 45 54 47 56 54 54 63
BiSB Addr 26 42 43 52 43 52 53 50 62
BiSB @Tab(R3) 36 52 52 61 53 61 62 59 71

Program completed.

.RUN CMPB
CmpB - v1.1
CPU KHz: 5300 > 6916
CPU KHz: 6916

R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)

CmpB R1 7 16 16 25 18 27 30 30 39
CmpB (R1) 16 28 28 37 30 40 41 41 50
CmpB (R4)+ 16 28 28 37 30 40 41 41 50
CmpB (PC)+ 23 33 33 42 33 42 45 42 55
CmpB @(R2)+ 25 37 37 47 40 49 50 50 59
CmpB -(R1) 16 28 28 37 30 40 41 41 50
CmpB @-(R3) 25 37 37 47 40 49 49 50 59
CmpB Addr 26 35 35 45 36 45 48 46 58
CmpB @Tab(R3) 36 45 45 54 45 54 58 54 67

Program completed.

.RUN MOVB
MovB - v1.1
CPU KHz: 5300 > 6916
CPU KHz: 6916

R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)

MovB R1 7 23 24 33 26 34 34 34 44
MovB (R1) 16 36 36 45 38 47 45 45 54
MovB (R4)+ 16 36 36 45 38 47 45 45 54
MovB (PC)+ 23 40 40 49 40 49 50 47 59
MovB @(R2)+ 25 44 45 54 47 56 54 54 64
MovB -(R1) 16 36 36 45 38 47 45 45 54
MovB @-(R3) 25 44 45 54 47 56 54 54 64
MovB Addr 26 42 43 52 43 52 53 50 62
MovB @Tab(R3) 36 52 52 61 53 61 62 59 71

Program completed.

- - - Добавлено - - -


.RUN ASH1
ASH1 - v1.1
Memory Top: 131072
BUF words: 20984
CPU KHz: 5300 > 6916
CPU KHz: 6916
1: ASh #00., R0 Evt: 0 ; Run: 3358 ; Res: 3358 ; CLC: 41.2
1: ASh #01., R0 Evt: 1 ; Run: 3058 ; Res: 3059 ; CLC: 45.2
1: ASh #02., R0 Evt: 0 ; Run: 2806 ; Res: 2806 ; CLC: 49.3
1: ASh #03., R0 Evt: 1 ; Run: 2590 ; Res: 2591 ; CLC: 53.4
1: ASh #04., R0 Evt: 0 ; Run: 2398 ; Res: 2398 ; CLC: 57.7
1: ASh #05., R0 Evt: 0 ; Run: 2236 ; Res: 2236 ; CLC: 61.9
1: ASh #06., R0 Evt: 0 ; Run: 2158 ; Res: 2158 ; CLC: 64.1
1: ASh #07., R0 Evt: 0 ; Run: 1979 ; Res: 1979 ; CLC: 69.9
1: ASh #08., R0 Evt: 0 ; Run: 1864 ; Res: 1864 ; CLC: 74.2
1: ASh #09., R0 Evt: 0 ; Run: 1766 ; Res: 1766 ; CLC: 78.3
1: ASh #10., R0 Evt: 0 ; Run: 1679 ; Res: 1679 ; CLC: 82.4
1: ASh #11., R0 Evt: 0 ; Run: 1619 ; Res: 1619 ; CLC: 85.4
1: ASh #12., R0 Evt: 0 ; Run: 1524 ; Res: 1524 ; CLC: 90.8
1: ASh #13., R0 Evt: 0 ; Run: 1457 ; Res: 1457 ; CLC: 94.9
1: ASh #14., R0 Evt: 0 ; Run: 1397 ; Res: 1397 ; CLC: 99.0
1: ASh #15., R0 Evt: 0 ; Run: 1349 ; Res: 1349 ; CLC: 102.5
1: ASh #16., R0 Evt: 0 ; Run: 1295 ; Res: 1295 ; CLC: 106.8
1: ASh #17., R0 Evt: 0 ; Run: 1246 ; Res: 1246 ; CLC: 111.0
1: ASh #20., R0 Evt: 0 ; Run: 1120 ; Res: 1120 ; CLC: 123.5
1: ASh #30., R0 Evt: 0 ; Run: 848 ; Res: 848 ; CLC: 163.#
1: ASh #31., R0 Evt: 0 ; Run: 828 ; Res: 828 ; CLC: 167.#

.RUN ASH3
ASH3 - v1.1
Memory Top: 131072
BUF words: 20987
CPU KHz: 5300 > 6916
CPU KHz: 6916
1: 0: ASh R2,R0 Evt: 0 ; Run: 6908 ; Res: 6908 ; CLC: 20.0
1: 1: ASh R2,R0 Evt: 0 ; Run: 5755 ; Res: 5755 ; CLC: 24.0
1: 2: ASh R2,R0 Evt: 0 ; Run: 4933 ; Res: 4933 ; CLC: 28.0
1: 3: ASh R2,R0 Evt: 0 ; Run: 4317 ; Res: 4317 ; CLC: 32.0
1: 4: ASh R2,R0 Evt: 0 ; Run: 3837 ; Res: 3837 ; CLC: 36.0
1: 5: ASh R2,R0 Evt: 0 ; Run: 3453 ; Res: 3453 ; CLC: 40.1
1: 6: ASh R2,R0 Evt: 0 ; Run: 3140 ; Res: 3140 ; CLC: 44.1
1: 7: ASh R2,R0 Evt: 0 ; Run: 2878 ; Res: 2878 ; CLC: 48.1
1: 8: ASh R2,R0 Evt: 0 ; Run: 2657 ; Res: 2657 ; CLC: 52.1
1: 9: ASh R2,R0 Evt: 0 ; Run: 2467 ; Res: 2467 ; CLC: 56.1
1: 10: ASh R2,R0 Evt: 0 ; Run: 2302 ; Res: 2302 ; CLC: 60.1
1: 11: ASh R2,R0 Evt: 0 ; Run: 2158 ; Res: 2158 ; CLC: 64.1
1: 12: ASh R2,R0 Evt: 0 ; Run: 2032 ; Res: 2032 ; CLC: 68.1
1: 13: ASh R2,R0 Evt: 0 ; Run: 1919 ; Res: 1919 ; CLC: 72.1
1: 14: ASh R2,R0 Evt: 0 ; Run: 1818 ; Res: 1818 ; CLC: 76.1
1: 15: ASh R2,R0 Evt: 0 ; Run: 1727 ; Res: 1727 ; CLC: 80.1
1: 16: ASh R2,R0 Evt: 0 ; Run: 1645 ; Res: 1645 ; CLC: 84.1
1: 17: ASh R2,R0 Evt: 0 ; Run: 1570 ; Res: 1570 ; CLC: 88.1
1: 20: ASh R2,R0 Evt: 0 ; Run: 1382 ; Res: 1382 ; CLC: 100.1
1: 30: ASh R2,R0 Evt: 0 ; Run: 987 ; Res: 987 ; CLC: 140.#
1: 31: ASh R2,R0 Evt: 0 ; Run: 960 ; Res: 960 ; CLC: 144.#

.RUN ASHC
ASHC - v1.1
Memory Top: 131072
BUF words: 21142
CPU KHz: 5300 > 6916
CPU KHz: 6916

1: Nop Evt: 11 ; Run: 16194 ; Res: 16205 ; CLC: 8.5
R2 = 0
1: AShC R2, R0 Evt: 0 ; Run: 4935 ; Res: 4935 ; CLC: 28.0
1: AShC R2, R1 Evt: 0 ; Run: 4941 ; Res: 4941 ; CLC: 28.0
R2 = 1
1: AShC R2, R0 Evt: 0 ; Run: 4318 ; Res: 4318 ; CLC: 32.0
1: AShC R2, R1 Evt: 0 ; Run: 4322 ; Res: 4322 ; CLC: 32.0
R2 = 8
1: AShC R2, R0 Evt: 0 ; Run: 2302 ; Res: 2302 ; CLC: 60.1
1: AShC R2, R1 Evt: 0 ; Run: 2302 ; Res: 2302 ; CLC: 60.1
R2 = -1
1: AShC R2, R0 Evt: 0 ; Run: 4318 ; Res: 4318 ; CLC: 32.0
1: AShC R2, R1 Evt: 0 ; Run: 4325 ; Res: 4325 ; CLC: 32.0
R2 = -8
1: AShC R2, R0 Evt: 0 ; Run: 2302 ; Res: 2302 ; CLC: 60.1
1: AShC R2, R1 Evt: 0 ; Run: 2302 ; Res: 2302 ; CLC: 60.1

Program completed.

.

.RUN ASHC2
ASHC2 - v1.1
Memory Top: 131072
BUF words: 20988
CPU KHz: 5300 > 6916
CPU KHz: 6916
1: AShC #000., R0 Evt: 1 ; Run: 2806 ; Res: 2807 ; CLC: 49.3
1: AShC #-01., R0 Evt: 0 ; Run: 2610 ; Res: 2610 ; CLC: 53.0
1: AShC #-02., R0 Evt: 0 ; Run: 2413 ; Res: 2413 ; CLC: 57.3
1: AShC #-03., R0 Evt: 0 ; Run: 2254 ; Res: 2254 ; CLC: 61.4
1: AShC #-04., R0 Evt: 0 ; Run: 2174 ; Res: 2174 ; CLC: 63.6
1: AShC #-05., R0 Evt: 0 ; Run: 1989 ; Res: 1989 ; CLC: 69.5
1: AShC #-06., R0 Evt: 0 ; Run: 1874 ; Res: 1874 ; CLC: 73.8
1: AShC #-07., R0 Evt: 0 ; Run: 1774 ; Res: 1774 ; CLC: 78.0
1: AShC #-08., R0 Evt: 0 ; Run: 1683 ; Res: 1683 ; CLC: 82.2
1: AShC #-09., R0 Evt: 0 ; Run: 1626 ; Res: 1626 ; CLC: 85.1
1: AShC #-10., R0 Evt: 0 ; Run: 1528 ; Res: 1528 ; CLC: 90.5
1: AShC #-11., R0 Evt: 0 ; Run: 1460 ; Res: 1460 ; CLC: 94.7
1: AShC #-12., R0 Evt: 0 ; Run: 1401 ; Res: 1401 ; CLC: 98.7
1: AShC #-13., R0 Evt: 0 ; Run: 1354 ; Res: 1354 ; CLC: 102.2
1: AShC #-14., R0 Evt: 0 ; Run: 1297 ; Res: 1297 ; CLC: 106.6
1: AShC #-15., R0 Evt: 0 ; Run: 1249 ; Res: 1249 ; CLC: 110.7
1: AShC #-16., R0 Evt: 0 ; Run: 1204 ; Res: 1204 ; CLC: 114.9
1: AShC #-17., R0 Evt: 0 ; Run: 1162 ; Res: 1162 ; CLC: 119.0
1: AShC #-20., R0 Evt: 0 ; Run: 1084 ; Res: 1084 ; CLC: 127.6
1: AShC #-30., R0 Evt: 0 ; Run: 811 ; Res: 811 ; CLC: 171.#
1: AShC #-31., R0 Evt: 0 ; Run: 791 ; Res: 791 ; CLC: 175.#

.RUN ASHC4
ASHC4 - v1.1
Memory Top: 131072
BUF words: 20980
CPU KHz: 5300 > 6916
CPU KHz: 6916
1: 0: AShC R2,R0 Evt: 0 ; Run: 4935 ; Res: 4935 ; CLC: 28.0
1: -1: AShC R2,R0 Evt: 0 ; Run: 4317 ; Res: 4317 ; CLC: 32.0
1: -2: AShC R2,R0 Evt: 0 ; Run: 3837 ; Res: 3837 ; CLC: 36.0
1: -3: AShC R2,R0 Evt: 0 ; Run: 3454 ; Res: 3454 ; CLC: 40.0
1: -4: AShC R2,R0 Evt: 0 ; Run: 3140 ; Res: 3140 ; CLC: 44.1
1: -5: AShC R2,R0 Evt: 0 ; Run: 2878 ; Res: 2878 ; CLC: 48.1
1: -6: AShC R2,R0 Evt: 0 ; Run: 2657 ; Res: 2657 ; CLC: 52.1
1: -7: AShC R2,R0 Evt: 0 ; Run: 2467 ; Res: 2467 ; CLC: 56.1
1: -8: AShC R2,R0 Evt: 0 ; Run: 2302 ; Res: 2302 ; CLC: 60.1
1: -9: AShC R2,R0 Evt: 0 ; Run: 2159 ; Res: 2159 ; CLC: 64.1
1: -10: AShC R2,R0 Evt: 0 ; Run: 2032 ; Res: 2032 ; CLC: 68.1
1: -11: AShC R2,R0 Evt: 0 ; Run: 1919 ; Res: 1919 ; CLC: 72.1
1: -12: AShC R2,R0 Evt: 0 ; Run: 1818 ; Res: 1818 ; CLC: 76.1
1: -13: AShC R2,R0 Evt: 0 ; Run: 1727 ; Res: 1727 ; CLC: 80.1
1: -14: AShC R2,R0 Evt: 0 ; Run: 1645 ; Res: 1645 ; CLC: 84.1
1: -15: AShC R2,R0 Evt: 0 ; Run: 1570 ; Res: 1570 ; CLC: 88.1
1: -16: AShC R2,R0 Evt: 0 ; Run: 1502 ; Res: 1502 ; CLC: 92.1
1: -17: AShC R2,R0 Evt: 0 ; Run: 1439 ; Res: 1439 ; CLC: 96.1
1: -20: AShC R2,R0 Evt: 0 ; Run: 1279 ; Res: 1279 ; CLC: 108.1
1: -30: AShC R2,R0 Evt: 0 ; Run: 934 ; Res: 934 ; CLC: 148.#
1: -31: AShC R2,R0 Evt: 0 ; Run: 909 ; Res: 909 ; CLC: 152.#

.RUN MOVPC1
MovPC - v1.2
CPU KHz: 5300 > 6916
CPU KHz: 6916

Mov (PC), (PC)+ 38.8
MovB (PC), (PC)+ 44.7
Mov (PC), R0 16.5
MovB (PC), R0 16.5
Mov (PC), (PC) 38.8
MovB (PC), (PC) 42.4
Mov (PC)+, R0 16.5
MovB (PC)+, R0 23.7
Mov R0, (PC)+ 28.7
MovB R0, (PC)+ 34.8

Program completed.

- - - Добавлено - - -

MOVPC2 не проходит.

.RUN MOVPC2
MovPC2 - v1.2
Memory Top: 131072
BUF words: 21174
CPU KHz: 6916 > 6916
CPU KHz: 6916

1: Nop Evt: 21 ; Run: 16189 ; Res: 16210 ; CLC: 8.5
1: Mov R0, R0 Evt: 23 ; Run: 18997 ; Res: 19020 ; CLC: 7.3
1: Mov R0, (PC) Evt: 6 ; Run: 4851 ; Res: 4857 ; CLC: 28.5
1: MovB R0, (PC) Evt: 5 ; Run: 4210 ; Res: 4215 ; CLC: 32.8
1: Mov (PC), R0 Evt: 10 ; Run: 8376 ; Res: 8386 ; CLC: 16.5
1: MovB (PC), R0 Evt: 10 ; Run: 8384 ; Res: 8394 ; CLC: 16.5
::: SP = PC :::

Patron
02.05.2016, 13:35
сделать тест VM1BIS начиная с команды BISVM1BIS_v1.1 (http://emulator.pdp-11.org.ru/misc/VM1BIS_v1.1.zip)

MiX
02.05.2016, 20:23
Тест МС1201.01

Сбойнуло но команда ВIS прошла. Ещё интересно, почему с адресе 177710 хаотичные данные. Это как-то влияет на тест?
Совокупность 3х тестов ВIS устроит? Или надо единый неразрывный тест.


VM1BIS

1801VM1 BIS & BIC Timings Test v1.1
CPU RunTime: 3626650
Memory Top: 131072

177706/000000
177710/177777

Scale: 256
Retry: 400
R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

BiS R1 12 40 40 51 41 52 51 51 60
BiS (R1) 26 47 47 58 47 60 58 58 68
BiS (R1)+ 26 47 47 58 47 60 58 58 68
BiS @(R1)+ 37 58 58 68 60 69 68 68 80
BiS -(R1) 27 48 48 60 48 60 60 60 69
BiS @-(R1) 38 60 60 69 60 70 69 69 80
BiS Addr 37 58 58 68 60 69 68 68 80
BiS @Tab(R1) 48 68 68 80 69 80 80 80 90

R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

BiSB R1 12 40 40 51 41 53 51 51 60
BiSB (R1) 26 47 47 58 48 60 58 58 68
BiSB (R1)+ 26 47 47 58 48 60 58 58 68
BiSB @(R1)+ 37 58 58 69 60 69 69 68 80
BiSB -(R1) 27 48 48 60 49 60 60 60 69
BiSB @-(R1) 39 60 60 69 60 70 69 69 80
BiSB Addr 37 58 58 69 60 69 69 69 80
BiSB @Tab(R1) 48 68 68 80 69 80 80 80 90

R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

BiC R1 12 40 40 51 41 53 51 51 60
BiC (R1) 26 47 47 58 48 60 58 58 68
BiC (R1)+ 26 47 47 58 48 60 58 58 68
BiC @(R1)+ 37 58 58 69 60 69 69 69 80
BiC -(R1) 27 48 48 60 49 60 60 60 69
BiC @-(R1) 39 60 60 69 60 70 69 69 80
BiC Addr 37 59 59 69 60 69 69 69 80
BiC @Tab(R1) 48 69 69 80 69 80 80 80 90

R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

BiCB R1 12 40 40 51 41 53 51 51 60
BiCB (R1) 26 47 47 58 48 60 58 58 68
BiCB (R1)+ 26 47 47 58 48 60 58 58 68
BiCB @(R1)+ 37 59 59 69 60 69 69 69

Patron
03.05.2016, 03:09
Ещё интересно, почему с адресе 177710 хаотичные данные. Это как-то влияет на тест?Это регистр счётчика ВЕ-таймера - интерес представляет значение после включения питания, в остальных случаях там результат предыдущего счёта.



Совокупность 3х тестов ВIS устроит?Да, вполне.

MiX
03.05.2016, 09:11
Да, вполне.
С МС1201.01 закончено?

Теперь как быть с тестом MOVPC2 на плате МС1201.02 с процессором 1806ВМ2 который не проходит. Будет персональный тест для 1806ВМ2 или этот результат устраивает?

Patron
03.05.2016, 12:07
Теперь как быть с тестом MOVPC2 на плате МС1201.02 с процессором 1806ВМ2 который не проходит.Если тест просто зависает, то весьма вероятно, что это глюк предвыборки, родственный мега-глюку 1801ВМ1, который зависает при попытке выполнить две идущие подряд команды MOVB PC,R0.

Запись по адресу следующей команды должна перезапустить предвыборку, но при этом необходима коррекция внутренних процессорных копий регистра PC. Не исключено, что такая коррекция производится не путём сравнения адреса записи с адресом предвыборки, а только для записи с методом адресации (PC) ( как в команде MOV R0,(PC) ). Во второй части теста вместо регистра PC при записи используется регистр SP с тем же значением, что и у регистра PC. Если в этот момент происходит зависание - это весьма похоже на зацикливание предвыборки.

Но программно тут вряд ли что-то можно ещё проверить, потому что для уверенности, что происходит именно непрерывное чтение и выполнение одной и той же команды MOV R0, (SP) - надо видеть осциллограмму шины в логическом анализаторе.

Alex_K
03.05.2016, 12:55
Кстати у меня на УКНЦ программы MOVPC2 версии 2.1 и 2.2 также не идут, если я использую HX-сервер и вывод в стык С2 (NC11SJ и конфигурация NC11_HX_COM.cfg). При выводе в регистры терминала всё проходит на ура. Версия 2.1 зацикливается на проверке NOP-а. При этом предварительно через С2 выводятся два байта «000»«000». А версия 2.2 останавливается по адресу 06270, потому что в 6266 находится 0.


006250/012767
006252/000001
006254/000006
006256/012737
006260/006060
006262/000100
006264/127544
006266/000000
006270/000240
..........
131006/000240
131010/005205
131012/000137
131014/006266

MiX
03.05.2016, 18:22
Alex_K, Перечитал всю тему но версии 2.1 и 2.2 так и не нашёл. Откуда эти версии? Да и как проходит тест если не использовать НХ.

Alex_K
03.05.2016, 18:37
Alex_K, Перечитал всю тему но версии 2.1 и 2.2 так и не нашёл. Откуда эти версии?
Ошибся маленько. Версии 1.1 и 1.2. Просто программа называется MOVPC2, от этой двойки в конце и назвал версии 2.1 и 2.2.

Да и как проходит тест если не использовать НХ.
Нормально проходит. Проходит он, если я гружусь и с HX, но конфигурация, в который системный вывод идёт в регистры терминала, ну то есть по обычному. А вот версия, которая выводит информацию через С2, не идёт. Версия 1.1 циклится на проверке первой же команды NOP, выводя перед этим два нулевых байта в стык С2, а версия 1.2 выпадает в пульт, т.к. на месте команд NOP расположен стек, он затирает первую команду сохранённым PSW, а там ноль. Потом с этого нуля и начинается исполнение с вылетом в пульт.

litwr
04.05.2016, 21:26
Потрясающая тема. Два часа читал подрял - не оторваться. :) Жалко только, что много картинок выпало и кто-то свои же материалы подтер. :( Про глюки особенно интересно получилось. Для 6502 уже лет более 5 как сделали веб-визуализатор http://www.visual6502.org/ - все странности можно на транзисторном уровне "потрогать"... В начале 90-х нехорошо было, когда столкнулся на 386 с глюком http://computer-programming-forum.com/46-asm/c4c6d67250609049.htm - но по сравнению с тем, что можно встретить с PDP-11 это несерьёзно.
Попробовал тесты уважаемого Patron'а с эмулятором уважаемого Patron'a (извините возможно за повторы) в виртуальной машине с Виндуз ХР под Линукс. Результаты - всегда нули, слишком быстро.
Поразительно отсутствие тестов с БК. :(
Хорошо бы, если кто-нибудь сделал таблички, как это удачно получилось у уважаемого Vladru с бейсиками (http://zx-pk.ru/threads/25778-otechestvennye-kompyutery-bystrodejstvie.html?p=866583&viewfull=1#post866583), для разных PDP. По фирменным все тайминги есть в фирменных руководствах...
Буду благодарен, если кто поможет железом в небольшом неновом исследовании - http://litwr2.atspace.eu/pi/pi-spigot-benchmark.html. Но одноплатные вычислители в табличку скорее всего не включу, не совсем понимаю, что это такое. :(

Vamos
30.07.2016, 00:37
Похоже посчитали попугаев


Круто !!! Собственно на реальной УКНЦ показывает 8012, что в принципе и должно быть. Очень редко проскакивает 8016, было даже 8000 и 8024. 8012 получается оттого, что сетевой таймер на УКНЦ имеет период не 20000 мкс, а 19968 мкс. В пересчете к 20000 мкс и получается 8013, это та частота, которую я вводил в тестах.

Какое умножение? У 1801ВМ2 входящая частота делится на два. И этот разделенный сигнал используется внутри процессора.

и как-то странно при 664 тыс. у ВМ2 при 8 МГц

Сообщение от Patron
При разгоне ДВК-1 до 6 МГц и использовании памяти с задержкой выборки 300 нс ( напр. К1801РЕ2а ) - быстродействие регистровых команд составит:
610 тыс. оп/сек.

у меня вопросы - ???

Patron
03.09.2017, 15:05
...

Результаты тестирования таймингов платы Н.МС11100.1 (http://zx-pk.ru/threads/18184-osobennosti-protsessorov-i-ustrojstv-arkhitektury-pdp-11-testy-diagnostika.html?p=926762&viewfull=1#post926762)

MiX
15.09.2017, 10:31
Тест платы М2 Эл.60.

.SPEED

ТЕСТ БЫСТРОДЕЙСТВИЯ

КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 240

КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 176

КОМАНДА УМНОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 32

КОМАНДА ДЕЛЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 48

Другой тест показал вот что:

VM1SPD

1801VM1 Mhz Speed Meter v1.0

>>> Trap to 004 <<<
PC/002576
>>> Interrupt <<<
>>> Interrupt <<<
>>> Interrupt <<<
>>> Interrupt <<<
>>> Interrupt <<<
>>> Interrupt <<<
>>> Interrupt <<<

Patron
15.09.2017, 12:09
Другой тест показал вот что:Это потому что у Эл.60 процессор LSI-11, а не 1801ВМ1. На Эл.60 надо запускать универсальные тесты (http://emulator.pdp-11.org.ru/misc/PDP11_TimingsTests.zip), работающие на любых процессорах.

MiX
15.09.2017, 12:29
Это потому что у Эл.60 процессор LSI-11
А фактор какой ставить?

Patron
15.09.2017, 12:56
А фактор какой ставить?Примерно зная правильную частоту шины - запустить PDPCLK.SAV и проверить разные варианты величины Factor для определения правильного значения ( которое может потребоваться в других тестах ). У уже протестированных процессоров встречались только два варианта: 3 и 4.

MiX
15.09.2017, 13:12
Все варианты теста платы М2.

.PDPCLK
PDPCLK - Calculate CPU clocks - v1.0
Memory Top: 122542
BUF words: 19669
Factor : 4 > 1
Factor : 1

CPU KHz: 257

Program completed.

.PDPCLK
PDPCLK - Calculate CPU clocks - v1.0
Memory Top: 122542
BUF words: 19669
Factor : 1 > 2
Factor : 2

CPU KHz: 514

Program completed.

.PDPCLK
PDPCLK - Calculate CPU clocks - v1.0
Memory Top: 122542
BUF words: 19669
Factor : 2 > 3
Factor : 3

CPU KHz: 780

Program completed.

.PDPCLK
PDPCLK - Calculate CPU clocks - v1.0
Memory Top: 122542
BUF words: 19669
Factor : 3 > 4
Factor : 4

CPU KHz: 1040

Program completed.


Примерно зная правильную частоту шины
Шины? Какой сигнал на МПИ померить?
Знаю точно что частота процессора 10,4Мгц ( 2,6Мгц х 4 ).

Patron
15.09.2017, 13:37
Шины? Какой сигнал на МПИ померить?
Знаю точно что частота процессора 10,2Мгц ( 2,6Мгц х 4 ).В смысле - частота процессора. Интересует, сколько тактов тратит процессор на один сдвиг в команде AShC. Если Эл.60 эмулирует AShC микропрограммно - тактов может тратиться гораздо больше, чем 3 или 4. В такой ситуации нет уверенности в адекватности тестов, запрашивающих величину Factor.

MiX
15.09.2017, 13:40
В смысле - частота процессора.
Да- 10,4Мгц.

Но вопрос был о шине.

Patron
15.09.2017, 14:32
Да- 10,4Мгц. Но вопрос был о шине.Интересует та частота, значение которой должна сообщать программа PDPCLK. Значение Factor нужно увеличивать до тех пор, пока значение частоты, сообщаемое программой PDPCLK, не совпадёт с тем значением, которое эта программа должна сообщать для данной платы.

MiX
15.09.2017, 15:00
Замерил сигнал СИП во время прохождения теста PDPCLK.
Замер показал - 267Кгц.
Фактор 1 показал -260Кгц.

Годится?

Patron
15.09.2017, 16:54
Замерил сигнал СИП во время прохождения теста PDPCLK.
Замер показал - 267Кгц.
Фактор 1 показал -260Кгц.
Годится?Если тактовая частота процессора Эл.60 = 260 КГц - значит так и есть. Позже измеренное значение тактовой частоты процессора надо будет использовать в других тестах таймингов.

MiX
15.09.2017, 17:17
Если тактовая частота процессора Эл.60 = 260 КГц - значит так и есть.
Тактовая частота процессора Эл.60 = 10,4Мгц.
Тактовый генератор даёт 4 фазы по 2,6Мгц. В сумме и будет 10,4Мгц.
Замер делал на сигнале СИП во время прохождения теста PDPCLK.
Замер СИПа - 267Кгц.

Patron
15.09.2017, 17:45
Тактовая частота процессора Эл.60 = 10,4Мгц.Значит, надо увеличивать значение Factor до тех пор, пока результат не станет 10400 ( похоже, что такой результат будет при Factor = 40 ). Потом, запустив тест MOV.SAV и подставив измеренное значение - можно будет посмотреть, сколько тактов этой частоты придётся на одну регистровую команду. Если получится меньше 40 - значит одна регистровая команда выполняется быстрее одного такта СИП.

- - - Добавлено - - -

Можно подобрать значение Factor для частоты тактового генератора 2.6МГц ( результат 2600 - похоже, что такой результат будет при Factor = 10 ) - тогда, подставив измеренное значение в тесте MOV.SAV - можно узнать количество тактов генератора, затрачиваемых на выполнение каждой команды.

MiX
15.09.2017, 17:56
Значит, надо увеличивать значение Factor до тех пор, пока результат не станет 10400.
Понял. А я то думал что фактор больше 4 не работает. :)

Итак фактор Эл.60=40.

- - - Добавлено - - -


Можно подобрать значение Factor для частоты тактового генератора 2.6МГц
В смысле, два раза тест делать?

Patron
15.09.2017, 18:01
Итак фактор Эл.60=40.Это если считать фазы "интерпретатора микрокода", но глядя на быстродействие - термин "частота процессора" больше подходит для 2.6МГц - веди судя по результатам теста SPEED.SAV - Эл.60 работает примерно с такой же скоростью, как процессор 1801ВМ1 на частоте 2.6МГц.

- - - Добавлено - - -


В смысле, два раза тест делать?Думаю, на роль "частоты процессора" для Эл.60 больше подходит 2.6МГц = 2600 KHz = Factor-10. Тогда количество тактов на команду получится примерно таким же, как у 1801ВМ1.

MiX
15.09.2017, 19:25
Тесты Эл.60 платы М2.

.RUN ADD
Add - v1.1
CPU KHz: 5300 > 2600
CPU KHz: 2600

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Add R1 11 20 20 26 22 29 28 20 34
Add (R1) 15 24 24 31 26 33 32 24 39
Add (R2)+ 15 24 24 31 26 33 32 24 39
Add (PC)+ 15 24 24 31 26 33 32 24 39
Add @(R2)+ 22 31 31 37 33 40 39 31 45
Add -(R1) 17 26 26 33 29 35 34 26 41
Add @-(R1) 24 33 33 40 35 42 41 33 48
Add Addr 23 32 32 39 34 41 40 32 47
Add @Tab(R1) 30 39 39 45 41 48 47 39 53

Program completed.

.RUN ASH
ASH - v1.1
Memory Top: 122542
BUF words: 19537
CPU KHz: 5300 > 2600
CPU KHz: 2600

1: Nop Evt: 5 ; Run: 4680 ; Res: 4685 ; CLC: 11.1
R2 = 0
1: ASh R2, R0 Evt: 0 ; Run: 1338 ; Res: 1338 ; CLC: 38.9
R2 = 1
1: ASh R2, R0 Evt: 0 ; Run: 1122 ; Res: 1122 ; CLC: 46.3
R2 = 8
1: ASh R2, R0 Evt: 0 ; Run: 518 ; Res: 518 ; CLC: 101.#
R2 = -1
1: ASh R2, R0 Evt: 0 ; Run: 1238 ; Res: 1238 ; CLC: 42.0
R2 = -8
1: ASh R2, R0 Evt: 0 ; Run: 641 ; Res: 641 ; CLC: 81.#

Program completed.

.RUN ASH1
ASH1 - v1.1
Memory Top: 122542
BUF words: 19340
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: ASh #00., R0 Evt: 0 ; Run: 1199 ; Res: 1199 ; CLC: 43.4
1: ASh #01., R0 Evt: 0 ; Run: 1022 ; Res: 1022 ; CLC: 50.9
1: ASh #02., R0 Evt: 2 ; Run: 889 ; Res: 891 ; CLC: 58.#
1: ASh #03., R0 Evt: 0 ; Run: 778 ; Res: 778 ; CLC: 67.#
1: ASh #04., R0 Evt: 1 ; Run: 694 ; Res: 695 ; CLC: 75.#
1: ASh #05., R0 Evt: 0 ; Run: 631 ; Res: 631 ; CLC: 83.#
1: ASh #06., R0 Evt: 0 ; Run: 579 ; Res: 579 ; CLC: 90.#
1: ASh #07., R0 Evt: 0 ; Run: 534 ; Res: 534 ; CLC: 98.#
1: ASh #08., R0 Evt: 0 ; Run: 495 ; Res: 495 ; CLC: 105.#
1: ASh #09., R0 Evt: 0 ; Run: 462 ; Res: 462 ; CLC: 113.#
1: ASh #10., R0 Evt: 0 ; Run: 429 ; Res: 429 ; CLC: 121.#
1: ASh #11., R0 Evt: 2 ; Run: 406 ; Res: 408 ; CLC: 128.#
1: ASh #12., R0 Evt: 0 ; Run: 380 ; Res: 380 ; CLC: 137.#
1: ASh #13., R0 Evt: 0 ; Run: 362 ; Res: 362 ; CLC: 144.#
1: ASh #14., R0 Evt: 0 ; Run: 344 ; Res: 344 ; CLC: 152.#
1: ASh #15., R0 Evt: 0 ; Run: 327 ; Res: 327 ; CLC: 160.#
1: ASh #16., R0 Evt: 0 ; Run: 310 ; Res: 310 ; CLC: 168.#
1: ASh #17., R0 Evt: 0 ; Run: 298 ; Res: 298 ; CLC: 175.#
1: ASh #20., R0 Evt: 0 ; Run: 261 ; Res: 261 ; CLC: 200.#
1: ASh #30., R0 Evt: 0 ; Run: 188 ; Res: 188 ; CLC: 278.#
1: ASh #31., R0 Evt: 0 ; Run: 182 ; Res: 182 ; CLC: 287.#

.RUN ASH2
ASH2 - v1.1
Memory Top: 122542
BUF words: 19336
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: ASh #000., R0 Evt: 4 ; Run: 1205 ; Res: 1209 ; CLC: 43.0
1: ASh #-01., R0 Evt: 0 ; Run: 1115 ; Res: 1115 ; CLC: 46.6
1: ASh #-02., R0 Evt: 0 ; Run: 991 ; Res: 991 ; CLC: 53.#
1: ASh #-03., R0 Evt: 0 ; Run: 904 ; Res: 904 ; CLC: 58.#
1: ASh #-04., R0 Evt: 0 ; Run: 826 ; Res: 826 ; CLC: 63.#
1: ASh #-05., R0 Evt: 0 ; Run: 754 ; Res: 754 ; CLC: 69.#
1: ASh #-06., R0 Evt: 0 ; Run: 690 ; Res: 690 ; CLC: 75.#
1: ASh #-07., R0 Evt: 0 ; Run: 654 ; Res: 654 ; CLC: 80.#
1: ASh #-08., R0 Evt: 0 ; Run: 609 ; Res: 609 ; CLC: 86.#
1: ASh #-09., R0 Evt: 0 ; Run: 570 ; Res: 570 ; CLC: 91.#
1: ASh #-10., R0 Evt: 0 ; Run: 538 ; Res: 538 ; CLC: 97.#
1: ASh #-11., R0 Evt: 0 ; Run: 512 ; Res: 512 ; CLC: 102.#
1: ASh #-12., R0 Evt: 0 ; Run: 485 ; Res: 485 ; CLC: 107.#
1: ASh #-13., R0 Evt: 0 ; Run: 459 ; Res: 459 ; CLC: 114.#
1: ASh #-14., R0 Evt: 0 ; Run: 437 ; Res: 437 ; CLC: 119.#
1: ASh #-15., R0 Evt: 0 ; Run: 417 ; Res: 417 ; CLC: 125.#
1: ASh #-16., R0 Evt: 0 ; Run: 403 ; Res: 403 ; CLC: 129.#
1: ASh #-17., R0 Evt: 0 ; Run: 386 ; Res: 386 ; CLC: 135.#
1: ASh #-20., R0 Evt: 0 ; Run: 344 ; Res: 344 ; CLC: 152.#
1: ASh #-30., R0 Evt: 0 ; Run: 252 ; Res: 252 ; CLC: 207.#
1: ASh #-31., R0 Evt: 0 ; Run: 245 ; Res: 245 ; CLC: 213.#

.RUN ASH3
ASH3 - v1.1
Memory Top: 122542
BUF words: 19343
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: 0: ASh R2,R0 Evt: 0 ; Run: 1348 ; Res: 1348 ; CLC: 38.6
1: 1: ASh R2,R0 Evt: 0 ; Run: 1116 ; Res: 1116 ; CLC: 46.6
1: 2: ASh R2,R0 Evt: 0 ; Run: 955 ; Res: 955 ; CLC: 55.#
1: 3: ASh R2,R0 Evt: 2 ; Run: 836 ; Res: 838 ; CLC: 62.#
1: 4: ASh R2,R0 Evt: 0 ; Run: 743 ; Res: 743 ; CLC: 70.#
1: 5: ASh R2,R0 Evt: 0 ; Run: 673 ; Res: 673 ; CLC: 77.#
1: 6: ASh R2,R0 Evt: 2 ; Run: 608 ; Res: 610 ; CLC: 85.#
1: 7: ASh R2,R0 Evt: 0 ; Run: 557 ; Res: 557 ; CLC: 94.#
1: 8: ASh R2,R0 Evt: 0 ; Run: 518 ; Res: 518 ; CLC: 101.#
1: 9: ASh R2,R0 Evt: 0 ; Run: 481 ; Res: 481 ; CLC: 108.#
1: 10: ASh R2,R0 Evt: 0 ; Run: 446 ; Res: 446 ; CLC: 117.#
1: 11: ASh R2,R0 Evt: 0 ; Run: 418 ; Res: 418 ; CLC: 125.#
1: 12: ASh R2,R0 Evt: 0 ; Run: 396 ; Res: 396 ; CLC: 132.#
1: 13: ASh R2,R0 Evt: 0 ; Run: 374 ; Res: 374 ; CLC: 139.#
1: 14: ASh R2,R0 Evt: 0 ; Run: 354 ; Res: 354 ; CLC: 147.#
1: 15: ASh R2,R0 Evt: 2 ; Run: 335 ; Res: 337 ; CLC: 155.#
1: 16: ASh R2,R0 Evt: 0 ; Run: 318 ; Res: 318 ; CLC: 164.#
1: 17: ASh R2,R0 Evt: 0 ; Run: 304 ; Res: 304 ; CLC: 172.#
1: 20: ASh R2,R0 Evt: 0 ; Run: 267 ; Res: 267 ; CLC: 195.#
1: 30: ASh R2,R0 Evt: 0 ; Run: 191 ; Res: 191 ; CLC: 274.#
1: 31: ASh R2,R0 Evt: 0 ; Run: 186 ; Res: 186 ; CLC: 281.#

.RUN ASH4
ASH4 - v1.1
Memory Top: 122542
BUF words: 19337
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: 0: ASh R2,R0 Evt: 0 ; Run: 1338 ; Res: 1338 ; CLC: 38.9
1: -1: ASh R2,R0 Evt: 0 ; Run: 1232 ; Res: 1232 ; CLC: 42.2
1: -2: ASh R2,R0 Evt: 0 ; Run: 1088 ; Res: 1088 ; CLC: 47.8
1: -3: ASh R2,R0 Evt: 0 ; Run: 977 ; Res: 977 ; CLC: 53.#
1: -4: ASh R2,R0 Evt: 0 ; Run: 889 ; Res: 889 ; CLC: 59.#
1: -5: ASh R2,R0 Evt: 0 ; Run: 813 ; Res: 813 ; CLC: 64.#
1: -6: ASh R2,R0 Evt: 2 ; Run: 746 ; Res: 748 ; CLC: 70.#
1: -7: ASh R2,R0 Evt: 0 ; Run: 688 ; Res: 688 ; CLC: 76.#
1: -8: ASh R2,R0 Evt: 0 ; Run: 641 ; Res: 641 ; CLC: 81.#
1: -9: ASh R2,R0 Evt: 0 ; Run: 600 ; Res: 600 ; CLC: 87.#
1: -10: ASh R2,R0 Evt: 0 ; Run: 568 ; Res: 568 ; CLC: 92.#
1: -11: ASh R2,R0 Evt: 0 ; Run: 532 ; Res: 532 ; CLC: 98.#
1: -12: ASh R2,R0 Evt: 0 ; Run: 503 ; Res: 503 ; CLC: 104.#
1: -13: ASh R2,R0 Evt: 0 ; Run: 481 ; Res: 481 ; CLC: 108.#
1: -14: ASh R2,R0 Evt: 0 ; Run: 455 ; Res: 455 ; CLC: 115.#
1: -15: ASh R2,R0 Evt: 0 ; Run: 433 ; Res: 433 ; CLC: 120.#
1: -16: ASh R2,R0 Evt: 0 ; Run: 417 ; Res: 417 ; CLC: 125.#
1: -17: ASh R2,R0 Evt: 0 ; Run: 396 ; Res: 396 ; CLC: 132.#
1: -20: ASh R2,R0 Evt: 0 ; Run: 352 ; Res: 352 ; CLC: 148.#
1: -30: ASh R2,R0 Evt: 0 ; Run: 257 ; Res: 257 ; CLC: 203.#
1: -31: ASh R2,R0 Evt: 0 ; Run: 249 ; Res: 249 ; CLC: 210.#


- - - Добавлено - - -


RUN ASHC
ASHC - v1.1
Memory Top: 122542
BUF words: 19498
CPU KHz: 5300 > 2600
CPU KHz: 2600

1: Nop Evt: 38 ; Run: 4679 ; Res: 4717 ; CLC: 11.0
R2 = 0
1: AShC R2, R0 Evt: 0 ; Run: 962 ; Res: 962 ; CLC: 54.#
1: AShC R2, R1 Evt: 0 ; Run: 959 ; Res: 959 ; CLC: 54.#
R2 = 1
1: AShC R2, R0 Evt: 0 ; Run: 807 ; Res: 807 ; CLC: 65.#
1: AShC R2, R1 Evt: 0 ; Run: 807 ; Res: 807 ; CLC: 65.#
R2 = 8
1: AShC R2, R0 Evt: 0 ; Run: 389 ; Res: 389 ; CLC: 134.#
1: AShC R2, R1 Evt: 0 ; Run: 387 ; Res: 387 ; CLC: 135.#
R2 = -1
1: AShC R2, R0 Evt: 0 ; Run: 867 ; Res: 867 ; CLC: 60.#
1: AShC R2, R1 Evt: 0 ; Run: 867 ; Res: 867 ; CLC: 60.#
R2 = -8
1: AShC R2, R0 Evt: 0 ; Run: 426 ; Res: 426 ; CLC: 122.#
1: AShC R2, R1 Evt: 0 ; Run: 426 ; Res: 426 ; CLC: 122.#

Program completed.

.RUN ASHC1
ASHC1 - v1.1
Memory Top: 122542
BUF words: 19347
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: AShC #00., R0 Evt: 0 ; Run: 872 ; Res: 872 ; CLC: 60.#
1: AShC #01., R0 Evt: 0 ; Run: 757 ; Res: 757 ; CLC: 69.#
1: AShC #02., R0 Evt: 0 ; Run: 658 ; Res: 658 ; CLC: 79.#
1: AShC #03., R0 Evt: 0 ; Run: 583 ; Res: 583 ; CLC: 89.#
1: AShC #04., R0 Evt: 2 ; Run: 528 ; Res: 530 ; CLC: 98.#
1: AShC #05., R0 Evt: 0 ; Run: 481 ; Res: 481 ; CLC: 108.#
1: AShC #06., R0 Evt: 0 ; Run: 440 ; Res: 440 ; CLC: 118.#
1: AShC #07., R0 Evt: 0 ; Run: 403 ; Res: 403 ; CLC: 129.#
1: AShC #08., R0 Evt: 0 ; Run: 377 ; Res: 377 ; CLC: 138.#
1: AShC #09., R0 Evt: 0 ; Run: 351 ; Res: 351 ; CLC: 149.#
1: AShC #10., R0 Evt: 0 ; Run: 327 ; Res: 327 ; CLC: 160.#
1: AShC #11., R0 Evt: 0 ; Run: 309 ; Res: 309 ; CLC: 169.#
1: AShC #12., R0 Evt: 0 ; Run: 292 ; Res: 292 ; CLC: 179.#
1: AShC #13., R0 Evt: 0 ; Run: 275 ; Res: 275 ; CLC: 190.#
1: AShC #14., R0 Evt: 0 ; Run: 263 ; Res: 263 ; CLC: 198.#
1: AShC #15., R0 Evt: 0 ; Run: 248 ; Res: 248 ; CLC: 211.#
1: AShC #16., R0 Evt: 0 ; Run: 239 ; Res: 239 ; CLC: 218.#
1: AShC #17., R0 Evt: 0 ; Run: 228 ; Res: 228 ; CLC: 229.#
1: AShC #20., R0 Evt: 0 ; Run: 202 ; Res: 202 ; CLC: 259.#
1: AShC #30., R0 Evt: 0 ; Run: 144 ; Res: 144 ; CLC: 364.#
1: AShC #31., R0 Evt: 0 ; Run: 142 ; Res: 142 ; CLC: 369.#

.RUN ASHC2
ASHC2 - v1.1
Memory Top: 122542
BUF words: 19344
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: AShC #000., R0 Evt: 0 ; Run: 871 ; Res: 871 ; CLC: 60.#
1: AShC #-01., R0 Evt: 0 ; Run: 806 ; Res: 806 ; CLC: 65.#
1: AShC #-02., R0 Evt: 0 ; Run: 710 ; Res: 710 ; CLC: 73.#
1: AShC #-03., R0 Evt: 0 ; Run: 636 ; Res: 636 ; CLC: 82.#
1: AShC #-04., R0 Evt: 0 ; Run: 572 ; Res: 572 ; CLC: 91.#
1: AShC #-05., R0 Evt: 0 ; Run: 520 ; Res: 520 ; CLC: 100.#
1: AShC #-06., R0 Evt: 0 ; Run: 480 ; Res: 480 ; CLC: 109.#
1: AShC #-07., R0 Evt: 0 ; Run: 444 ; Res: 444 ; CLC: 117.#
1: AShC #-08., R0 Evt: 0 ; Run: 413 ; Res: 413 ; CLC: 126.#
1: AShC #-09., R0 Evt: 0 ; Run: 384 ; Res: 384 ; CLC: 136.#
1: AShC #-10., R0 Evt: 0 ; Run: 360 ; Res: 360 ; CLC: 145.#
1: AShC #-11., R0 Evt: 0 ; Run: 340 ; Res: 340 ; CLC: 153.#
1: AShC #-12., R0 Evt: 0 ; Run: 322 ; Res: 322 ; CLC: 162.#
1: AShC #-13., R0 Evt: 0 ; Run: 306 ; Res: 306 ; CLC: 170.#
1: AShC #-14., R0 Evt: 0 ; Run: 289 ; Res: 289 ; CLC: 181.#
1: AShC #-15., R0 Evt: 0 ; Run: 275 ; Res: 275 ; CLC: 190.#
1: AShC #-16., R0 Evt: 0 ; Run: 264 ; Res: 264 ; CLC: 198.#
1: AShC #-17., R0 Evt: 0 ; Run: 251 ; Res: 251 ; CLC: 208.#
1: AShC #-20., R0 Evt: 0 ; Run: 224 ; Res: 224 ; CLC: 233.#
1: AShC #-30., R0 Evt: 0 ; Run: 162 ; Res: 162 ; CLC: 323.#
1: AShC #-31., R0 Evt: 0 ; Run: 157 ; Res: 157 ; CLC: 333.#

.RUN ASHC3
ASHC3 - v1.1
Memory Top: 122542
BUF words: 19342
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: 0: AShC R2,R0 Evt: 0 ; Run: 962 ; Res: 962 ; CLC: 54.#
1: 1: AShC R2,R0 Evt: 0 ; Run: 807 ; Res: 807 ; CLC: 65.#
1: 2: AShC R2,R0 Evt: 1 ; Run: 698 ; Res: 699 ; CLC: 74.#
1: 3: AShC R2,R0 Evt: 0 ; Run: 620 ; Res: 620 ; CLC: 84.#
1: 4: AShC R2,R0 Evt: 0 ; Run: 551 ; Res: 551 ; CLC: 95.#
1: 5: AShC R2,R0 Evt: 0 ; Run: 498 ; Res: 498 ; CLC: 105.#
1: 6: AShC R2,R0 Evt: 0 ; Run: 458 ; Res: 458 ; CLC: 114.#
1: 7: AShC R2,R0 Evt: 0 ; Run: 421 ; Res: 421 ; CLC: 124.#
1: 8: AShC R2,R0 Evt: 0 ; Run: 387 ; Res: 387 ; CLC: 135.#
1: 9: AShC R2,R0 Evt: 0 ; Run: 360 ; Res: 360 ; CLC: 145.#
1: 10: AShC R2,R0 Evt: 0 ; Run: 339 ; Res: 339 ; CLC: 154.#
1: 11: AShC R2,R0 Evt: 0 ; Run: 317 ; Res: 317 ; CLC: 165.#
1: 12: AShC R2,R0 Evt: 0 ; Run: 298 ; Res: 298 ; CLC: 175.#
1: 13: AShC R2,R0 Evt: 0 ; Run: 284 ; Res: 284 ; CLC: 184.#
1: 14: AShC R2,R0 Evt: 1 ; Run: 267 ; Res: 268 ; CLC: 195.#
1: 15: AShC R2,R0 Evt: 0 ; Run: 256 ; Res: 256 ; CLC: 204.#
1: 16: AShC R2,R0 Evt: 0 ; Run: 242 ; Res: 242 ; CLC: 216.#
1: 17: AShC R2,R0 Evt: 0 ; Run: 233 ; Res: 233 ; CLC: 224.#
1: 20: AShC R2,R0 Evt: 0 ; Run: 204 ; Res: 204 ; CLC: 256.#
1: 30: AShC R2,R0 Evt: 0 ; Run: 147 ; Res: 147 ; CLC: 356.#
1: 31: AShC R2,R0 Evt: 0 ; Run: 143 ; Res: 143 ; CLC: 366.#

.RUN ASHC4
ASHC4 - v1.1
Memory Top: 122542
BUF words: 19336
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: 0: AShC R2,R0 Evt: 0 ; Run: 955 ; Res: 955 ; CLC: 55.#
1: -1: AShC R2,R0 Evt: 0 ; Run: 873 ; Res: 873 ; CLC: 60.#
1: -2: AShC R2,R0 Evt: 0 ; Run: 760 ; Res: 760 ; CLC: 69.#
1: -3: AShC R2,R0 Evt: 1 ; Run: 673 ; Res: 674 ; CLC: 77.#
1: -4: AShC R2,R0 Evt: 0 ; Run: 604 ; Res: 604 ; CLC: 86.#
1: -5: AShC R2,R0 Evt: 0 ; Run: 548 ; Res: 548 ; CLC: 95.#
1: -6: AShC R2,R0 Evt: 0 ; Run: 498 ; Res: 498 ; CLC: 105.#
1: -7: AShC R2,R0 Evt: 0 ; Run: 461 ; Res: 461 ; CLC: 113.#
1: -8: AShC R2,R0 Evt: 0 ; Run: 427 ; Res: 427 ; CLC: 122.#
1: -9: AShC R2,R0 Evt: 0 ; Run: 397 ; Res: 397 ; CLC: 131.#
1: -10: AShC R2,R0 Evt: 0 ; Run: 374 ; Res: 374 ; CLC: 139.#
1: -11: AShC R2,R0 Evt: 0 ; Run: 350 ; Res: 350 ; CLC: 149.#
1: -12: AShC R2,R0 Evt: 0 ; Run: 330 ; Res: 330 ; CLC: 158.#
1: -13: AShC R2,R0 Evt: 0 ; Run: 314 ; Res: 314 ; CLC: 166.#
1: -14: AShC R2,R0 Evt: 0 ; Run: 296 ; Res: 296 ; CLC: 176.#
1: -15: AShC R2,R0 Evt: 0 ; Run: 284 ; Res: 284 ; CLC: 184.#
1: -16: AShC R2,R0 Evt: 0 ; Run: 271 ; Res: 271 ; CLC: 193.#
1: -17: AShC R2,R0 Evt: 0 ; Run: 257 ; Res: 257 ; CLC: 203.#
1: -20: AShC R2,R0 Evt: 0 ; Run: 227 ; Res: 227 ; CLC: 230.#
1: -30: AShC R2,R0 Evt: 0 ; Run: 165 ; Res: 165 ; CLC: 317.#
1: -31: AShC R2,R0 Evt: 0 ; Run: 160 ; Res: 160 ; CLC: 327.#


- - - Добавлено - - -


RUN BIS
BiS - v1.1
CPU KHz: 5300 > 2600
CPU KHz: 2600

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

BiS R1 11 20 20 26 22 29 28 20 34
BiS (R1) 15 24 24 31 26 33 32 24 39
BiS (R2)+ 15 24 24 31 26 33 32 24 39
BiS (PC)+ 15 24 24 31 26 33 32 24 39
BiS @(R2)+ 22 31 31 37 33 40 39 31 45
BiS -(R1) 17 26 26 33 29 36 34 26 41
BiS @-(R1) 24 33 33 40 36 42 41 33 48
BiS Addr 23 32 32 39 34 41 40 32 47
BiS @Tab(R1) 30 39 39 45 41 48 47 39 53

Program completed.

.RUN BISB
BiSB - v1.1
CPU KHz: 5300 > 2600
CPU KHz: 2600

R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)

BiSB R1 10 18 18 24 20 26 25 18 32
BiSB (R1) 13 21 21 28 23 30 29 22 36
BiSB (R4)+ 15 23 23 30 25 32 31 24 37
BiSB (PC)+ 14 22 22 29 24 31 30 23 37
BiSB @(R2)+ 20 28 28 34 30 37 36 29 42
BiSB -(R1) 17 25 25 32 28 34 33 26 40
BiSB @-(R3) 22 30 30 37 32 39 37 31 44
BiSB Addr 21 29 29 36 31 37 37 30 43
BiSB @Tab(R3) 27 36 36 42 37 44 43 37 50

Program completed.

.RUN CMP
Cmp - v1.1
CPU KHz: 5300 > 2600
CPU KHz: 2600

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Cmp R1 11 16 16 23 18 25 24 16 31
Cmp (R1) 15 21 21 27 23 30 29 21 35
Cmp (R2)+ 15 21 21 27 23 30 29 21 35
Cmp (PC)+ 15 21 21 27 23 30 29 21 35
Cmp @(R2)+ 22 27 27 34 30 37 35 27 42
Cmp -(R1) 17 23 23 30 25 32 31 23 37
Cmp @-(R1) 24 30 30 37 32 39 37 30 44
Cmp Addr 23 29 29 35 31 37 37 29 43
Cmp @Tab(R1) 30 35 35 42 37 44 43 35 50

Program completed.

.RUN CMPB
CmpB - v1.1
CPU KHz: 5300 > 2600
CPU KHz: 2600

R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)

CmpB R1 10 14 14 21 16 23 22 15 29
CmpB (R1) 13 18 18 25 20 27 25 18 32
CmpB (R4)+ 15 20 20 27 22 29 27 21 34
CmpB (PC)+ 14 18 18 25 21 28 27 20 33
CmpB @(R2)+ 20 25 25 31 27 33 32 25 39
CmpB -(R1) 17 22 22 29 24 31 30 23 37
CmpB @-(R3) 22 27 27 33 29 35 34 28 41
CmpB Addr 21 25 25 32 27 34 33 26 40
CmpB @Tab(R3) 28 32 32 39 34 41 40 33 47

Program completed.

- - - Добавлено - - -


RUN DIV
DIV - v1.1
Memory Top: 122542
BUF words: 19542
CPU KHz: 5300 > 2600
CPU KHz: 2600

1: Nop Evt: 0 ; Run: 4711 ; Res: 4711 ; CLC: 11.0
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 212 ; Res: 212 ; CLC: 246.#
1: Div R2, R1 Evt: 0 ; Run: 212 ; Res: 212 ; CLC: 246.#
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 211 ; Res: 211 ; CLC: 248.#
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 1000 ; Res: 1000 ; CLC: 52.0
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 1003 ; Res: 1003 ; CLC: 51.8

Program completed.

.RUN JMP
JMP - v1.4
Memory Top: 122542
BUF words: 19563
CPU KHz: 5300 > 2600
CPU KHz: 2600

SOB Loops: 3368 ; CLC: 15.4
Br Loops: 1952 ; CLC: 11.2
Jmp (R0) Loops: 1814 ; CLC: 13.2
Jmp (PC) Loops: 1801 ; CLC: 13.4
Jmp (PC)+ Loops: 1673 ; CLC: 15.7
Mov R0, PC Loops: 1965 ; CLC: 11.0
Add R0, PC Loops: 1956 ; CLC: 11.2
Jmp LABEL Loops: 1504 ; CLC: 19.1
Jmp @#Addr Loops: 1619 ; CLC: 16.7
Jmp @(R0)+ Loops: 1619 ; CLC: 16.7
Jmp @-(R0) Loops: 1504 ; CLC: 19.1
Jmp xx(R0) Loops: 1514 ; CLC: 18.9
Jmp @x(R0) Loops: 1297 ; CLC: 24.7
Jmp @Var Loops: 1296 ; CLC: 24.7

Program completed.

.RUN JSR
JSR - v1.2
Memory Top: 122542
BUF words: 19488
CPU KHz: 5300 > 2600
CPU KHz: 2600

SOB Loops: 3344 ; CLC: 15.6
Loop Loops: 1059 ; CLC: 33.6
Loop +Interrupt Loops: 517 ; CLC: 85.0
IOT Loops: 694 ; CLC: 59.4
Trap Loops: 771 ; CLC: 51.9
JSR PC, (R0) Loops: 1166 ; CLC: 29.0
JSR R0, (PC) Loops: 1166 ; CLC: 29.0
JSR PC, (PC) Loops: 1167 ; CLC: 29.0
JSR PC, (PC)+ Loops: 1119 ; CLC: 30.9
JSR PC,@(PC)+ Loops: 1087 ; CLC: 32.3
JSR PC,@(R0)+ Loops: 1085 ; CLC: 32.4
JSR PC,@(SP)+ Loops: 1084 ; CLC: 32.4
JSR PC,@-(R0) Loops: 1042 ; CLC: 34.4
JSR R1,@-(R0) Loops: 1042 ; CLC: 34.4
JSR PC, Label Loops: 1034 ; CLC: 34.7
JSR PC,@Var Loops: 933 ; CLC: 40.2
JSR R1,@x(R0) Loops: 935 ; CLC: 40.1

.RUN MOV
Mov - v1.1
CPU KHz: 5300 > 2600
CPU KHz: 2600

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Mov R1 11 15 16 22 18 24 23 16 30
Mov (R1) 15 20 21 26 22 29 28 21 34
Mov (R2)+ 15 20 21 26 22 29 28 21 34
Mov (PC)+ 15 20 21 26 22 29 28 21 34
Mov @(R2)+ 22 26 28 33 29 36 34 28 41
Mov -(R1) 17 22 23 29 24 31 30 23 37
Mov @-(R1) 24 29 30 36 31 37 37 30 43
Mov Addr 23 28 29 34 30 37 36 29 42
Mov @Tab(R1) 30 34 36 41 37 43 42 36 49

Program completed.

.RUN MOVB
MovB - v1.1
CPU KHz: 5300 > 2600
CPU KHz: 2600

R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)

MovB R1 12 18 18 25 20 26 25 18 32
MovB (R1) 15 21 21 28 23 30 29 22 36
MovB (R4)+ 17 23 23 30 25 32 31 24 37
MovB (PC)+ 16 22 22 29 24 31 30 23 37
MovB @(R2)+ 22 28 28 34 30 37 36 29 42
MovB -(R1) 20 25 25 32 28 34 33 26 40
MovB @-(R3) 24 30 30 37 32 39 37 31 44
MovB Addr 23 29 29 36 31 37 37 30 43
MovB @Tab(R3) 30 36 36 42 37 44 43 37 50

Program completed.

- - - Добавлено - - -


RUN MOVPC1
MovPC - v1.2
CPU KHz: 5300 > 2600
CPU KHz: 2600

Mov (PC), (PC)+ 21.4
MovB (PC), (PC)+ 22.4
Mov (PC), R0 15.5
MovB (PC), R0 15.5
Mov (PC), (PC) 20.1
MovB (PC), (PC) 21.5
Mov (PC)+, R0 15.5
MovB (PC)+, R0 16.8
Mov R0, (PC)+ 16.8
MovB R0, (PC)+ 18.9

Program completed.

.RUN MOVPC2
MovPC2 - v1.2
Memory Top: 122542
BUF words: 19530
CPU KHz: 5300 > 2600
CPU KHz: 2600

1: Nop Evt: 18 ; Run: 4710 ; Res: 4728 ; CLC: 11.0
1: Mov R0, R0 Evt: 9 ; Run: 4676 ; Res: 4685 ; CLC: 11.1
1: Mov R0, (PC) Evt: 6 ; Run: 3312 ; Res: 3318 ; CLC: 15.7
1: MovB R0, (PC) Evt: 6 ; Run: 2825 ; Res: 2831 ; CLC: 18.4
1: Mov (PC), R0 Evt: 6 ; Run: 3365 ; Res: 3371 ; CLC: 15.4
1: MovB (PC), R0 Evt: 6 ; Run: 3341 ; Res: 3347 ; CLC: 15.5
::: SP = PC :::
1: Mov R0, (SP)+ Evt: 5 ; Run: 3100 ; Res: 3105 ; CLC: 16.7
1: MovB R0, (SP)+ Evt: 5 ; Run: 2753 ; Res: 2758 ; CLC: 18.9
1: Mov (SP),(SP)+ Evt: 4 ; Run: 2440 ; Res: 2444 ; CLC: 21.3
1: MovB (SP),(SP)+ Evt: 5 ; Run: 2316 ; Res: 2321 ; CLC: 22.4

Program completed.

.RUN MUL
MUL - v1.1
Memory Top: 122542
BUF words: 19458
CPU KHz: 5300 > 2600
CPU KHz: 2600

1: Nop Evt: 38 ; Run: 4677 ; Res: 4715 ; CLC: 11.0
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 0 ; Run: 616 ; Res: 616 ; CLC: 85.#
1: Mul R2, R1 Evt: 0 ; Run: 417 ; Res: 417 ; CLC: 125.#
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 0 ; Run: 616 ; Res: 616 ; CLC: 85.#
1: Mul R2, R1 Evt: 0 ; Run: 620 ; Res: 620 ; CLC: 84.#
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 436 ; Res: 436 ; CLC: 120.#
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 351 ; Res: 351 ; CLC: 149.#
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 350 ; Res: 350 ; CLC: 149.#
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 263 ; Res: 263 ; CLC: 198.#
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 271 ; Res: 271 ; CLC: 193.#

.RUN OP1
Op1 - v1.1
CPU KHz: 5300 > 2600
CPU KHz: 2600

SOB : 15 ! Last SOB : 13 ! Br : 11 ! BCS : 11 ! BCC : 11 ! SeC : 11

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Tst 13 18 18 25 21 27 27 18 33
TstB 12 16 16 23 18 25 24 17 31
Inc 13 22 22 29 24 31 30 22 37
IncB 12 20 20 26 22 29 28 21 34
Clr 12 20 20 26 22 29 28 20 34
ClrB 12 18 18 25 21 28 27 20 33
MTPS 24 31 31 37 33 40 39 32 45
MFPS 22 28 28 34 30 37 36 29 42
XOr 11 20 20 26 22 29 28 20 34
SwaB 13 21 21 28 23 30 29 21 36
SXt 18 28 28 34 30 37 36 28 42

Program completed.

.RUN RTS
RTS - v1.1
Memory Top: 122542
BUF words: 19574
CPU KHz: 5300 > 2600
CPU KHz: 2600

1: Nop Evt: 9 ; Run: 4675 ; Res: 4684 ; CLC: 11.1
1: RtS PC Evt: 6 ; Run: 3098 ; Res: 3104 ; CLC: 16.8
1: RtS R0 Evt: 6 ; Run: 3108 ; Res: 3114 ; CLC: 16.7
1: RtS R1 Evt: 22 ; Run: 3108 ; Res: 3130 ; CLC: 16.6
1: RtI Evt: 17 ; Run: 1868 ; Res: 1885 ; CLC: 27.6
1: RtT Evt: 17 ; Run: 1868 ; Res: 1885 ; CLC: 27.6

Program completed.

- - - Добавлено - - -

А EIS,FIS тесты есть?

Patron
15.09.2017, 19:40
А EIS,FIS тесты есть?EIS - это: MUL, DIV, ASH, ASHC
Тестов FIS нет.

MiX
15.09.2017, 19:50
Тестов FIS нет.
А, ну да.
Зачем делать FIS когда в ВМ2 делает это прошивка, а в ВМ3 эмулятор ЕМ.SYS.


EIS - это: MUL, DIV, ASH, ASHC
Точно. Что-то я подумал что это входит в BIS.

nzeemin
10.04.2018, 19:42
Потрясающая тема. Два часа читал подрял - не оторваться. :) Жалко только, что много картинок выпало и кто-то свои же материалы подтер. :(

Картинки можно найти в веб-архиве. Собственно часть из них я восстановил вот сюда:
http://www.emuverse.ru/wiki/%D0%A3%D0%9A%D0%A6%D0%9D_%D0%A0%D0%B0%D1%81%D1%87% D1%91%D1%82_%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D0%B3%D 0%BE_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8_%D 0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0% B8%D1%8F_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4

Manwe
27.09.2018, 12:08
Во время работы над демкой Good Apple (http://zx-pk.ru/threads/19866-demki-dlya-bk.html?p=978812&viewfull=1#post978812) написал много тестов производительности. Мне нужно было знать точное время выполнения команд и - главное - целых блоков кода (выяснилось, что в силу архитектурных особенностей контроллера динамической памяти БК, сумма длительностей взятых по отдельности команд может не совпадать с реальной длительностью всего блока кода). Нужно это было потому, что я хотел выводить звук на Covox ровно каждые 176 тактов процессора, дабы поддерживать постоянную частоту звука 22727 Гц безо всякого джиттера.

Расчёт проводил как для медленной динамической памяти, так и помещая код в быструю верхнюю память контроллера жесткого диска. Результаты, конечно, разные.

Решил выложить часть тестов, чтобы все могли сверить свои эмуляторы :)
Исходники здесь же. Можете тестировать произвольные блоки кода и любые команды по отдельности.

66398

Вскоре собираюсь доделать тесты до конца (все команды) и выложить в отдельную тему в разделе БК-0010/11

Пока что промежуточные исходники и бинарники здесь.
Несколько примеров для БК-0010-01 3 МГц:

Аргументы fast, fm, f предназначались для обращения в fast memory, но по-моему там идёт обращение к тому типу памяти, который указан в заголовке теста. То есть для теста 45com-lo это будет обращение в low (нижнюю медленную) память.

http://thesands.ru/bk0010/temp/45com-lo.jpg

Ещё картинки:

http://thesands.ru/bk0010/temp/45com-hi.jpg
http://thesands.ru/bk0010/temp/speed-lo.jpg
http://thesands.ru/bk0010/temp/speed-hi.jpg
http://thesands.ru/bk0010/temp/test4lo.jpg
http://thesands.ru/bk0010/temp/test4hi.jpg
http://thesands.ru/bk0010/temp/test5lo.jpg
http://thesands.ru/bk0010/temp/test5hi.jpg


Производительность понятно как посчитать: 3 мегагерца делим на число тактов команды. Например, получаем 250'000 операций NOP в секунду. Отсюда одна команда NOP длится 4 микросекунды. В условиях выполнения в обычной медленной памяти.

MM
07.12.2019, 15:07
Вопрос к практикам, имевшим дело с ВМ2, по команде 000020 "ЧПТ" :
https://pic.maxiol.com/thumbs2/1575720042.531452763.20.jpg (https://pic.maxiol.com/?v=1575720042.531452763.20.jpg&dp=2)
Действие - переслать содержимое РНП в R0.
Исполняется только в режиме пульта, при установленном бите 000400 ССП.
Какова её сигнатура на МПИ - т.е. не лезет ли она в стек, или еще куда-то , кроме РНП ?

Alex_K
07.12.2019, 15:20
Действие - переслать содержимое РНП в R0.
Исполняется только в режиме пульта, при установленном бите 000400 ССП.
Какова её сигнатура на МПИ - т.е. не лезет ли она в стек, или еще куда-то , кроме РНП ?
На МПИ реализуется цикл "Безадресное чтение". В этом цикле выставляются только сигналы SEL и DIN, SYNC неактивен. Соответственно на шину должно выставится содержимое безадресного регистра, отвечать RPLY не надо. Этот же цикл реализуется и при прерываниях режима HALT, таких как останов, двойное зависание, ошибка получения адреса вектора прерывания, обработка команд FIS.
Соответственно ни в какой стек не лезет.

MiX
08.08.2020, 20:39
МС1201.01 с процессором 1801ВМ1Г.

Тест от Титуса.
ASH (test 1) -ERROR 0x47F3 / TRAP 10
ASH (test 2) -ERROR 0xB7C3 / TRAP 10
ASHC (even) -ERROR 0x69EB / TRAP 10
ASHC (odd) -ERROR 0x32A3 / TRAP 10
DIV (even) -ERROR 0x9E4A / TRAP 10
DIV (odd) -ERROR 0x43D5 / TRAP 10

Остальные команды- OK.

Тест SPEED показывает только сложение.

RT11 по команде SH CON показывает EIS.

MiX
09.08.2020, 16:31
VM1SPD.SAV
Есть отличия измерения между 1801ВМ1А И 1801ВМ1Г (Платы разные).
На А показывает более правдоподобную частоту 3,998,000.
На Г показывает 1,489,000.

Притом на Г иногда проскакивает более правдоподобная частота 4,110,000.


1801VM1 Mhz Speed Meter v1.0

177712/177400

CPU Clock = 4'110'000
CPU Clock = 1'488'000
CPU Clock = 1'488'000
CPU Clock = 1'488'000

Press <any_key> to exit..
CPU Clock = 1'489'000
Program completed.

nzeemin
09.08.2020, 19:53
RT11 по команде SH CON показывает EIS.
EIS там берётся из параметра, заданного при конфигурации системы:


MOV $CNFG2(R5),R4 ; and config word #2
...
90$: BIT #C2.EIS,R4 ;How about EIS?
BEQ 100$ ;Branch if no
PRINT EISET,<Extended Instruction Set (EIS)>

http://www.kpxx.ru/DEC/PDP-11/Software/OS/RT-11/05.07/05.07.abl/Unpacked/RESHRD.MAC

MiX
09.08.2020, 20:03
EIS там берётся из параметра, заданного при конфигурации системы:

nzeemin, В 1801ВМ1Г не полный EIS. То есть из-за умножения RT11 думает что там EIS.

Alex_K
09.08.2020, 20:14
EIS там берётся из параметра, заданного при конфигурации системы:
Наличие EIS определяется вторичным загрузчиком при загрузке системы:

;+
; Check if the processor has FULL extended instruction set.
;-
MOV #<3>,R3 ;Set up R3 to ...
MUL R3,R3 ; ... test for EIS
CMP #<3*3>,R3 ;Did it multiply right?
BEQ 40$ ;Yes
CLR @R1 ;No, don't set the bit
CK.R1 TSEIS,+2
40$: BIS (R1)+,@R0 ;Set bit if EIS present and working
http://www.kpxx.ru/DEC/PDP-11/Software/OS/RT-11/05.07/05.07.abl/Unpacked/BSTRAP.MAC

MiX
09.08.2020, 20:33
Наличие EIS определяется вторичным загрузчиком при загрузке системы:
Не совсем так, при наличии эмулятора ЕМ пишет EIS,FIS. Если не перезагружая систему деактивировать эмулятор командой SET EM OFF и вызвать RESORC ещё раз, то этих инструкций уже не покажет.
То-есть где-то проверяется заново. Да и вторичный загрузчик грузится первее чем ЕМ.

Hunta
09.08.2020, 20:37
при наличии эмулятора ЕМ пишет EIS,FIS


То-есть где-то проверяется заново

Думаю, ЕМ сам и выставляет-сбрасывает этот бит.

Alex_K
09.08.2020, 21:20
Не совсем так, при наличии эмулятора ЕМ пишет EIS,FIS. Если не перезагружая систему деактивировать эмулятор командой SET EM OFF и вызвать RESORC ещё раз, то этих инструкций уже не покажет.

Думаю, ЕМ сам и выставляет-сбрасывает этот бит.
Hunta прав. При загрузке и активации драйвера выполняется команда BIS #EIS$,CONFIG(R0), а при деактивации - BIC #EIS$,CONFIG(R0)​. Команда BIC реально выполняется, если процессор действительно не поддерживает EIS.

Hunta
09.08.2020, 21:35
Hunta прав
Это было логичным - поэтому и предположил.

BlaireCas
08.09.2021, 16:44
Тема древняя, но напишу сюда. Тестировал вывод спрайта (скорость) и начал тоже замерять команды на ЦП УКНЦ. Наткнулся на странности:
1) Команда nop выполняется медленнее чем скажем clr R0 или swab R0. Примерно на полтакта.
2) Разница между ash #4, R0 и ash #5, R0 очень маленькая (тоже полтакта). Хотя разница между ash #5,R0 и ash #6,R0 уже раз в 10 больше. И вообще разница между ash #n,R0 зависит от n нелинейно

Тестировал довольно просто, забивал кусок памяти навроде 20кб командами и гонял циклами считая прерывания сетевого таймера.
С nop вообще непонятно :) Что это за задержка в полтакта. Что курили разработчики процессора?

Hunta
08.09.2021, 16:52
Схема 1801ВМ2 уже давно восстановлена. Может пойти и посмотреть в ней.

Насчёт ASH #n, R0.

Не знаю, как сделано, но просто забить кусок памяти одной это командой не получится. Ибо после первой команды в R0 будет уже что то другое и вполне может сработать (если она есть) какая-нибудь внутренняя оптимизация. Типа, если в регистре содержится 0, то тупо ничего не делаем. В моей программе SPEED3 поэтому делается два прохода. Вначале кусок памяти забивается командами, которые создают для тестовой последовательности идентичные условиями (типа MOV #177777, R0) и меряется их скорость, потом кусок памяти забивается этими командами плюс тестовая последовательность (MOV #177777, R0; ASH #5, R0) и считается их скорость, а потом по разнице считается скорость тестовой последовательности.

BlaireCas
08.09.2021, 17:54
после первой команды в R0 будет уже что то другое
Неее... Очищаю регистры и флаги состояния процессора предварительно перед прокручиванием забитых в ОЗУ комманд.
Код простой как валенок:

mov #COUNT1, VAR000
clr VSYCNT
30$: clr R0
clr R1
clr R2
clr R3
clr R4
clr R5
mtps #0
call PAYBUF
dec VAR000
bne 30$
; output results
...
В PAYBUF записано собственно 20 килобайт повторяющихся инструкций ash #X, R0 и самая последняя return. Сетевой таймер делает только inc VSYCNT; rti .. Потом смотрю сколько накрутило прерываний.
Понятно что совсем небольшое время добавляется на очистки регистров и организацию цикла. Но для сравнения это неважно. Четко вот время выполнения сдвига на 4 и 5 бит практически одинаково, а сдвиг на 6 бит уже прилично добавляет.

Но за идею сделать разницу спасибо, надо попробовать.

Вообщем я уже начинаю понимать насколько сложно сделать правильный эмулятор со всеми этими растактовками комманд.

Hunta
08.09.2021, 17:58
ash #X, R0
И что должна делать команда сдвига, если в R0 - 0?

BlaireCas
08.09.2021, 18:20
И что должна делать команда сдвига, если в R0 - 0?
Покушать такты процессора. Нелинейно зависимые от X. Несмотря на пустой регистр - процессор тратит свое время на его сдвиг.
Кстати разницы во времени между ash #7,R0 и ash #8,R0 вообще не обнаружил.

(собственно почему затеял измерение скорости - ну банально заметил что asl R0 четыре раза подряд быстрее чем ash #4, R0)

Alex_K
08.09.2021, 18:58
Схема 1801ВМ2 уже давно восстановлена. Может пойти и посмотреть в ней.
Там не только схема восстановлена, но восстановлены алгоритмы исполнения команд. Так что можно пойти и посмотреть. Всё начинается отсюда (https://zx-pk.ru/threads/30964-revers-inzhiniring-uknts-(1515khm1-amp-2-1801vp1-1801vm2)/page95.html). Микрокод ASH(C) Rs,Rd здесь (https://zx-pk.ru/threads/30964-revers-inzhiniring-uknts-(1515khm1-amp-2-1801vp1-1801vm2)/page157.html). Ну и далее.

Hunta
08.09.2021, 19:45
Я что-то такое припоминаю, время исполнения каких-то команд EIS зависело от значений в регистрах.

Меня всё время смущало, что по исходной версии программы SPEED время выполнения DIV было меньше, чем MUL на 1801ВМ3. Вот не верил я в этом и всё тут. Что и подвигло на написание своей версии, в которой всё стало на свои места

BlaireCas
08.09.2021, 20:19
восстановлены алгоритмы исполнения команд. Так что можно пойти и посмотреть
Посмотрел. Но не нашел особо ничего подозрительного. И в эмуляторе допустим emustudio как-раз сделана линейная зависимость времени выполнения ash #x,R0 от значения x.
Однако на железке время выполнения вовсе нелинейно вышло в зав-ти от того сколько раз прокрутить регистр. Причем очень интересно вышло.

Вот такой код заполняет относительно длинный буфер:

mov #12345, R0
ash #0, R0
Запускается, замеряется время. Затем команда сдвига меняется на ash #1, R0 и т.д.
Eсли вывести время выполнения сдвигов [0..8] и приращение к предыдущему то получится скажем такое (на 1млн таких комманд в усл.ед.)

На emustudio все линейно как и ожидалось

Время Приращение
363 363
388 25
413 25
438 25
463 25
488 25
514 26
539 25
564 25


На реальной УКНЦ однако иначе (суть не в том что эмустудио быстрее, а в нелинейности):

Время Приращение
511 511
534 23
584 50
604 20
634 30
656 22
667 11
704 37
730 26

причем приращения не рандомные, повторение теста выдает точно то-же самое

Alex_K
08.09.2021, 21:02
Вот такой код заполняет относительно длинный буфер:

mov #12345, R0
ash #0, R0
В данном коде абсолютно не используется предвыборка, значит велико значение задержки при чтении из памяти. А чтение памяти идёт с разрешения арбитра видеоконтроллера. Попробуйте счётчик сдвига поместить в регистр R1 и для подсчета использовать только одну команду ASH R1,R0. Какие будут результаты?

BlaireCas
08.09.2021, 22:18
Попробуйте счётчик сдвига поместить в регистр R1 и для подсчета использовать только одну команду ASH R1,R0.
Агааа.. Попробовал навроде такого:

mov #X, R1
clr R0
ash R1, R0
ash R1, R0
ash R1, R0
... много раз ...
ash R1, R0
return
Вот теперь зависимость от количества сдвигов линейная. Времена выполнения стали навроде 600,700,800,900..

Меняя буфер на ash #X, R0(много раз) получается нелинейность (с чего я и начал собственно).
Так это что-ж такое? Процессор пока выполнял ash R1,R0 успел предвыбрать следующее за ней слово (поскольку инструкция ровно в слово лезет)?
А если след. инструкция в слово не влезла (ash #X, R0) - то он не делает предвыборку и начинается какое-то ожидание? (причем не пойми точно какое).

Alex_K
08.09.2021, 23:20
Так это что-ж такое? Процессор пока выполнял ash R1,R0 успел предвыбрать следующее за ней слово (поскольку инструкция ровно в слово лезет)?
А если след. инструкция в слово не влезла (ash #X, R0) - то он не делает предвыборку и начинается какое-то ожидание? (причем не пойми точно какое).
Оно самое. Если предвыборка нарушается, следующее слово многословной команды может быть прочитано из регистра инструкций, либо заново из памяти. Почитайте тему про 1801ВМ2, посмотрите алгоритмы выполнения различных способов адресации, узнаете много нового.

MiX
04.09.2024, 16:53
Только если микроядро LSI-11 может осуществлять несколько операций параллельно, как это делает 1801ВМ1.

Могу протестировать М7264ЕВ(без чипа FIS).

- - - Добавлено - - -

Тест скорости М7264ЕВ.

.SPEED

ТЕСТ БЫСТРОДЕЙСТВИЯ

КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 232

КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 168
.
Не густо.

- - - Добавлено - - -

Тест PDPCLK.

.PDPCLK
PDPCLK - Calculate CPU clocks - v1.0

This CPU has no ASHC instruction !!!

Program completed.

- - - Добавлено - - -

Хреново, похоже и EIS нет.

MiX
12.09.2024, 14:29
М7264ЕВ c ПЗУ РУ3.

.SPEED

ТЕСТ БЫСТРОДЕЙСТВИЯ

КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 240

КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 168

КОМАНДА УМНОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 32

КОМАНДА ДЕЛЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 48


.PDPCLK
PDPCLK - Calculate CPU clocks - v1.0
Memory Top: 126370
BUF words: 20640
Factor : 10 > 10
Factor : 10

CPU KHz: 2680

Program completed.

В реалности частоста одной фазы 2,603МГц.


ADD.
.RUN HX1:ADD
Add - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Add R1 10 19 19 26 21 28 27 19 33
Add (R1) 15 24 24 30 26 32 31 24 38
Add (R2)+ 15 24 24 30 26 32 31 24 38
Add (PC)+ 15 24 24 30 26 32 31 24 38
Add @(R2)+ 21 30 30 36 32 39 38 30 44
Add -(R1) 17 26 26 32 28 34 33 26 40
Add @-(R1) 23 32 32 39 34 41 40 32 46
Add Addr 22 31 31 38 33 40 39 31 45
Add @Tab(R1) 29 38 38 44 40 46 45 38 52

Program completed.



ASH

RUN HX1:ASH
ASH - v1.1
Memory Top: 126370
BUF words: 20508
CPU KHz: 3400 > 2600
CPU KHz: 2600

1: Nop Evt: 0 ; Run: 4789 ; Res: 4789 ; CLC: 10.9
R2 = 0
1: ASh R2, R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 37.7
R2 = 1
1: ASh R2, R0 Evt: 0 ; Run: 1148 ; Res: 1148 ; CLC: 45.3
R2 = 8
1: ASh R2, R0 Evt: 0 ; Run: 531 ; Res: 531 ; CLC: 98.#
R2 = -1
1: ASh R2, R0 Evt: 0 ; Run: 1268 ; Res: 1268 ; CLC: 41.0
R2 = -8
1: ASh R2, R0 Evt: 0 ; Run: 662 ; Res: 662 ; CLC: 79.#

Program completed.


.RUN HX1:ASH1
ASH1 - v1.1
Memory Top: 126370
BUF words: 20311
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: ASh #00., R0 Evt: 0 ; Run: 1230 ; Res: 1230 ; CLC: 42.3
1: ASh #01., R0 Evt: 0 ; Run: 1048 ; Res: 1048 ; CLC: 49.6
1: ASh #02., R0 Evt: 5 ; Run: 909 ; Res: 914 ; CLC: 57.#
1: ASh #03., R0 Evt: 0 ; Run: 802 ; Res: 802 ; CLC: 65.#
1: ASh #04., R0 Evt: 4 ; Run: 714 ; Res: 718 ; CLC: 73.#
1: ASh #05., R0 Evt: 0 ; Run: 652 ; Res: 652 ; CLC: 80.#
1: ASh #06., R0 Evt: 2 ; Run: 592 ; Res: 594 ; CLC: 88.#
1: ASh #07., R0 Evt: 0 ; Run: 548 ; Res: 548 ; CLC: 95.#
1: ASh #08., R0 Evt: 0 ; Run: 505 ; Res: 505 ; CLC: 103.#
1: ASh #09., R0 Evt: 0 ; Run: 473 ; Res: 473 ; CLC: 110.#
1: ASh #10., R0 Evt: 0 ; Run: 439 ; Res: 439 ; CLC: 119.#
1: ASh #11., R0 Evt: 0 ; Run: 416 ; Res: 416 ; CLC: 125.#
1: ASh #12., R0 Evt: 0 ; Run: 392 ; Res: 392 ; CLC: 133.#
1: ASh #13., R0 Evt: 0 ; Run: 372 ; Res: 372 ; CLC: 140.#
1: ASh #14., R0 Evt: 0 ; Run: 353 ; Res: 353 ; CLC: 148.#
1: ASh #15., R0 Evt: 0 ; Run: 336 ; Res: 336 ; CLC: 155.#
1: ASh #16., R0 Evt: 0 ; Run: 320 ; Res: 320 ; CLC: 163.#
1: ASh #17., R0 Evt: 0 ; Run: 306 ; Res: 306 ; CLC: 170.#
1: ASh #20., R0 Evt: 0 ; Run: 270 ; Res: 270 ; CLC: 193.#
1: ASh #30., R0 Evt: 0 ; Run: 194 ; Res: 194 ; CLC: 269.#
1: ASh #31., R0 Evt: 0 ; Run: 189 ; Res: 189 ; CLC: 277.#
.

.RUN HX1:ASH2
ASH2 - v1.1
Memory Top: 126370
BUF words: 20307
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: ASh #000., R0 Evt: 7 ; Run: 1230 ; Res: 1237 ; CLC: 42.0
1: ASh #-01., R0 Evt: 0 ; Run: 1141 ; Res: 1141 ; CLC: 45.6
1: ASh #-02., R0 Evt: 0 ; Run: 1019 ; Res: 1019 ; CLC: 51.0
1: ASh #-03., R0 Evt: 5 ; Run: 926 ; Res: 931 ; CLC: 56.#
1: ASh #-04., R0 Evt: 0 ; Run: 841 ; Res: 841 ; CLC: 62.#
1: ASh #-05., R0 Evt: 0 ; Run: 778 ; Res: 778 ; CLC: 67.#
1: ASh #-06., R0 Evt: 0 ; Run: 714 ; Res: 714 ; CLC: 73.#
1: ASh #-07., R0 Evt: 0 ; Run: 666 ; Res: 666 ; CLC: 78.#
1: ASh #-08., R0 Evt: 0 ; Run: 627 ; Res: 627 ; CLC: 83.#
1: ASh #-09., R0 Evt: 0 ; Run: 589 ; Res: 589 ; CLC: 88.#
1: ASh #-10., R0 Evt: 0 ; Run: 555 ; Res: 555 ; CLC: 94.#
1: ASh #-11., R0 Evt: 0 ; Run: 525 ; Res: 525 ; CLC: 99.#
1: ASh #-12., R0 Evt: 0 ; Run: 498 ; Res: 498 ; CLC: 105.#
1: ASh #-13., R0 Evt: 0 ; Run: 471 ; Res: 471 ; CLC: 111.#
1: ASh #-14., R0 Evt: 0 ; Run: 450 ; Res: 450 ; CLC: 116.#
1: ASh #-15., R0 Evt: 2 ; Run: 431 ; Res: 433 ; CLC: 120.#
1: ASh #-16., R0 Evt: 0 ; Run: 413 ; Res: 413 ; CLC: 126.#
1: ASh #-17., R0 Evt: 0 ; Run: 396 ; Res: 396 ; CLC: 132.#
1: ASh #-20., R0 Evt: 0 ; Run: 350 ; Res: 350 ; CLC: 149.#
1: ASh #-30., R0 Evt: 0 ; Run: 259 ; Res: 259 ; CLC: 202.#
1: ASh #-31., R0 Evt: 0 ; Run: 252 ; Res: 252 ; CLC: 207.#
.

.RUN HX1:ASH3
ASH3 - v1.1
Memory Top: 126370
BUF words: 20314
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: 0: ASh R2,R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 37.7
1: 1: ASh R2,R0 Evt: 1 ; Run: 1147 ; Res: 1148 ; CLC: 45.3
1: 2: ASh R2,R0 Evt: 0 ; Run: 982 ; Res: 982 ; CLC: 53.#
1: 3: ASh R2,R0 Evt: 0 ; Run: 862 ; Res: 862 ; CLC: 60.#
1: 4: ASh R2,R0 Evt: 0 ; Run: 767 ; Res: 767 ; CLC: 68.#
1: 5: ASh R2,R0 Evt: 2 ; Run: 690 ; Res: 692 ; CLC: 75.#
1: 6: ASh R2,R0 Evt: 0 ; Run: 627 ; Res: 627 ; CLC: 83.#
1: 7: ASh R2,R0 Evt: 0 ; Run: 574 ; Res: 574 ; CLC: 91.#
1: 8: ASh R2,R0 Evt: 0 ; Run: 531 ; Res: 531 ; CLC: 98.#
1: 9: ASh R2,R0 Evt: 2 ; Run: 493 ; Res: 495 ; CLC: 105.#
1: 10: ASh R2,R0 Evt: 0 ; Run: 460 ; Res: 460 ; CLC: 113.#
1: 11: ASh R2,R0 Evt: 0 ; Run: 431 ; Res: 431 ; CLC: 121.#
1: 12: ASh R2,R0 Evt: 0 ; Run: 406 ; Res: 406 ; CLC: 128.#
1: 13: ASh R2,R0 Evt: 2 ; Run: 383 ; Res: 385 ; CLC: 135.#
1: 14: ASh R2,R0 Evt: 0 ; Run: 363 ; Res: 363 ; CLC: 144.#
1: 15: ASh R2,R0 Evt: 0 ; Run: 343 ; Res: 343 ; CLC: 152.#
1: 16: ASh R2,R0 Evt: 0 ; Run: 329 ; Res: 329 ; CLC: 159.#
1: 17: ASh R2,R0 Evt: 0 ; Run: 314 ; Res: 314 ; CLC: 166.#
1: 20: ASh R2,R0 Evt: 2 ; Run: 277 ; Res: 279 ; CLC: 187.#
1: 30: ASh R2,R0 Evt: 0 ; Run: 196 ; Res: 196 ; CLC: 267.#
1: 31: ASh R2,R0 Evt: 0 ; Run: 192 ; Res: 192 ; CLC: 272.#
.

.RUN HX1:ASH4
ASH4 - v1.1
Memory Top: 126370
BUF words: 20308
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: 0: ASh R2,R0 Evt: 0 ; Run: 1380 ; Res: 1380 ; CLC: 37.7
1: -1: ASh R2,R0 Evt: 0 ; Run: 1259 ; Res: 1259 ; CLC: 41.3
1: -2: ASh R2,R0 Evt: 0 ; Run: 1122 ; Res: 1122 ; CLC: 46.3
1: -3: ASh R2,R0 Evt: 0 ; Run: 1000 ; Res: 1000 ; CLC: 52.0
1: -4: ASh R2,R0 Evt: 0 ; Run: 910 ; Res: 910 ; CLC: 57.#
1: -5: ASh R2,R0 Evt: 0 ; Run: 831 ; Res: 831 ; CLC: 63.#
1: -6: ASh R2,R0 Evt: 0 ; Run: 767 ; Res: 767 ; CLC: 68.#
1: -7: ASh R2,R0 Evt: 0 ; Run: 711 ; Res: 711 ; CLC: 73.#
1: -8: ASh R2,R0 Evt: 0 ; Run: 662 ; Res: 662 ; CLC: 79.#
1: -9: ASh R2,R0 Evt: 2 ; Run: 620 ; Res: 622 ; CLC: 84.#
1: -10: ASh R2,R0 Evt: 0 ; Run: 582 ; Res: 582 ; CLC: 90.#
1: -11: ASh R2,R0 Evt: 0 ; Run: 549 ; Res: 549 ; CLC: 95.#
1: -12: ASh R2,R0 Evt: 0 ; Run: 517 ; Res: 517 ; CLC: 101.#
1: -13: ASh R2,R0 Evt: 0 ; Run: 493 ; Res: 493 ; CLC: 106.#
1: -14: ASh R2,R0 Evt: 0 ; Run: 468 ; Res: 468 ; CLC: 111.#
1: -15: ASh R2,R0 Evt: 0 ; Run: 448 ; Res: 448 ; CLC: 116.#
1: -16: ASh R2,R0 Evt: 2 ; Run: 428 ; Res: 430 ; CLC: 121.#
1: -17: ASh R2,R0 Evt: 0 ; Run: 410 ; Res: 410 ; CLC: 127.#
1: -20: ASh R2,R0 Evt: 2 ; Run: 364 ; Res: 366 ; CLC: 142.#
1: -30: ASh R2,R0 Evt: 0 ; Run: 265 ; Res: 265 ; CLC: 197.#
1: -31: ASh R2,R0 Evt: 2 ; Run: 258 ; Res: 260 ; CLC: 201.#
.

- - - Добавлено - - -


.RUN HX1:ASHC
ASHC - v1.1
Memory Top: 126370
BUF words: 20469
CPU KHz: 5300 > 2600
CPU KHz: 2600

1: Nop Evt: 0 ; Run: 4818 ; Res: 4818 ; CLC: 10.8
R2 = 0
1: AShC R2, R0 Evt: 0 ; Run: 986 ; Res: 986 ; CLC: 53.#
1: AShC R2, R1 Evt: 1 ; Run: 986 ; Res: 987 ; CLC: 53.#
R2 = 1
1: AShC R2, R0 Evt: 0 ; Run: 832 ; Res: 832 ; CLC: 63.#
1: AShC R2, R1 Evt: 0 ; Run: 832 ; Res: 832 ; CLC: 63.#
R2 = 8
1: AShC R2, R0 Evt: 0 ; Run: 399 ; Res: 399 ; CLC: 131.#
1: AShC R2, R1 Evt: 0 ; Run: 400 ; Res: 400 ; CLC: 130.#
R2 = -1
1: AShC R2, R0 Evt: 0 ; Run: 890 ; Res: 890 ; CLC: 58.#
1: AShC R2, R1 Evt: 0 ; Run: 886 ; Res: 886 ; CLC: 59.#
R2 = -8
1: AShC R2, R0 Evt: 0 ; Run: 436 ; Res: 436 ; CLC: 120.#
1: AShC R2, R1 Evt: 0 ; Run: 436 ; Res: 436 ; CLC: 120.#

Program completed.

.RUN HX1:ASHC1
ASHC1 - v1.1
Memory Top: 126370
BUF words: 20318
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: AShC #00., R0 Evt: 0 ; Run: 892 ; Res: 892 ; CLC: 58.#
1: AShC #01., R0 Evt: 4 ; Run: 778 ; Res: 782 ; CLC: 67.#
1: AShC #02., R0 Evt: 0 ; Run: 673 ; Res: 673 ; CLC: 77.#
1: AShC #03., R0 Evt: 0 ; Run: 601 ; Res: 601 ; CLC: 87.#
1: AShC #04., R0 Evt: 0 ; Run: 543 ; Res: 543 ; CLC: 96.#
1: AShC #05., R0 Evt: 0 ; Run: 492 ; Res: 492 ; CLC: 106.#
1: AShC #06., R0 Evt: 1 ; Run: 450 ; Res: 451 ; CLC: 116.#
1: AShC #07., R0 Evt: 0 ; Run: 414 ; Res: 414 ; CLC: 126.#
1: AShC #08., R0 Evt: 0 ; Run: 386 ; Res: 386 ; CLC: 135.#
1: AShC #09., R0 Evt: 0 ; Run: 359 ; Res: 359 ; CLC: 145.#
1: AShC #10., R0 Evt: 0 ; Run: 338 ; Res: 338 ; CLC: 154.#
1: AShC #11., R0 Evt: 0 ; Run: 317 ; Res: 317 ; CLC: 165.#
1: AShC #12., R0 Evt: 0 ; Run: 298 ; Res: 298 ; CLC: 175.#
1: AShC #13., R0 Evt: 0 ; Run: 284 ; Res: 284 ; CLC: 184.#
1: AShC #14., R0 Evt: 0 ; Run: 270 ; Res: 270 ; CLC: 193.#
1: AShC #15., R0 Evt: 0 ; Run: 257 ; Res: 257 ; CLC: 203.#
1: AShC #16., R0 Evt: 0 ; Run: 245 ; Res: 245 ; CLC: 213.#
1: AShC #17., R0 Evt: 0 ; Run: 235 ; Res: 235 ; CLC: 222.#
1: AShC #20., R0 Evt: 0 ; Run: 208 ; Res: 208 ; CLC: 251.#
1: AShC #30., R0 Evt: 0 ; Run: 150 ; Res: 150 ; CLC: 349.#
1: AShC #31., R0 Evt: 0 ; Run: 146 ; Res: 146 ; CLC: 359.#
.
.RUN HX1:ASHC2
ASHC2 - v1.1
Memory Top: 126370
BUF words: 20315
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: AShC #000., R0 Evt: 0 ; Run: 888 ; Res: 888 ; CLC: 59.#
1: AShC #-01., R0 Evt: 0 ; Run: 829 ; Res: 829 ; CLC: 63.#
1: AShC #-02., R0 Evt: 0 ; Run: 729 ; Res: 729 ; CLC: 71.#
1: AShC #-03., R0 Evt: 0 ; Run: 647 ; Res: 647 ; CLC: 80.#
1: AShC #-04., R0 Evt: 0 ; Run: 589 ; Res: 589 ; CLC: 88.#
1: AShC #-05., R0 Evt: 1 ; Run: 535 ; Res: 536 ; CLC: 97.#
1: AShC #-06., R0 Evt: 0 ; Run: 492 ; Res: 492 ; CLC: 106.#
1: AShC #-07., R0 Evt: 0 ; Run: 456 ; Res: 456 ; CLC: 114.#
1: AShC #-08., R0 Evt: 1 ; Run: 423 ; Res: 424 ; CLC: 123.#
1: AShC #-09., R0 Evt: 0 ; Run: 396 ; Res: 396 ; CLC: 132.#
1: AShC #-10., R0 Evt: 0 ; Run: 372 ; Res: 372 ; CLC: 140.#
1: AShC #-11., R0 Evt: 0 ; Run: 348 ; Res: 348 ; CLC: 150.#
1: AShC #-12., R0 Evt: 0 ; Run: 331 ; Res: 331 ; CLC: 158.#
1: AShC #-13., R0 Evt: 1 ; Run: 314 ; Res: 315 ; CLC: 166.#
1: AShC #-14., R0 Evt: 0 ; Run: 298 ; Res: 298 ; CLC: 175.#
1: AShC #-15., R0 Evt: 0 ; Run: 285 ; Res: 285 ; CLC: 183.#
1: AShC #-16., R0 Evt: 0 ; Run: 270 ; Res: 270 ; CLC: 193.#
1: AShC #-17., R0 Evt: 0 ; Run: 260 ; Res: 260 ; CLC: 201.#
1: AShC #-20., R0 Evt: 0 ; Run: 230 ; Res: 230 ; CLC: 227.#
1: AShC #-30., R0 Evt: 0 ; Run: 167 ; Res: 167 ; CLC: 313.#
1: AShC #-31., R0 Evt: 0 ; Run: 162 ; Res: 162 ; CLC: 323.#
.
.RUN HX1:ASHC3
ASHC3 - v1.1
Memory Top: 126370
BUF words: 20313
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: 0: AShC R2,R0 Evt: 0 ; Run: 982 ; Res: 982 ; CLC: 53.#
1: 1: AShC R2,R0 Evt: 0 ; Run: 832 ; Res: 832 ; CLC: 63.#
1: 2: AShC R2,R0 Evt: 0 ; Run: 718 ; Res: 718 ; CLC: 73.#
1: 3: AShC R2,R0 Evt: 0 ; Run: 634 ; Res: 634 ; CLC: 82.#
1: 4: AShC R2,R0 Evt: 0 ; Run: 568 ; Res: 568 ; CLC: 92.#
1: 5: AShC R2,R0 Evt: 0 ; Run: 514 ; Res: 514 ; CLC: 101.#
1: 6: AShC R2,R0 Evt: 0 ; Run: 469 ; Res: 469 ; CLC: 111.#
1: 7: AShC R2,R0 Evt: 0 ; Run: 430 ; Res: 430 ; CLC: 121.#
1: 8: AShC R2,R0 Evt: 0 ; Run: 400 ; Res: 400 ; CLC: 130.#
1: 9: AShC R2,R0 Evt: 0 ; Run: 372 ; Res: 372 ; CLC: 140.#
1: 10: AShC R2,R0 Evt: 0 ; Run: 348 ; Res: 348 ; CLC: 150.#
1: 11: AShC R2,R0 Evt: 0 ; Run: 327 ; Res: 327 ; CLC: 160.#
1: 12: AShC R2,R0 Evt: 0 ; Run: 308 ; Res: 308 ; CLC: 169.#
1: 13: AShC R2,R0 Evt: 0 ; Run: 291 ; Res: 291 ; CLC: 179.#
1: 14: AShC R2,R0 Evt: 0 ; Run: 277 ; Res: 277 ; CLC: 188.#
1: 15: AShC R2,R0 Evt: 0 ; Run: 262 ; Res: 262 ; CLC: 199.#
1: 16: AShC R2,R0 Evt: 0 ; Run: 251 ; Res: 251 ; CLC: 208.#
1: 17: AShC R2,R0 Evt: 0 ; Run: 240 ; Res: 240 ; CLC: 218.#
1: 20: AShC R2,R0 Evt: 0 ; Run: 212 ; Res: 212 ; CLC: 246.#
1: 30: AShC R2,R0 Evt: 0 ; Run: 152 ; Res: 152 ; CLC: 344.#
1: 31: AShC R2,R0 Evt: 0 ; Run: 147 ; Res: 147 ; CLC: 356.#
.
.RUN HX1:ASHC4
ASHC4 - v1.1
Memory Top: 126370
BUF words: 20307
CPU KHz: 5300 > 2600
CPU KHz: 2600
1: 0: AShC R2,R0 Evt: 0 ; Run: 985 ; Res: 985 ; CLC: 53.#
1: -1: AShC R2,R0 Evt: 0 ; Run: 892 ; Res: 892 ; CLC: 58.#
1: -2: AShC R2,R0 Evt: 0 ; Run: 778 ; Res: 778 ; CLC: 67.#
1: -3: AShC R2,R0 Evt: 0 ; Run: 690 ; Res: 690 ; CLC: 75.#
1: -4: AShC R2,R0 Evt: 0 ; Run: 615 ; Res: 615 ; CLC: 85.#
1: -5: AShC R2,R0 Evt: 0 ; Run: 562 ; Res: 562 ; CLC: 93.#
1: -6: AShC R2,R0 Evt: 0 ; Run: 514 ; Res: 514 ; CLC: 101.#
1: -7: AShC R2,R0 Evt: 0 ; Run: 474 ; Res: 474 ; CLC: 110.#
1: -8: AShC R2,R0 Evt: 1 ; Run: 439 ; Res: 440 ; CLC: 118.#
1: -9: AShC R2,R0 Evt: 0 ; Run: 409 ; Res: 409 ; CLC: 127.#
1: -10: AShC R2,R0 Evt: 0 ; Run: 381 ; Res: 381 ; CLC: 137.#
1: -11: AShC R2,R0 Evt: 0 ; Run: 361 ; Res: 361 ; CLC: 144.#
1: -12: AShC R2,R0 Evt: 0 ; Run: 340 ; Res: 340 ; CLC: 153.#
1: -13: AShC R2,R0 Evt: 0 ; Run: 322 ; Res: 322 ; CLC: 162.#
1: -14: AShC R2,R0 Evt: 0 ; Run: 306 ; Res: 306 ; CLC: 170.#
1: -15: AShC R2,R0 Evt: 0 ; Run: 290 ; Res: 290 ; CLC: 180.#
1: -16: AShC R2,R0 Evt: 0 ; Run: 278 ; Res: 278 ; CLC: 188.#
1: -17: AShC R2,R0 Evt: 0 ; Run: 266 ; Res: 266 ; CLC: 196.#
1: -20: AShC R2,R0 Evt: 0 ; Run: 235 ; Res: 235 ; CLC: 222.#
1: -30: AShC R2,R0 Evt: 0 ; Run: 169 ; Res: 169 ; CLC: 310.#
1: -31: AShC R2,R0 Evt: 0 ; Run: 165 ; Res: 165 ; CLC: 317.#
.

- - - Добавлено - - -


.RUN HX1:BIS
BiS - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

BiS R1 10 19 19 26 21 28 27 19 33
BiS (R1) 15 24 24 30 26 32 31 24 38
BiS (R2)+ 15 24 24 30 26 32 31 24 38
BiS (PC)+ 15 24 24 30 26 32 31 24 38
BiS @(R2)+ 21 30 30 36 32 39 38 30 44
BiS -(R1) 17 26 26 32 28 34 33 26 40
BiS @-(R1) 23 32 32 39 34 41 40 32 46
BiS Addr 22 31 31 38 33 40 39 31 45
BiS @Tab(R1) 29 38 38 44 40 46 45 38 52

Program completed.

.RUN HX1:BISB
BiSB - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600

R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)

BiSB R1 9 17 17 24 19 26 25 18 31
BiSB (R1) 13 21 21 27 22 29 28 21 35
BiSB (R4)+ 15 22 22 29 25 31 30 24 36
BiSB (PC)+ 14 21 21 28 24 30 29 22 36
BiSB @(R2)+ 19 27 27 33 29 36 35 28 41
BiSB -(R1) 17 25 25 31 27 33 32 26 39
BiSB @-(R3) 21 29 29 36 31 38 36 30 43
BiSB Addr 20 28 28 35 30 36 36 29 42
BiSB @Tab(R3) 27 35 35 41 36 43 42 36 48

Program completed.

.RUN HX1:CMP
Cmp - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Cmp R1 10 16 16 22 18 25 23 16 30
Cmp (R1) 15 20 20 27 22 29 28 20 34
Cmp (R2)+ 15 20 20 27 22 29 28 20 34
Cmp (PC)+ 15 20 20 27 22 29 28 20 34
Cmp @(R2)+ 21 27 27 33 29 36 34 27 41
Cmp -(R1) 17 22 22 29 25 31 30 22 36
Cmp @-(R1) 23 29 29 36 31 38 36 29 43
Cmp Addr 22 28 28 34 30 36 36 28 42
Cmp @Tab(R1) 29 34 34 41 36 43 42 34 49

Program completed.

.RUN HX1:CMPB
CmpB - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600

R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)

CmpB R1 9 14 14 20 16 22 22 15 28
CmpB (R1) 13 17 17 24 19 26 25 18 31
CmpB (R4)+ 15 19 19 26 21 28 27 20 33
CmpB (PC)+ 14 18 18 25 20 27 26 19 32
CmpB @(R2)+ 19 24 24 30 26 32 31 25 38
CmpB -(R1) 17 21 21 28 24 30 29 22 36
CmpB @-(R3) 21 26 26 32 28 34 33 27 40
CmpB Addr 20 25 25 31 27 33 32 26 39
CmpB @Tab(R3) 27 31 31 38 33 40 39 32 45

Program completed.

- - - Добавлено - - -


.RUN HX1:DIV
DIV - v1.1
Memory Top: 126370
BUF words: 20513
CPU KHz: 5300 > 2600
CPU KHz: 2600

1: Nop Evt: 4 ; Run: 4813 ; Res: 4817 ; CLC: 10.8
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 220 ; Res: 220 ; CLC: 237.#
1: Div R2, R1 Evt: 0 ; Run: 220 ; Res: 220 ; CLC: 237.#
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 218 ; Res: 218 ; CLC: 240.#
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 1019 ; Res: 1019 ; CLC: 51.0
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 1026 ; Res: 1026 ; CLC: 50.7

Program completed.

.RUN HX1:JMP
JMP - v1.4
Memory Top: 126370
BUF words: 20534
CPU KHz: 5300 > 2600
CPU KHz: 2600

SOB Loops: 3437 ; CLC: 15.1
Br Loops: 2006 ; CLC: 10.8
Jmp (R0) Loops: 1855 ; CLC: 12.9
Jmp (PC) Loops: 1855 ; CLC: 12.9
Jmp (PC)+ Loops: 1719 ; CLC: 15.1
Mov R0, PC Loops: 2005 ; CLC: 10.8
Add R0, PC Loops: 2004 ; CLC: 10.8
Jmp LABEL Loops: 1550 ; CLC: 18.4
Jmp @#Addr Loops: 1664 ; CLC: 16.1
Jmp @(R0)+ Loops: 1665 ; CLC: 16.1
Jmp @-(R0) Loops: 1545 ; CLC: 18.5
Jmp xx(R0) Loops: 1556 ; CLC: 18.3
Jmp @x(R0) Loops: 1333 ; CLC: 23.9
Jmp @Var Loops: 1336 ; CLC: 23.8

Program completed.

.RUN HX1:JSR
JSR - v1.2
Memory Top: 126370
BUF words: 20459
CPU KHz: 5300 > 2600
CPU KHz: 2600

SOB Loops: 3434 ; CLC: 15.1
Loop Loops: 1094 ; CLC: 32.4
Loop +Interrupt Loops: 534 ; CLC: 82.2
IOT Loops: 713 ; CLC: 57.8
Trap Loops: 791 ; CLC: 50.6
JSR PC, (R0) Loops: 1197 ; CLC: 28.3
JSR R0, (PC) Loops: 1203 ; CLC: 28.1
JSR PC, (PC) Loops: 1195 ; CLC: 28.4
JSR PC, (PC)+ Loops: 1143 ; CLC: 30.4
JSR PC,@(PC)+ Loops: 1120 ; CLC: 31.3
JSR PC,@(R0)+ Loops: 1113 ; CLC: 31.6
JSR PC,@(SP)+ Loops: 1120 ; CLC: 31.3
JSR PC,@-(R0) Loops: 1070 ; CLC: 33.5
JSR R1,@-(R0) Loops: 1070 ; CLC: 33.5
JSR PC, Label Loops: 1062 ; CLC: 33.8
JSR PC,@Var Loops: 961 ; CLC: 39.0
JSR R1,@x(R0) Loops: 957 ; CLC: 39.2

.RUN HX1:MOV
Mov - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Mov R1 10 15 16 21 17 24 22 16 29
Mov (R1) 15 19 20 26 21 28 27 20 33
Mov (R2)+ 15 19 20 26 21 28 27 20 33
Mov (PC)+ 15 19 20 26 21 28 27 20 33
Mov @(R2)+ 21 26 27 32 28 34 33 27 40
Mov -(R1) 17 21 22 28 24 30 29 22 36
Mov @-(R1) 23 28 29 34 30 36 36 29 42
Mov Addr 22 27 28 33 29 36 34 28 41
Mov @Tab(R1) 29 33 35 40 36 42 41 34 47

Program completed.

.RUN HX1:MOVB
MovB - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600

R4 (R4) (R4)+ @(R2)+ -(R1) @-(R3) Addr (PC)+ @Tab(R2)

MovB R1 12 17 17 24 19 26 25 18 31
MovB (R1) 15 20 20 27 22 29 28 21 35
MovB (R4)+ 17 22 22 29 25 31 30 24 36
MovB (PC)+ 16 21 21 28 24 30 29 22 36
MovB @(R2)+ 21 27 27 33 29 36 35 28 41
MovB -(R1) 19 25 25 31 27 33 32 26 39
MovB @-(R3) 23 29 29 36 31 38 36 30 43
MovB Addr 22 28 28 35 30 36 36 29 42
MovB @Tab(R3) 29 34 34 41 36 43 42 36 48

Program completed.

- - - Добавлено - - -


.RUN HX1:MOVPC1
MovPC - v1.2
CPU KHz: 3400 > 2600
CPU KHz: 2600

Mov (PC), (PC)+ 20.9
MovB (PC), (PC)+ 21.8
Mov (PC), R0 15.2
MovB (PC), R0 15.2
Mov (PC), (PC) 19.6
MovB (PC), (PC) 20.9
Mov (PC)+, R0 15.2
MovB (PC)+, R0 16.3
Mov R0, (PC)+ 16.3
MovB R0, (PC)+ 18.4

Program completed.

.RUN HX1:MOVPC2
MovPC2 - v1.2
Memory Top: 126370
BUF words: 20501
CPU KHz: 3400 > 2600
CPU KHz: 2600

1: Nop Evt: 9 ; Run: 4810 ; Res: 4819 ; CLC: 10.8
1: Mov R0, R0 Evt: 8 ; Run: 4812 ; Res: 4820 ; CLC: 10.8
1: Mov R0, (PC) Evt: 6 ; Run: 3419 ; Res: 3425 ; CLC: 15.2
1: MovB R0, (PC) Evt: 5 ; Run: 2988 ; Res: 2993 ; CLC: 17.4
1: Mov (PC), R0 Evt: 6 ; Run: 3426 ; Res: 3432 ; CLC: 15.2
1: MovB (PC), R0 Evt: 6 ; Run: 3424 ; Res: 3430 ; CLC: 15.2
::: SP = PC :::
1: Mov R0, (SP)+ Evt: 6 ; Run: 3205 ; Res: 3211 ; CLC: 16.2
1: MovB R0, (SP)+ Evt: 5 ; Run: 2837 ; Res: 2842 ; CLC: 18.3
1: Mov (SP),(SP)+ Evt: 5 ; Run: 2494 ; Res: 2499 ; CLC: 20.8
1: MovB (SP),(SP)+ Evt: 4 ; Run: 2388 ; Res: 2392 ; CLC: 21.7

Program completed.

.RUN HX1:MUL
MUL - v1.1
Memory Top: 126370
BUF words: 20429
CPU KHz: 4070 > 2600
CPU KHz: 2600

1: Nop Evt: 35 ; Run: 4808 ; Res: 4843 ; CLC: 10.7
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 0 ; Run: 635 ; Res: 635 ; CLC: 82.#
1: Mul R2, R1 Evt: 0 ; Run: 427 ; Res: 427 ; CLC: 122.#
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 0 ; Run: 630 ; Res: 630 ; CLC: 83.#
1: Mul R2, R1 Evt: 0 ; Run: 630 ; Res: 630 ; CLC: 83.#
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 445 ; Res: 445 ; CLC: 117.#
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 361 ; Res: 361 ; CLC: 144.#
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 361 ; Res: 361 ; CLC: 144.#
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 272 ; Res: 272 ; CLC: 192.#
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 280 ; Res: 280 ; CLC: 186.#

.RUN HX1:OP1
Op1 - v1.1
CPU KHz: 3400 > 2600
CPU KHz: 2600

SOB : 15 ! Last SOB : 13 ! Br : 10 ! BCS : 10 ! BCC : 10 ! SeC : 10

R0 (R0) (R2)+ @(R2)+ -(R1) @-(R1) Addr (PC)+ @Tab(R0)

Tst 13 18 18 25 20 27 26 18 32
TstB 12 16 16 22 18 25 23 17 30
Inc 13 21 21 28 24 30 29 21 36
IncB 12 19 19 26 21 28 27 20 33
Clr 12 19 19 26 21 28 27 19 33
ClrB 12 18 18 25 20 27 26 19 32
MTPS 23 30 30 36 32 39 38 31 44
MFPS 21 27 27 33 29 36 34 28 41
XOr 10 19 19 26 22 28 27 19 33
SwaB 13 20 20 27 22 29 28 20 35
SXt 18 27 27 33 29 36 35 27 41

Program completed.

.RUN HX1:RTS
RTS - v1.1
Memory Top: 126370
BUF words: 20545
CPU KHz: 5300 > 2600
CPU KHz: 2600

1: Nop Evt: 9 ; Run: 4800 ; Res: 4809 ; CLC: 10.8
1: RtS PC Evt: 6 ; Run: 3182 ; Res: 3188 ; CLC: 16.3
1: RtS R0 Evt: 6 ; Run: 3205 ; Res: 3211 ; CLC: 16.2
1: RtS R1 Evt: 21 ; Run: 3205 ; Res: 3226 ; CLC: 16.1
1: RtI Evt: 3 ; Run: 1917 ; Res: 1920 ; CLC: 27.1
1: RtT Evt: 17 ; Run: 1923 ; Res: 1940 ; CLC: 26.8

Program completed.

- - - Добавлено - - -

Tест TSTVM2 на М7264ЕВ c ПЗУ РУ3.

Все -Ок кроме:

Команда деления (частичный тест):
DIV (even) - OK
DIV (odd) - ERROR: 0x43D5 / 0x64D1

Микрокод скорее свего более ранний на РУ3.