Вход

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



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

Titus
27.02.2013, 19:58
Там в двух позициях есть сомнительные результаты
Если на этих командах процессор не перпрыгивает через команду вперед, то результаты должны быть корректны.

Alex_K
27.02.2013, 20:06
Если на этих командах процессор не перпрыгивает через команду вперед, то результаты должны быть корректны.
Играет роль какая команда после блока этих команд.

Patron
27.02.2013, 20:14
Если на этих командах процессор не перпрыгивает через команду вперед, то результаты должны быть корректны.Во втором случае очевидно, что команда MOV (PC),(PC)+ именно перепрыгивает следующую и поэтому число "пройденных" слов нужно делить на 2.

...

А в первом случае - просто интересно, как получается такая большая разница в результатах тестов.

Ведь линейный движок тестирования продолжительности команд элементарно прост - после первого прерывания начинает выполняться последовательность тестируемых команд, а после второго прерывания - вычисляется разница адреса старта последовательности и адреса входа во второе прерывание.

Alex_K
27.02.2013, 20:31
В приложении - изменённый вариант теста MovPC v1.1 (http://zx.pk.ru/attachment.php?attachmentid=40082).
Протестировать в цикле команду MovB (PC)+,(PC) без трёх NOPов невозможно, но зато без теста этой команды количество заглушек удалось сократить до одной.

Мой прогноз - вылетать будет немного меньше, но глючить не перестанет.

...
https://thumb.cloud.mail.ru/weblink/thumb/xw1/MLRZ/mRdz9o6mZ/MOVPC_1.1_01.jpg

Patron
27.02.2013, 20:38
Если на этих командах процессор не перпрыгивает через команду вперед, то результаты должны быть корректны.Увы, циклический тест с командами MOV (PC), R0 и MOVB (PC), R0 не дружит.



OpBuf:
.BLKW 2048 ;Буфер для тестируемых команд
OpBufEnd:
INC R4 ;Увеличиваем счетчик циклов
JMP (R5) ;Бесконечный цикл --> OpBufLoop


Весьма похоже, что тест TSSPD даёт ошибочные результаты в обоих обсуждаемых случаях.

Alex_K
27.02.2013, 20:41
В приложении два варианта теста - MovPC2_v1.1 (http://zx.pk.ru/attachment.php?attachmentid=40098) выходит из первого прерывания таймера по RTI, а MovPC2_v1.2 (http://zx.pk.ru/attachment.php?attachmentid=40099) - по BR.
...
MovPC2_v1.1:https://thumb.cloud.mail.ru/weblink/thumb/xw1/4inC/KpW2ewoHQ/MOVPC2_1.1_01.jpg
MovPC2_v1.2:https://thumb.cloud.mail.ru/weblink/thumb/xw1/2AxT/kV4AZzNtk/MOVPC2_1.2_01.jpg

---------- Post added at 20:41 ---------- Previous post was at 20:38 ----------


Увы, циклический тест с командами MOV (PC), R0 и MOVB (PC), R0 не дружит.



OpBuf:
.BLKW 2048 ;Буфер для тестируемых команд
OpBufEnd:
INC R4 ;Увеличиваем счетчик циклов
JMP (R5) ;Бесконечный цикл --> OpBufLoop


Весьма похоже, что тест TSSPD даёт ошибочные результаты в обоих обсуждаемых случаях.
В этом случае, после MOV @PC,R0, INC R4 выполниться два раза.

Patron
27.02.2013, 20:54
Для комплексной проверки глюков команды MOV (PC), R0, наблюдавшихся в тесте MOVPC.SAV - готова специальная версия этого теста: MovPCx (http://zx.pk.ru/attachment.php?attachmentid=40100), перехватывающая Trap_To_4, ведущая два счётчика циклов ( в начале и конце тестовой последовательности ) и перехватывающая плохие переходы:



Foot0:
Nop
Nop
Nop

Dec R5
BEq 1$

Jmp @#LoopStart
.Word Bad.Jmp
1$:
Mov #R.T.I, @#100
Inc R4
MTPS #0
Return
Foot1:

При первом запуске теста можно ввести значение тактовой частоты тестируемого процессора в килогерцах, а также задать значение PSW при котором будет выполняться тест ( допустимы значения 0 и 340, любое другое значение превратится в 340 ).

...

Alex_K
27.02.2013, 22:11
Для комплексной проверки глюков команды MOV (PC), R0, наблюдавшихся в тесте MOVPC.SAV - готова специальная версия этого теста: MovPCx (http://zx.pk.ru/attachment.php?attachmentid=40100), перехватывающая Trap_To_4, ведущая два счётчика циклов ( в начале и конце тестовой последовательности ) и перехватывающая плохие переходы:
С PSW=0:

https://thumb.cloud.mail.ru/weblink/thumb/xw1/EkY5/QGJWHBGWm/MOVPCX_000_01.jpg
https://thumb.cloud.mail.ru/weblink/thumb/xw1/9fnj/euzDnCmfW/MOVPCX_000_02.jpg

С PSW=340:

https://thumb.cloud.mail.ru/weblink/thumb/xw1/FRbn/Jnpke1kzt/MOVPCX_340_01.jpg
https://thumb.cloud.mail.ru/weblink/thumb/xw1/MQHg/LT3AvCEQm/MOVPCX_340_02.jpg


---------- Post added at 22:11 ---------- Previous post was at 22:09 ----------

По поводу TRAP4, адрес прерывания в стеке может быть неверный, обычно в таких случаях он увеличен на 2.

Patron
27.02.2013, 22:33
Код в том месте такой:



011220 [000000]: MOV (PC), R0 ; 011222:011700 -> R0
011222 [000000]: MOV (PC), R0 ; 011224:011700 -> R0
011224 [000000]: MOV (PC), R0 ; 011226:011700 -> R0
011226 [000000]: MOV (PC), R0 ; 011230:000240 -> R0
011230 [000000]: NOP
011232 [000000]: NOP
011234 [000000]: NOP
011236 [000000]: DEC R5 ;
011240 [000000]: BEQ 011250
011242 [000000]: JMP @#005306



Foot0:
Nop
Nop
Nop

Dec R5
BEq 1$

Jmp @#LoopStart
.Word Bad.Jmp
1$:
Mov #R.T.I, @#100
Inc R4
MTPS #0
Return
Foot1:

---------- Post added at 21:31 ---------- Previous post was at 21:24 ----------

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

---------- Post added at 21:33 ---------- Previous post was at 21:31 ----------

По счётчикам команда BEQ вылететь в Trap_To_4 вряд ли может - слишком далеко до ближайшей незанятой памяти.

Alex_K
27.02.2013, 23:17
А на другой машине, помнится, пока та была холодная - тест один раз не просто без вылета, а даже и почти без глюков прошёл..
Другая УКНЦ.
PSW=0:

https://thumb.cloud.mail.ru/weblink/thumb/xw1/8mrx/wpparN3vU/MOVPCX_000_01.jpg
https://thumb.cloud.mail.ru/weblink/thumb/xw1/hbWP/FXQim5w9r/MOVPCX_000_02.jpg

PSW=340:

https://thumb.cloud.mail.ru/weblink/thumb/xw1/3CvV/FJ2fRhtsi/MOVPCX_340_01.jpg
https://thumb.cloud.mail.ru/weblink/thumb/xw1/HC6p/ySdofEyrk/MOVPCX_340_02.jpg

Titus
27.02.2013, 23:19
В этом случае, после MOV @PC,R0, INC R4 выполниться два раза.
Вы нам так и не раскрыли свое видение этого процесса.

Alex_K
27.02.2013, 23:27
Вы нам так и не раскрыли свое видение этого процесса.
Так вроде уже писал ранее и тестовые коды показывал.
А глюк проявляется, если в качестве источника двухоперандных команд используется адресация 17.

---------- Post added at 23:27 ---------- Previous post was at 23:24 ----------

А на самом деле до понимания всего процесса надо проделать много опытов по влиянию разных команд на значения счетчиков СК1 и СК2.

Patron
28.02.2013, 01:25
надо проделать много опытов по влиянию разных команд на значения счетчиков СК1 и СК2.Но сначала надо бы придумать алгоритм точного определения значений этих счётчиков ( вроде перехода по специальной таблице относительно какого-то регистра или типа того ).

...

И кроме того - что же всё-таки вызывает Trap_To_4 в "глючном" тесте. Ведь раньше он вылетал и после первой команды NOP, потом начал вылетать после BEQ. Но даже при запрещённых прерываниях вылетает не всегда сразу.

А что тогда влияет - вылетит или не вылетит тест на очередной итерации цикла. Ведь все ячейки памяти имеют на каждом проходе одинаковые значения.

Bad JMP - понятное дело - следствие сбоя счётчика. И если при запрещённых прерываниях Bad JMP всегда будет происходить в первом же цикле - тут всё ясно.

Но если на одной УКНЦ при запрещённых прерываниях вылетает по Trap_To_4, а на другой - по Bad JMP, то как это можно было бы объяснить, не допустив "глюкогенного" влияния аналоговых процессов ???

Alex_K
28.02.2013, 09:50
Но если на одной УКНЦ при запрещённых прерываниях вылетает по Trap_To_4, а на другой - по Bad JMP, то как это можно было бы объяснить, не допустив "глюкогенного" влияния аналоговых процессов ???
По поводу источника питания я уже высказывался, еще раз повторюсь - если бы дело было в источнике, то тогда бы барахлило все - и процессор и память, УКНЦ просто напросто не запустилась бы. Здесь влияние других факторов, первое - ошибки в микропрограмме, ну и второе - разное тактирование процессора и памяти. В этом случае легко может оказаться, что из-за ошибок в микропрограмме неправильно поставлена совместная работа блоков микропроцессора и при запросе на чтение легко может быть так, что операционный блок выдаст ошибку чтения с шины. На одной УКНЦ может так совпасть, что память относительно быстро успевает прочесться, на другой требуются дополнительные такты, приводящие к TRAP4.
Так что тут надо исследовать.
При небольшой последовательности команд MOV @PC,R0 поведение обычно предсказуемо. При длинной последовательности начинают возникать глюки, уже более необъяснимые.

Patron
28.02.2013, 12:56
разное тактирование процессора и памятиПо сути - это единственная оставшаяся несинхронность, из-за которой дискретная ситуация в разных циклах теста может отличаться.

Чтобы исключить её возможне влияние - нужно сделать тестовую УКНЦ с одинаковым тактированием ЦП и памяти.


При длинной последовательности начинают возникать глюки, уже более необъяснимые.Надо основательно погонять MovPCx на той УКНЦ, где вместо Trap_To_4 происходил BAD Jmp.

Если ни одного Trap_To_4 так и не случится - это будет очень серьёзный довод в пользу аналоговой теории происхождения трапов. Ведь разница в тактировании ЦП и памяти у всех тестируемых УКНЦ одинаковая.

Alex_K
28.02.2013, 13:04
Чтобы исключить её возможне влияние - нужно сделать тестовую УКНЦ с одинаковым тактированием ЦП и памяти.
Кто ее будет делать?
А если надо, то ПП к вашим услугам, там память и процессор тактируются одной частотой, только там память сидит на 8-ми битах, поэтому слово читаться будет за два приема.

Надо основательно погонять MovPCx на той УКНЦ, где вместо Trap_To_4 происходил BAD Jmp.

Если ни одного Trap_To_4 так и не случится - это будет очень серьёзный довод в пользу аналоговой теории происхождения трапов. Ведь разница в тактировании ЦП и памяти у всех тестируемых УКНЦ одинаковая.
А при чем тут аналоговая версия? Сигнал для TRAP4 идет с операционного блока. А разница у разных УКНЦ в тактировании будет, хоть и кварцы стоят, но тоже чуть-чуть могут отличаться.

Titus
28.02.2013, 13:06
Ведь разница в тактировании ЦП и памяти у всех тестируемых УКНЦ одинаковая.
Разница разная, т.к. тактируются от разных кварцев. А, как известно, у всех кварцев есть погрешность, и биение частот на всех машинах будет разное. Однако, здесь дело скорее всего не в этом.

Patron
28.02.2013, 13:48
разница у разных УКНЦ в тактировании будет, хоть и кварцы стоят, но тоже чуть-чуть могут отличаться.

Однако, здесь дело скорее всего не в этом.Чтобы сигнал RPLY на полном серьёзе не выставлялся ( или выставлялся, но не обнаруживался ) в течение интервала ожидания Q-Bus всего лишь из-за ничтожной разницы ( в разных экземплярах УКНЦ ) в тактировании процессора и памяти..

Какой тогда вообще смысл в использовании асинхронной шины между памятью и процессором..

---------- Post added at 12:48 ---------- Previous post was at 12:19 ----------


А при чем тут аналоговая версия? Сигнал для TRAP4 идет с операционного блока.Аналоговая версия при том, что (на мой взгляд) только из-за проблем с питанием операционный блок может или обнаружить, или не обнаружить на шине RPLY после выполнения одной и той же последовательности команд в одних и тех же ячейках памяти ( ведь даже на одной и той же УКНЦ и при запрещённых прерываниях - Trap_To_4 в конце каждого цикла теста - может произойти, а может и не произойти ).

Весьма похоже, что мы имеем динамический глюк микропрограммы, обусловленный не только "статическими" ошибками в микрокоде, но и различным исполнением одних и тех же микропрограмм при одних и тех же исходных данных.

Т.е. в какие-то моменты происходит сбой в работе "интерпретатора микрокода" - и тогда (при полностью корректной работе шины) происходит "трап на ровном месте" ( такой, как при исполнении команды JMP R0 ).

Alex_K
28.02.2013, 15:01
Весьма похоже, что мы имеем динамический глюк микропрограммы, обусловленный не только "статическими" ошибками в микрокоде, но и различным исполнением одних и тех же микропрограмм при одних и тех же исходных данных.

Т.е. в какие-то моменты происходит сбой в работе "интерпретатора микрокода" - и тогда (при полностью корректной работе шины) происходит "трап на ровном месте" ( такой, как при исполнении команды JMP R0 ).
Есть такой глюк, в зависимости от ситуации после MOV @PC,R0 следующая за ней команда, не нарушающая предвыборки, либо может исполнится два раза, либо вообще пропуститься. А вот с адресацией по счетчику команд обычно всегда получался адрес увеличенный на два, на четыре не удалось.

hobot
28.02.2013, 16:13
оффтоп по теме


Т.е. в какие-то моменты происходит "трап на ровном месте" ( такой, как при исполнении команды JMP R0 ).
Я всегда подозревал, что роботы живые и рано или поздно они восстанут против человеков ) Что косвенно подтверждается даже примитивных недокомпьютеров типа УК-НЦ ). А если у монстра на ровном месте случится трап? ) Страшно подумать что может случится тогда ! И ещё момент платки как ни крути старые,
даже новенькие УК-НЦ никогда не работали как часики. Хотя я свою помнится сутками не выключал - но перезагрузка занимала значительный % времени от общего. Почти не зависала если простой был, но зависания в процессе отладки программ вполне норм. вещь же ) Трапы - я сейчас лучше конечно понимаю это,
но и тогда Panic Dump мог случится во время операции которая 99 раз работает.

Patron
28.02.2013, 19:36
Новый тест MovPCy (http://zx.pk.ru/attachment.php?attachmentid=40116) должен помочь лучше протестировать "стрёмные" команды.

При запуске теста можно задать следующие параметры:



.RU MOVPCY
MovPCy - v1.0
CPU KHz: 5300 >
MTPS : 0 >
Command: 011700 >
Row Len: 1000 >
Word W1: 000240 >
Word W2: 000240 >
Word W3: 000240 >
Loops : 106 >

Command: 011700 Loops: 106 ; Ticks: 30

R0: 000240 ; R1: 000000 ; R2: 000000 ; R3: 000000
R0: 160 ; R1: 0 ; R2: 0 ; R3: 0

Program completed.

.




CPU KHz - Тактовая частота тестируемого процессора в килогерцах (десятичное).
MTPS - Значение PSW во время тестирования (восьмеричное).
Command - Тестируемая команда (восьмеричное).
Row Len - Число экземпляров (1..10000) тестируемой команды в тестовом буфере.
Word W1 - Первое слово после тестируемой последовательности (восьмеричное).
Word W2 - Второе слово после тестируемой последовательности (восьмеричное).
Word W3 - Третье слово после тестируемой последовательности (восьмеричное).
Loops - Число циклов ( лучше не трогать ).


Тестовая последовательность завершается следующим кодом:


Foot0:

W1: Nop
W2: Nop
W3: Nop

Dec R5
BEq 1$

Jmp @#LoopStart
.Word Bad.Jmp
1$:
Mov #R.T.I, @#100
Inc R4
MTPS #0
Return
Foot1:

Разрешается изменять значения регистров R0, R1, R2, R3.
Перед началом теста эти регистры обнуляются.

...

Alex_K
01.03.2013, 22:55
Новый тест MovPCy (http://zx.pk.ru/attachment.php?attachmentid=40116) должен помочь лучше протестировать "стрёмные" команды.
Еще раз БОЛЬШОЕ СПАСИБО Patron-у за этот тест. В результате тестирования выяснилось, что разные команды работают по разному после MOV @PC,R0. Поведение более-менее поддается анализу за исключением команд установки/снятия признаков. В этом случае раз на раз не приходится, потому при употреблении трех NOP и получались такие разные результаты.
Потестировал на УКНЦ литеры 3. Ее поведение практически ничем не отличается от УКНЦ литеры 7 с 1515ХМ1-031. Но рассмотрим наиболее интересные случаи.

1. Сперва употребляется пара NOP, потом INC R3:

https://thumb.cloud.mail.ru/weblink/thumb/xw1/2dqB/3hHv8L9w9/MOVPCY_L3_001.jpg
https://thumb.cloud.mail.ru/weblink/thumb/xw1/9rvS/nnHWSEACZ/MOVPCY_L3_002.jpg

При этом выборе иногда, часто, получается TRAP10. Сразу видно, что в R0 содержится 0137, а не 0240. Само значение 0137 содержится по адресу 055724, а 0240 по адресу 055712, разница составляет 012. Сразу же за ячейкой 055724 со значением 0137 расположена ячейка 055726 со значением 06650, при исполнении этой команды и возникает TRAP10. Также видно, что INC R3 и DEC R5 ни разу не сработали, хотя висел этот тест продолжительное время, получается довольно часто попадало на JMP @#6650.

2. Либо все три NOP, или сперва INC R1, потом два NOP:

https://thumb.cloud.mail.ru/weblink/thumb/xw1/4die/s8aZTh4b1/MOVPCY_L3_003.jpg
https://thumb.cloud.mail.ru/weblink/thumb/xw1/825P/LcMhMXT56/MOVPCY_L3_004.jpg

В этих вариантах часто срабатывает TRAP4, а INC R1 исполняется два раза. По аналогии с первым результатом в качестве TRAP4 может служить исполнение кода 0100 по адресу 055736. И еще - в R0 ложится младший байт, а не слово.

3. Два INC и один NOP. Без комментариев, ибо не объяснимо.

https://thumb.cloud.mail.ru/weblink/thumb/xw1/NK93/9NatKE8Zu/MOVPCY_L3_005.jpg


4. Один NOP между двумя INC.

https://thumb.cloud.mail.ru/weblink/thumb/xw1/FBCe/efDg4djMG/MOVPCY_L3_006.jpg
https://thumb.cloud.mail.ru/weblink/thumb/xw1/DswX/BBAAYcN1T/MOVPCY_L3_007.jpg

Видно, что INC R1 всегда исполняется два раза, а вот INC R3 после NOP не всегда исполняется.

Вот такие вот дела. Остальные команды предсказуемы, но разная реакция на них. Потестирую, опишу.

Titus
01.03.2013, 23:05
Ну так что, есть предварительное описание глюка?

Alex_K
01.03.2013, 23:16
Ну так что, есть предварительное описание глюка?
После двухадресной команды, если в качестве источника используется @PC, и если команда не нарушает предвыборку (из одного слова и не записывает по адресу PC), то следующая за ней команда, не нарушающая предвыборку, исполняется два раза. Затем все адресации по счетчику команд смещаются на 2, это касается и команд коротких переходов и прерываний (в стек ложится PC+2). Хотя адресации по PC и смещаются, но команды выполняются. А вот тут зависит уже от типа команд. После некоторых следующая за ними команда может не исполнится.
Но все это надо дополнительно тестировать в пультовом отладчике, т.к. тест Patron-а дает задать только три команды. В пультовом отладчике может и медленней, но гибче.
А вот поведение команд установки/снятия признаков (0240-0277) вообще не поддается никакому логическому анализу. Видно сказывается разное тактирование процессора и памяти, видно зависит от разницы в выборке слова из памяти.
Эх, протестировать бы на МС1201.02, там память не надо разделять с видеоадаптером, там уже время выборки должно быть стабильным.

Titus
01.03.2013, 23:31
Думаю, что этот глюк произошел из-за того, что адресация в адресации по (PC) не предполагалось использования регистра без автоинкремента. Т.е. по умолчанию считалось, что если адресация по (PC), то это именно (PC)+, использующееся как обращение к непосредственным данным внутри команды, и все компенсации кеша были заточены под нее.

Alex_K
01.03.2013, 23:41
Думаю, что этот глюк произошел из-за того, что адресация в адресации по (PC) не предполагалось использования регистра без автоинкремента. Т.е. по умолчанию считалось, что если адресация по (PC), то это именно (PC)+, использующееся как обращение к непосредственным данным внутри команды, и все компенсации кеша были заточены под нее.
Здесь я абсолютно согласен, не только 27( (PC)+ ), но и 37( @(PC)+ ), 6х и 7х. В этом случае нужный аргумент уже извлекался в результате предвыборки и микрокод это учитывал, чтобы два раза не читать. Но после этих адресаций счетчик команд увеличивался на два, а в случае с @PC оставался тем же. Глюк может быть связан еще с тем, что есть два счетчика команд СК1 и СК2. СК2 вроде всегда больше СК1 на два, но в этом глюке между ними получается рассинхронизация. И кстати по описанию на процессор команды установки/снятия признаков используют внутренний сигнал признака байта, чтобы записывать только в младший байт PSW, может уже начинается дешифрация NOP, потому в R0 и оказывается только младший байт. Но все это предположения, надо знать микрокод, хотя кое-что в ТО описано, надо посмотреть по блок-схемам.

Patron
01.03.2013, 23:44
Мне, как верному адепту "питательной" теории было особенно интересно увидеть:



?MON-F-Power fail halt


Какой блок УКНЦ вырабатывает это прерывание?
Типа, процессор как-то анализирует входное напряжение?

Alex_K
01.03.2013, 23:45
Мне, как верному адепту "питательной" теории было особенно интересно увидеть:



?MON-F-Power fail halt


Какой блок УКНЦ вырабатывает это прерывание?
Типа, процессор как-то анализирует входное напряжение?
В ЦП вход ACLO управляется из магистрали ПП через регистр 177716 (также как и входы DCLO и HALT). Так что питательная теория в отношении ЦП отпадает. А вот на ПП ACLO и DCLO поступают со схемы запуска, которая формирует необходимые задержки этих сигналов. В этой же схеме и находится кнопка сброса для перезапуска УКНЦ. А уже программа в ПЗУ ПП через регистр 177716 запускает ЦП.

Patron
01.03.2013, 23:52
тест дает задать только три командыА сколько хотелось бы ?

Alex_K
01.03.2013, 23:56
А сколько хотелось бы ?
Много. Да и длину допкоманд также задавать. Но как быть, если захочешь протестировать команды с автоинкрементным способом адресации, которые записывают значения в какой-нибудь буфер?

---------- Post added at 23:56 ---------- Previous post was at 23:54 ----------

Так же задавать предварительные значения в регистрах.

Patron
02.03.2013, 00:10
как быть, если захочешь протестировать команды с автоинкрементным способом адресации, которые записывают значения в какой-нибудь буфер?Перед началом теста значение ячейки 0 сохраняется и обнуляется.
Можно помещать в R0 первое слово после буфера команд, а промежуток между концом буфера и верхом доступной памяти обнулять.

Titus
02.03.2013, 00:25
Здесь я абсолютно согласен, не только 27( (PC)+ ), но и 37( @(PC)+ ), 6х и 7х. В этом случае нужный аргумент уже извлекался в результате предвыборки и микрокод это учитывал, чтобы два раза не читать. Но после этих адресаций счетчик команд увеличивался на два, а в случае с @PC оставался тем же. Глюк может быть связан еще с тем, что есть два счетчика команд СК1 и СК2. СК2 вроде всегда больше СК1 на два, но в этом глюке между ними получается рассинхронизация.

Вообще, все это странно. Логичней предположить, что СК2 обгонит на 2 свое правильное значение, нежели отстанет на 2. А получается, что на 2 отстает.

Patron
02.03.2013, 00:30
Так же задавать предварительные значения в регистрах.Восьмеричные или десятичные ?

Alex_K
02.03.2013, 00:32
Вообще, все это странно. Логичней предположить, что СК2 обгонит на 2 свое правильное значение, нежели отстанет на 2. А получается, что на 2 отстает.
Посмотрел схему счетчиков. В нормальном режиме СК1 опережает СК2 на два. Так что получается, или СК1 уже опережает на четыре, или СК2 начинает отставать на два. А то как объяснить двойное выполнение команды.

---------- Post added at 00:32 ---------- Previous post was at 00:31 ----------


Восьмеричные или десятичные ?
Без точки в конце - восьмеричные, с точкой - десятичные. Как в MACRO-11.

Titus
02.03.2013, 00:35
Посмотрел схему счетчиков. В нормальном режиме СК1 опережает СК2 на два. Так что получается, или СК1 уже опережает на четыре, или СК2 начинает отставать на два. А то как объяснить двойное выполнение команды.
Какой вы считаете СК1, а какой СК2?
Я считаю СК1 - это PC. Или это помимо PC счетчики? Т.е. всего 3?

Alex_K
02.03.2013, 00:42
Какой вы считаете СК1, а какой СК2?
Я считаю СК1 - это PC. Или это помимо PC счетчики? Т.е. всего 3?
Ну по описанию в ТО это так, т.к. в копию счетчика команд копируется именно СК1, а СК2 вроде используется для предвыборки.
Тогда все-таки СК2 опережает СК1, а после этого глюка получается, что СК1 начинает опережать СК2.

Titus
02.03.2013, 00:47
Тогда все-таки СК2 опережает СК1, а после этого глюка получается, что СК1 начинает опережать СК2.
Тогда уж не опережает, а сравнивается.

Alex_K
02.03.2013, 00:56
Тогда уж не опережает, а сравнивается.
Больно мудрено. Команды задним числом исполняются, а адресация по PC уже бежит впереди паровоза.
По блок-схемам из СК1 есть вычитание 2, а прибавление 2 только к СК2.

Ну ладно, ночь на дворе, с утра лучше думаться будет.

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

Так что внимательно читайте ТО на 1801ВМ2 и вникайте. Может чего и обнаружится, но наверное вряд ли. А то есть еще косяк с командой с кодом 030, которая должна исполняться как команда с кодом 020, но делает совершенно невообразимые действия. Тоже разработчики просчитались.

Patron
02.03.2013, 16:14
Новый тест MovPCy_v1.1 (http://zx.pk.ru/attachment.php?attachmentid=40170) должен помочь лучше протестировать "стрёмные" команды.

При запуске теста можно задать следующие параметры:



.RU MOVPCY
MovPCy - v1.1
Mem Top: 137564
Max Row: 11000
CPU KHz: 5300 >
MTPS : 000000 >
Command: 011700 >
Row Len: 1000 >
Grow : 0 >
R1 : 000000 >
R2 : 000000 >
R3 : 000000 >
Addons : 3 >
W1 : 000240 >
W2 : 000240 >
W3 : 000240 >
Loops : 106 >

Command: 011700 Loops: 106 ; Ticks: 5

R0: 000240 ; R1: 000000 ; R2: 000000 ; R3: 000000
R0: 160 ; R1: 0 ; R2: 0 ; R3: 0

Program completed.

.




Mem Top - Верхний адрес свободной памяти.
Max Row - Максимальное возможное значение Row Len
CPU KHz - Тактовая частота тестируемого процессора в килогерцах (десятичное).
MTPS - Значение PSW во время тестирования (восьмеричное).
Command - Тестируемая команда (восьмеричное).
Row Len - Число экземпляров (1..Max Row) тестируемой команды в тестовом буфере.
Grow - Шаг увеличения Row Len в рекурсивном тесте ( 0..100 ).
R1 R2 R3 - Начальное значение регистра ( 8/10 ).
Addons - Число дополнительных слов ( 0..64 ) в конце теста.
W1..Wnn - Дополнительное слово ( 8/10 ).
Loops - Число циклов теста при Grow == 0.


Тестовая последовательность завершается следующим кодом:


Foot0:
Dec R5
BEq 1$

Jmp @#LoopStart
.Word Bad.Jmp
1$:
Mov #R.T.I, @#100
Inc R4
MTPS #0
Return
Foot1:

...

Параметр Grow включает режим рекурсивного теста, при котором после завершения двух циклов тестирования значение Row Len увеличивается на величину Grow и всё повторяется до тех пор, пока величина Row Len не достигнет Max Row.

Преждевременное завершение рекурсивного теста происходит только при возникновении Trap_To_4 или Trap_To_24.

...

Разрешается изменять значения регистров R0, R1, R2, R3.

Перед запуском теста в регистр R0 помещается младший адрес обнулённого буфера данных после тестового буфера.

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

Для завершения программы и выхода в монитор после выхода в пульт - нужно или продолжить выполнение программы, или перезапустить её с адреса 01000 .

...

hobot
04.03.2013, 17:00
Image : testy04032013.dsk

Format : DSK
Size : 800 Kb

Volume ID: RT11A
Owner :

File Blocks Date Bytes
---------- ------ ----------- ----------
BIS .MAC 20 22-Feb-2013 10'240
BIS .SAV 5 22-Feb-2013 2'560
BISB .MAC 20 22-Feb-2013 10'240
BISB .SAV 5 22-Feb-2013 2'560
CMPB .MAC 20 22-Feb-2013 10'240
CMPB .SAV 5 22-Feb-2013 2'560
IRQ .MAC 29 20-Feb-2013 14'848
IRQ .SAV 7 20-Feb-2013 3'584
MAP .MAC 6 18-Feb-2013 3'072
MAP .SAV 3 18-Feb-2013 1'536
MOV .MAC 20 21-Feb-2013 10'240
MOV .SAV 5 21-Feb-2013 2'560
MOVPC .MAC 18 24-Feb-2013 9'216
MOVPC .SAV 5 24-Feb-2013 2'560
TSPAL .SAV 5 13-Feb-2013 2'560
TSPSPD.SAV 18 16-Feb-2013 9'216
TSSPDH.SAV 24 18-Feb-2013 12'288
TSTMR .SAV 12 01-Feb-2013 6'144
MOVPC1.MAC 17 26-Feb-2013 8'704
MOVPC1.SAV 5 26-Feb-2013 2'560
PPTES .SAV 45 16-Apr-1986 23'040
MOVPCY.MAC 36 02-Mar-2013 18'432
MOVPCY.SAV 9 02-Mar-2013 4'608
< UNUSED > 1247 638'464
---------- ------ ----------- ----------
23 Files, 339 Blocks
1247 Free blocks

Поскольку завтра вечером или послезавтра у меня должна появится
(вернуться) возможность запуска живой УК-НЦ, хотел сегодня скинуть
тесты на дискету. Тут вроде бы все ? По установкам значений буду подсматривать в отчеты Alex_K.

hobot
10.03.2013, 19:43
По поводу прогона тестов на живых платках я не забыл, задержка в том, что только вот сейчас под вечер у меня вырисовывается стенд под это всё, примерно вот такой :


http://savepic.ru/4248065.jpg

В это донышко буду посменно после очередного прогона
вешать следующую платку - и т.о. планируется прогон трёх машинок.
Питание самих компов от внешнего 5В-адаптера.
Фотки плат уже делал и выкладывал, к тестам постараюсь ссылки на уже готовые фоты плат на форуме приложить.
Или текстового описания что за плата будет достаточно?

http://savepic.ru/4229633.jpg



:redface:

Patron
16.03.2013, 16:15
Универсальный тест: RTS.SAV (http://zx.pk.ru/attachment.php?attachmentid=40452) позволяет определить число тактов, затрачиваемых любым процессором архитектуры PDP-11 на выполнение команд RTS, RTI и RTT.

При первом запуске теста нужно ввести правильное значение тактовой частоты тестируемого процессора в килогерцах.

При запуске на эмулируемой ДВК-1 результат выглядит так:



.RU RTS
RTS - v1.0
Memory Top: 137564
BUF words: 22929
CPU KHz: 5300 >

1: Nop Evt: 14 ; Run: 7557 ; Res: 7571 ; CLC: 14.0
1: RtS PC Evt: 5 ; Run: 3025 ; Res: 3030 ; CLC: 35.0
1: RtS R0 Evt: 5 ; Run: 3025 ; Res: 3030 ; CLC: 35.0
1: RtS R1 Evt: 5 ; Run: 3025 ; Res: 3030 ; CLC: 35.0
1: RtI Evt: 4 ; Run: 2353 ; Res: 2357 ; CLC: 45.0
1: RtT Evt: 4 ; Run: 2353 ; Res: 2357 ; CLC: 45.0

Program completed.

.

Где:

Evt - Число тестируемых команд, выполнившихся за промежуток времени между началом и концом первого прерывания таймера.
Run - Число тестируемых команд, выполнившихся за промежуток времени между концом первого и началом второго прерывания таймера.
Res - Общее число тестируемых команд, выполнившихся между началом первого и началом второго прерывания таймера.
CLC - Подсчитанное число тактов.

...

form
16.03.2013, 18:01
.RU RTS
RTS - v1.0
Memory Top: 116304
BUF words: 18489
CPU KHz: 5300 > 18000
CPU KHz: 18000

2: Nop Evt: 12 ; Run: 18933 ; Res: 18945 ; CLC: 19.0
2: RtS PC Evt: 6 ; Run: 10583 ; Res: 10589 ; CLC: 34.0
2: RtS R0 Evt: 6 ; Run: 9469 ; Res: 9475 ; CLC: 38.0
2: RtS R1 Evt: 6 ; Run: 9468 ; Res: 9474 ; CLC: 38.0
1: RtI Evt: 3 ; Run: 5898 ; Res: 5901 ; CLC: 61.0
1: RtT Evt: 5 ; Run: 5898 ; Res: 5903 ; CLC: 61.0

Program completed.

.
и

.VDT

VDT V05.07
*177746/000000 14
*^C

.RU RTS
RTS - v1.0
Memory Top: 116304
BUF words: 18489
CPU KHz: 18000 >

1: Nop Evt: 14 ; Run: 13833 ; Res: 13847 ; CLC: 26.0
1: RtS PC Evt: 6 ; Run: 5784 ; Res: 5790 ; CLC: 62.2
1: RtS R0 Evt: 6 ; Run: 5439 ; Res: 5445 ; CLC: 66.1
1: RtS R1 Evt: 6 ; Run: 5439 ; Res: 5445 ; CLC: 66.1
1: RtI Evt: 4 ; Run: 3739 ; Res: 3743 ; CLC: 96.2
1: RtT Evt: 3 ; Run: 3739 ; Res: 3742 ; CLC: 96.2

Program completed.

.

Patron
17.03.2013, 21:59
Универсальный тест: JMP.SAV (http://zx.pk.ru/attachment.php?attachmentid=40482) позволяет определить число тактов, затрачиваемых любым процессором архитектуры PDP-11 на выполнение команд перехода.

При первом запуске теста нужно ввести правильное значение тактовой частоты тестируемого процессора в килогерцах.

На эмулируемой ДВК-1 результат выглядит так:



.RU JMP
JMP - v1.0
Memory Top: 137564
BUF words: 23016
CPU KHz: 5300 >

SOB Loops: 4813 ; CLC: 22.0
Br Loops: 2715 ; CLC: 17.0
Jmp (R0) Loops: 2302 ; CLC: 24.0
Jmp (PC) Loops: 2302 ; CLC: 24.0
Jmp (PC)+ Loops: 2206 ; CLC: 26.0
Mov R0, PC Loops: 2941 ; CLC: 14.0
Add R0, PC Loops: 2941 ; CLC: 14.0
Jmp LABEL Loops: 1858 ; CLC: 35.0
Jmp @#Addr Loops: 1858 ; CLC: 35.0
Jmp @(R0)+ Loops: 1858 ; CLC: 35.0
Jmp @-(R0) Loops: 1858 ; CLC: 35.0

Program completed.

.

Похоже, что тайминги команд Mov R0, PC и Add R0, PC в эмуляторе 1801ВМ1 ошибочны.

...

form
17.03.2013, 22:11
.RU JMP
JMP - v1.0
Memory Top: 114734
BUF words: 18204
CPU KHz: 5300 > 18000
CPU KHz: 18000

SOB Loops: 17991 ; CLC: 20.0
Br Loops: 9994 ; CLC: 16.0
Jmp (R0) Loops: 9993 ; CLC: 16.0
Jmp (PC) Loops: 9995 ; CLC: 16.0
Jmp (PC)+ Loops: 8177 ; CLC: 24.0
Mov R0, PC Loops: 8177 ; CLC: 24.0
Add R0, PC Loops: 8177 ; CLC: 24.0
Jmp LABEL Loops: 8995 ; CLC: 20.0
Jmp @#Addr Loops: 8994 ; CLC: 20.0
Jmp @(R0)+ Loops: 7649 ; CLC: 27.1
Jmp @-(R0) Loops: 7049 ; CLC: 31.1

Program completed.

.VDT

VDT V05.07
*177746/000000 14
*^C

.RU JMP
JMP - v1.0
Memory Top: 114734
BUF words: 18204
CPU KHz: 18000 >

SOB Loops: 7460 ; CLC: 48.3
Br Loops: 3892 ; CLC: 44.2
Jmp (R0) Loops: 3892 ; CLC: 44.2
Jmp (PC) Loops: 3892 ; CLC: 44.2
Jmp (PC)+ Loops: 3579 ; CLC: 52.3
Mov R0, PC Loops: 3579 ; CLC: 52.3
Add R0, PC Loops: 3579 ; CLC: 52.3
Jmp LABEL Loops: 3252 ; CLC: 62.5
Jmp @#Addr Loops: 3258 ; CLC: 62.2
Jmp @(R0)+ Loops: 3259 ; CLC: 62.2
Jmp @-(R0) Loops: 3145 ; CLC: 66.2

Program completed.

.

---------- Post added at 01:11 ---------- Previous post was at 01:03 ----------


Jmp (PC)+

Неоднозначная команда :)

Patron
17.03.2013, 22:14
Неоднозначная командаПроверяются оба варианта.

form
17.03.2013, 22:25
Проверяются оба варианта.

У меня "JMP (R)+" переходит на @R, а вот "MOV R,(R)+" запишет R+2 в @R.

Patron
17.03.2013, 22:40
У меня "JMP (R)+" переходит на @R, а вот "MOV R,(R)+" запишет R+2 в @R.Исполнительный адрес в обоих случаях определяется одинаково ( до изменения регистра ):
"и JMP (R)+ переходит на @R, и MOV R,(R)+ пишет в @R".

form
17.03.2013, 23:11
Исполнительный адрес в обоих случаях определяется одинаково ( до изменения регистра ):
"и JMP (R)+ переходит на @R, и MOV R,(R)+ пишет в @R".

Это да.

---------- Post added at 02:11 ---------- Previous post was at 01:41 ----------

К слову,


ProgEnd:

.END START

не совсем корректно писать даже если в данном конкретном случае работает - вдруг потом прогу расширять будешь? :)
Есть более универсальный способ.

Аналогично .SETTOP #160000, хотя в данном конкретном случае пофигу, проще писать #-2 :)

Patron
18.03.2013, 13:22
Расширенная версия ( JMP_v1.2 (http://zx.pk.ru/attachment.php?attachmentid=40508) ) универсального теста JMP.SAV позволяет определить число тактов, затрачиваемых любым процессором архитектуры PDP-11 на выполнение команд перехода.

При первом запуске теста нужно ввести правильное значение тактовой частоты тестируемого процессора в килогерцах.

На эмулируемой ДВК-1 результат выглядит так:



.RU JMP
JMP - v1.2
Memory Top: 137564
BUF words: 22908
CPU KHz: 5300 >

SOB Loops: 4813 ; CLC: 22.0
Br Loops: 2715 ; CLC: 17.0
Jmp (R0) Loops: 2302 ; CLC: 24.0
Jmp (PC) Loops: 2302 ; CLC: 24.0
Jmp (PC)+ Loops: 2206 ; CLC: 26.0
Mov R0, PC Loops: 2941 ; CLC: 14.0
Add R0, PC Loops: 2941 ; CLC: 14.0
Jmp LABEL Loops: 1858 ; CLC: 35.0
Jmp @#Addr Loops: 1858 ; CLC: 35.0
Jmp @(R0)+ Loops: 1858 ; CLC: 35.0
Jmp @-(R0) Loops: 1858 ; CLC: 35.0
Jmp xx(R0) Loops: 1858 ; CLC: 35.0
Jmp @x(R0) Loops: 1513 ; CLC: 48.0
Jmp @Var Loops: 1513 ; CLC: 48.0

Program completed.

.

form
19.03.2013, 08:14
.RU JMP
JMP - v1.1
Memory Top: 114734
BUF words: 18096
CPU KHz: 5300 > 18000
CPU KHz: 18000

SOB Loops: 17991 ; CLC: 20.0
Br Loops: 9994 ; CLC: 16.0
Jmp (R0) Loops: 9994 ; CLC: 16.0
Jmp (PC) Loops: 9994 ; CLC: 16.0
Jmp (PC)+ Loops: 8177 ; CLC: 24.0
Mov R0, PC Loops: 8177 ; CLC: 24.0
Add R0, PC Loops: 8177 ; CLC: 24.0
Jmp LABEL Loops: 8995 ; CLC: 20.0
Jmp @#Addr Loops: 8994 ; CLC: 20.0
Jmp @(R0)+ Loops: 7648 ; CLC: 27.1
Jmp @-(R0) Loops: 7049 ; CLC: 31.1
Jmp xx(R0) Loops: 8177 ; CLC: 24.0
Jmp @x(R0) Loops: 7495 ; CLC: 28.0
Jmp @Var Loops: 7495 ; CLC: 28.0

Program completed.

.VDT

VDT V05.07
*177746/000000 14
*^C

.RU JMP
JMP - v1.1
Memory Top: 114734
BUF words: 18096
CPU KHz: 18000 >

SOB Loops: 7460 ; CLC: 48.3
Br Loops: 3892 ; CLC: 44.2
Jmp (R0) Loops: 3892 ; CLC: 44.2
Jmp (PC) Loops: 3892 ; CLC: 44.2
Jmp (PC)+ Loops: 3579 ; CLC: 52.3
Mov R0, PC Loops: 3579 ; CLC: 52.3
Add R0, PC Loops: 3579 ; CLC: 52.3
Jmp LABEL Loops: 3252 ; CLC: 62.5
Jmp @#Addr Loops: 3258 ; CLC: 62.2
Jmp @(R0)+ Loops: 3258 ; CLC: 62.2
Jmp @-(R0) Loops: 3145 ; CLC: 66.2
Jmp xx(R0) Loops: 3139 ; CLC: 66.4
Jmp @x(R0) Loops: 2715 ; CLC: 84.3
Jmp @Var Loops: 2715 ; CLC: 84.3

Program completed.

.

Patron
19.03.2013, 16:50
Универсальный тест: JSR.SAV (http://zx.pk.ru/attachment.php?attachmentid=40514) - позволяет определить число тактов, затрачиваемых любым процессором архитектуры PDP-11 на выполнение команд вызова подпрограмм.

При первом запуске теста нужно ввести правильное значение тактовой частоты тестируемого процессора в килогерцах.

При запуске на эмулируемой ДВК-1 результат выглядит так:



.RU JSR
JSR - v1.0
Memory Top: 137564
BUF words: 22951
CPU KHz: 5300 >

SOB Loops: 4814 ; CLC: 22.0
IOT Loops: 1039 ; CLC: 80.0
Trap Loops: 1039 ; CLC: 80.0
JSR PC, (R0) Loops: 1766 ; CLC: 38.0
JSR R0, (PC) Loops: 1766 ; CLC: 38.0
JSR PC, (PC) Loops: 1766 ; CLC: 38.0
JSR PC, (PC)+ Loops: 1737 ; CLC: 39.0
JSR PC,@(PC)+ Loops: 1493 ; CLC: 49.0
JSR PC,@(R0)+ Loops: 1493 ; CLC: 49.0
JSR PC,@(SP)+ Loops: 1492 ; CLC: 49.0
JSR PC,@-(R0) Loops: 1493 ; CLC: 49.0
JSR R1,@-(R0) Loops: 1493 ; CLC: 49.0
JSR PC, Label Loops: 1493 ; CLC: 49.0
JSR PC,@Var Loops: 1262 ; CLC: 62.0
JSR R1,@x(R0) Loops: 1262 ; CLC: 62.0

Program completed.

.

form
19.03.2013, 16:58
.RU JSR
JSR - v1.0
Memory Top: 114734
BUF words: 18139
CPU KHz: 5300 > 18000
CPU KHz: 18000

SOB Loops: 17992 ; CLC: 20.0
IOT Loops: 3102 ; CLC: 96.1
Trap Loops: 3102 ; CLC: 96.1
JSR PC, (R0) Loops: 5997 ; CLC: 40.0
JSR R0, (PC) Loops: 5622 ; CLC: 44.0
JSR PC, (PC) Loops: 5997 ; CLC: 40.0
JSR PC, (PC)+ Loops: 5622 ; CLC: 44.0
JSR PC,@(PC)+ Loops: 5996 ; CLC: 40.0
JSR PC,@(R0)+ Loops: 5065 ; CLC: 51.1
JSR PC,@(SP)+ Loops: 5622 ; CLC: 44.0
JSR PC,@-(R0) Loops: 5175 ; CLC: 49.6
JSR R1,@-(R0) Loops: 4913 ; CLC: 53.3
JSR PC, Label Loops: 5996 ; CLC: 40.0
JSR PC,@Var Loops: 4997 ; CLC: 52.0
JSR R1,@x(R0) Loops: 4734 ; CLC: 56.0

Program completed.

.VDT

VDT V05.07
*177746/000000 14
*^C

.RU JSR
JSR - v1.0
Memory Top: 114734
BUF words: 18139
CPU KHz: 18000 >

SOB Loops: 7461 ; CLC: 48.3
IOT Loops: 1795 ; CLC: 152.3
Trap Loops: 1795 ; CLC: 152.3
JSR PC, (R0) Loops: 3085 ; CLC: 68.4
JSR R0, (PC) Loops: 2988 ; CLC: 72.2
JSR PC, (PC) Loops: 3085 ; CLC: 68.4
JSR PC, (PC)+ Loops: 2983 ; CLC: 72.4
JSR PC,@(PC)+ Loops: 2763 ; CLC: 82.0
JSR PC,@(R0)+ Loops: 2675 ; CLC: 86.3
JSR PC,@(SP)+ Loops: 2674 ; CLC: 86.4
JSR PC,@-(R0) Loops: 2598 ; CLC: 90.3
JSR R1,@-(R0) Loops: 2527 ; CLC: 94.2
JSR PC, Label Loops: 2763 ; CLC: 82.0
JSR PC,@Var Loops: 2296 ; CLC: 108.5
JSR R1,@x(R0) Loops: 2241 ; CLC: 112.4

Program completed.

.

form
23.03.2013, 20:45
Два приложения из "PDP-11/84 System Technical and Reference Manual", касающиеся времени выполнения команд KDJ11-B.

anasana
27.03.2013, 15:05
А на DEC PRO тесты могут работать?
Запустил навскидку какой-то и задача остановилось на фразе: "Turn LTC ON.."

Patron
27.03.2013, 16:09
А на DEC PRO тесты могут работать?
Запустил навскидку какой-то и задача остановилось на фразе: "Turn LTC ON.."Универсальным тестам нужно работающее прерывание 50/60 Гц по вектору 0100

Вроде, в DEC Pro это прерывание должно эмулироваться операционной системой..

hobot
28.03.2013, 12:22
Turn LTC ON..
LTC это вот это > http://en.wikipedia.org/wiki/Linear_timecode
Таймер проще говоря? Вот с таймерами у ДЕК и наших машинок то же нет согласованности видимо никакой, везде по своему реализовано (

form
28.03.2013, 12:25
LTC это вот это > http://en.wikipedia.org/wiki/Linear_timecode
Таймер проще говоря? Вот с таймерами у ДЕК и наших машинок то же нет согласованности видимо никакой, везде по своему реализовано (

Стандартных варианта два - с управлением и без и в эти два варианта успешно укладывается все кроме изарвщений вроде DEC PRO :)

---------- Post added at 15:25 ---------- Previous post was at 15:24 ----------

Кстати LTC к linear timecode отношения не имеет :)

hobot
28.03.2013, 12:51
Кстати LTC к linear timecode отношения не имеет
а как тогда аббревиатура правильно читается?


кроме изарвщений вроде DEC PRO
Я уже снова ожидал увидеть в конце фразы УК-НЦ )
У ДВК-же там то же несколько вариантов видимо? Имеется в виду аппаратных.

form
28.03.2013, 12:51
а как тогда аббревиатура правильно читается?


Я уже снова ожидал увидеть в конце фразы УК-НЦ )
У ДВК-же там то же несколько вариантов видимо? Имеется в виду аппаратных.

Line Time Clock.
На УКНЦ стандартный без управления.
У ДВК тоже без управления.

form
02.04.2013, 22:33
Приложение из документации по KDJ11-E

Patron
04.04.2013, 16:55
Универсальный тест: MUL.SAV (http://zx.pk.ru/attachment.php?attachmentid=40779) позволяет определить число тактов, затрачиваемых любым процессором архитектуры PDP-11 на выполнение команды MUL с первым операндом в регистре.

При первом запуске теста нужно ввести правильное значение тактовой частоты тестируемого процессора в килогерцах.

При запуске на эмулируемой ДВК-1 (с запущенным драйвером EM.SYS) результат выглядит так:



.RU MUL
MUL - v1.0
Memory Top: 137564
BUF words: 22812
CPU KHz: 5300 >

1: Nop Evt: 9 ; Run: 7559 ; Res: 7568 ; CLC: 14.0
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 0 ; Run: 42 ; Res: 42 ; CLC: 2585.#
1: Mul R2, R1 Evt: 0 ; Run: 36 ; Res: 36 ; CLC: 3029.#
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 0 ; Run: 42 ; Res: 42 ; CLC: 2585.#
1: Mul R2, R1 Evt: 0 ; Run: 42 ; Res: 42 ; CLC: 2585.#
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 37 ; Res: 37 ; CLC: 2944.#
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 33 ; Res: 33 ; CLC: 3313.#
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 29 ; Res: 29 ; CLC: 3786.#
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 27 ; Res: 27 ; CLC: 4077.#
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 25 ; Res: 25 ; CLC: 4417.#

.

Где:

Evt - Число тестируемых команд, выполнившихся за промежуток времени между началом и концом первого прерывания таймера.
Run - Число тестируемых команд, выполнившихся за промежуток времени между концом первого и началом второго прерывания таймера.
Res - Общее число тестируемых команд, выполнившихся между началом первого и началом второго прерывания таймера.
CLC - Подсчитанное число тактов.

...

form
04.04.2013, 17:00
с запущенным драйвером EM.SYS

Кстати тут разгребать начал DECUSовские ленты для RT, там нашел еще какие-то эмуляторы EIS+SOB/SXT, FIS, FPP.

---------- Post added at 20:00 ---------- Previous post was at 19:56 ----------


.RU MUL
MUL - v1.0
Memory Top: 131542
BUF words: 21267
CPU KHz: 5300 > 18000
CPU KHz: 18000

1: Nop Evt: 9 ; Run: 18936 ; Res: 18945 ; CLC: 19.0
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 0 ; Run: 3634 ; Res: 3634 ; CLC: 99.1
1: Mul R2, R1 Evt: 0 ; Run: 3635 ; Res: 3635 ; CLC: 99.0
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 0 ; Run: 3634 ; Res: 3634 ; CLC: 99.1
1: Mul R2, R1 Evt: 0 ; Run: 3635 ; Res: 3635 ; CLC: 99.0
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 3787 ; Res: 3787 ; CLC: 95.1
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 3788 ; Res: 3788 ; CLC: 95.0
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 1 ; Run: 3788 ; Res: 3789 ; CLC: 95.0
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 3788 ; Res: 3788 ; CLC: 95.0
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 3788 ; Res: 3788 ; CLC: 95.0

.VDT

VDT V05.07
*177746/000000 14
*^C

.RU MUL
MUL - v1.0
Memory Top: 131542
BUF words: 21267
CPU KHz: 18000 >

1: Nop Evt: 8 ; Run: 13835 ; Res: 13843 ; CLC: 26.0
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 1 ; Run: 3394 ; Res: 3395 ; CLC: 106.0
1: Mul R2, R1 Evt: 1 ; Run: 3394 ; Res: 3395 ; CLC: 106.0
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 1 ; Run: 3394 ; Res: 3395 ; CLC: 106.0
1: Mul R2, R1 Evt: 0 ; Run: 3394 ; Res: 3394 ; CLC: 106.1
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 1 ; Run: 3527 ; Res: 3528 ; CLC: 102.0
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 1 ; Run: 3527 ; Res: 3528 ; CLC: 102.0
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 1 ; Run: 3527 ; Res: 3528 ; CLC: 102.0
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 1 ; Run: 3527 ; Res: 3528 ; CLC: 102.0
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 3527 ; Res: 3527 ; CLC: 102.1

.

Patron
04.04.2013, 17:06
Ага! Похоже, тестовый движок удалось настроить точнее - бессмысленные "дробные такты" гораздо меньше засоряют результат.

form
04.04.2013, 17:07
Ага! Похоже, тестовый движок удалось настроить точнее - бессмысленные "дробные такты" гораздо меньше засоряют результат.

Теперь можно сравнить с таблицами - выше в этой теме лежат :)

hobot
05.04.2013, 14:07
Тестовая плата №1



Начал с этого теста ради тренировки и прогрева компа )

http://savepic.org/3190769.jpg

http://savepic.org/3177457.jpg

http://savepic.org/3176433.jpg

http://savepic.org/3170289.jpg


Потом запустил movpc и вот какая штука,
он трапнулся, но ещё и систему перезагружать пришлось,
в последний раз перезагрузка не требовалась, а в этот раз
видно на снимке

http://savepic.org/3201008.jpg

После перезагрузки прогнал этот тест

http://savepic.org/3169267.jpg

http://savepic.org/3155955.jpg

http://savepic.org/3159027.jpg

http://savepic.org/3199986.jpg

http://savepic.org/3181554.jpg

http://savepic.org/3174386.jpg


И этот

http://savepic.org/3149815.jpg

http://savepic.org/3151863.jpg

http://savepic.org/3204086.jpg

http://savepic.org/3198966.jpg

http://savepic.org/3201014.jpg

http://savepic.org/3187702.jpg

http://savepic.org/3180534.jpg

http://savepic.org/3177462.jpg

Затем, придерживался списка )

http://savepic.org/3168009.jpg

http://savepic.org/3209993.jpg

http://savepic.org/3208969.jpg

http://savepic.org/3195657.jpg

http://savepic.org/3200777.jpg

http://savepic.org/3182345.jpg

По умолчанию предложил мне 8300 ???
Я согласился )

http://savepic.org/3180297.jpg



Почитаю комментарии, что такое с палитрой в тесте Titusa?
Вопросы + перерыв(!), если с этой платой всё, можно сменить на
Плату №2 )

Всем спасибо! Очень нужны комментарии, вопросы и ответы )

:redface:

Patron
05.04.2013, 14:16
если с этой платой всёСписок актуальных тестов таймингов - в первом сообщении темы.


По умолчанию предложил мне 8300 ??? Я согласился По умолчанию показывается последнее введённое значение.
Если ввести 1 - при следующем запуске покажет 1, но это ещё не повод соглашаться.

hobot
05.04.2013, 14:42
Titus, что означает всё таки вот это ?

http://savepic.org/3155955.jpg



Список актуальных тестов таймингов - в первом сообщении темы.
Часть из них прогнал всё таки? А другую часть надо просто перенести, их просто там нет, сейчас и эту ситуацию поправлю. Плату не выключаю, перерыв )

Titus
05.04.2013, 14:45
Titus, что означает всё таки вот это ?
Для тех, кто внимательно читал тему, это означает, что эти регистры и должны быть недоступны)

hobot
05.04.2013, 20:42
Цитата:
Сообщение от Patron Посмотреть сообщение
Список актуальных тестов таймингов - в первом сообщении темы.
Часть из них прогнал всё таки? А другую часть надо просто перенести, их просто там нет, сейчас и эту ситуацию поправлю. Плату не выключаю, перерыв )

ТЕСТОВАЯ ПЛАТА #1
(продолжение...)





Список актуальных тестов таймингов - в первом сообщении темы.
Часть из них прогнал всё таки? А другую часть надо просто перенести, их просто там нет, сейчас и эту ситуацию поправлю. Плату не выключаю, перерыв )


Те что прогнал ранее http://zx.pk.ru/showpost.php?p=589539&postcount=317


BIS -
http://savepic.org/3209993.jpg

BISB -
http://savepic.org/3208969.jpg

CMPB -
http://savepic.org/3195657.jpg

IRQ -
http://savepic.org/3200777.jpg

MAP -
http://savepic.org/3168009.jpg

MOV -
http://savepic.org/3182345.jpg

MOVPC -
http://savepic.org/3201008.jpg

MOVPC1 - надо переделать !!!

MOVPCY -
1) http://zx.pk.ru/showpost.php?p=589458&postcount=584
2) http://zx.pk.ru/showpost.php?p=589521&postcount=586



Вторая половина тестов


TSTMR -
http://savepic.org/3160925.jpg

MOVPC1 - ПЕРЕДЕЛАЛ !!!
http://savepic.org/3211100.jpg

ADD -
http://savepic.org/3185500.jpg

CMP -
http://savepic.org/3162972.jpg

JMP 1.1 -
http://savepic.org/3155807.jpg

JMP 1.2 -
http://savepic.org/3204959.jpg

JSR -
http://savepic.org/3207006.jpg

MOVB -
http://savepic.org/3202910.jpg

MOVPC2 V1.1
http://savepic.org/3180382.jpg

MOVPC2 V1.2
http://savepic.org/3158878.jpg

MUL -
http://savepic.org/3200849.jpg

OP1 -
http://savepic.org/3183441.jpg

RTS -
http://savepic.org/3169105.jpg



Дополнительная информация:
1.УК-НЦ между 1-ым тестирование и 2-ым не выключал
(не повисла (!) - это хорошо, перезагрузил, тест который
"сложный" и должен показывать вылет - не вылетел !!! хотя прогрев
состоялся я думаю не плохой ) фото делать с него не стал, там результаты 1 в 1 с нормальным исходом.

Как-то так.

hobot
06.04.2013, 10:48
Patron, у меня вопрос - просьба, если с Платой №1 пока всё, дайте отмашку на прогон Платы №2 или что-то по первой плате ? Пока в донышке корпуса установлена и подключена плата №1. Какие данные по плате нужны ? Литера там 5-1, схемотехника на всех моих платах "КВАНТовская". (Отдельно тест с ручным вводом данных, тот который позволяет исследовать вылет, я буду в любом случае гонять в процессе пользования УК-НЦшкой.)

Patron
06.04.2013, 13:01
если с Платой №1 пока всёМне ещё надо сделать тесты команд DIV, ASH, ASHC.

...

Относительно глюкометрических тестов - методика такая:

1. Если начиная с какого-то значения Row Len тест вылетает - нужно установить Row Len на 1000 меньше и провести тест с параметром Grow = 1 - тогда длина цепочки команд будет увеличиваться только на одну команду за один проход.

2. Если не вылетает - нужно установить Row Len = 9000 и Grow = 1.

3. Если не вылетело - нужно установить Row Len = 10000 и Grow = 0 ( Loops при этом должен автоматически установиться на 1600 ).

hobot
06.04.2013, 13:47
Мне ещё надо сделать тесты команд DIV, ASH, ASHC.
Это какой то исходник можно руками поправить - заменой команд?
В любом случае у меня сейчас донышко(корпус) и две платы для теста под рукой, пока все актуальные тесты из списка на ЖД УК-НЦшки перегнал.
И если DIV, ASH, ASHC - сложнее и нужно ждать, я прогоню доступные(готовые) на плате №2 ?
Кстати говоря, плата№2 - плата которую DATAsoft задарил мне (за что ему отдельно ещё раз спасибо!), литера там такая-же [5-1], а вот дальше уже есть отличия. Например на плате№1 нету проводка через всю плату к ПП, на плате№2 есть. Есть отличия и в области видео выходов, в общем поставлю и прогоню пока те тесты что есть. Всё равно делать и вроде аккумы для фотика подзарядились ) Фотки обеих плат я выкладывал в теме восстановления их можно к сообщениям в которых тестов результаты позже прилепить (надо их отыскать ещё в той теме и именно их!).


Относительно глюкометрических тестов - методика такая:

1. Если начиная с какого-то значения Row Len тест вылетает - нужно установить Row Len на 1000 меньше и провести тест с параметром Grow = 1 - тогда длина цепочки команд будет увеличиваться только на одну команду за один проход.

2. Если не вылетает - нужно установить Row Len = 9000 и Grow = 1.

3. Если не вылетело - нужно установить Row Len = 10000 и Grow = 0 ( Loops при этом должен автоматически установиться на 1600 ).
Принято, этот тест будет гонятся в процессе эксплуатации УК_НЦшки.
Может что то и отловиться, штука в том что с одними и теми же параметрами вылет не гарантирован, как и не вылет - вот что показал пока эксперимент вчерашний.
За него надо прямо отдельно засесть я так думаю. И гонять гонять гонять )


(это займёт время! по готовности сразу выложу фотки для платы № 2)

form
06.04.2013, 15:28
Мне ещё надо сделать тесты команд DIV, ASH, ASHC.

Включая ошибку сдвига на 31! :)

Patron
06.04.2013, 16:23
Включая ошибку сдвига на 31!А где и что происходит при сдвиге на 31 ?

form
06.04.2013, 16:26
А где и что происходит при сдвиге на 31 ?

В некоторых реализациях J11 при определенных условиях сдвиг на 31 влево работает как сдвиг вправо. Я тут выкладывал различия в поведениях команд, там описан буг.
Мне не попадались машины с этим бугум.

hobot
06.04.2013, 16:34
Глюки и ошибки (ПРОМЕЖУТОЧНЫЙ ОТЧЁТ). - тестовая плата№2
(про фотки!!!
Иногда резкость немного (совсем чуть чуть) invalid - это камера промахивается,
и даже среди нескольких кадров (3-5 дублей) потом ни одного на выходе 100% отличного нет. На маленьком экранчике иногда кажется(видится) что всё норм.
)

после первого запуска вылет!!!
http://savepic.org/3185386.jpg

но сразу же запустил повторно!!!
http://savepic.org/3152618.jpg

НО! После этого пришлось систему перезапускать.
http://savepic.org/3150573.jpg

Ладно, а теперь сладенькое )))
Перезагрузился и запустил тест который вот этот самый !
Параметры которые я вбил видно на экране (неправильные?).

не на каждый проход, но на каждый 3-й примерно такая вот ругань!
http://savepic.org/3193580.jpg

и главное я не стал дожидаться остановки (мне показалось что её никогда не будет)
http://savepic.org/3160812.jpg

И нажал reset - это кнопка такая синяя справа на плате )
Сброс. И вот я жму ресет и вижу вот это, а потом снова и снова
вижу вот это (видео_6мб (http://archive.pdp-11.org.ru/vid/MVI_4098.avi)), обязательно посмотрите, снимки ниже
это уже после того как после последнего сброса на плате я по
адресу в 40 ячейке сделал пуск )

http://savepic.org/3146464.jpg

Остальные тесты идут как по маслу, их я прогоню по списку все
и выложу в одном сообщении. Повторюсь всё это уже на плате№2 )



(доделываю оставшиеся тесты).

hobot
06.04.2013, 19:26
Тестовая плата №2, литера[5-1].



ТАЙМЕР? ЗАПУСТИЛ ДЛЯ ПРОГРЕВА ;-)
http://savepic.org/3147266.jpg

ADD -
http://savepic.org/3203589.jpg

BIS -
http://savepic.org/3210757.jpg

BISB -
http://savepic.org/3202565.jpg

CMP -
http://savepic.org/3181061.jpg

CMPB -
http://savepic.org/3171845.jpg

IRQ -
http://savepic.org/3162629.jpg

JMP1 -
http://savepic.org/3201540.jpg

JMP2 -
http://savepic.org/3183108.jpg

JSR -
http://savepic.org/3166724.jpg

MAP -
http://savepic.org/3147268.jpg

MOV -
http://savepic.org/3209735.jpg

MOVB -
http://savepic.org/3200519.jpg

MOVPC1 -
http://savepic.org/3182087.jpg

MOVPC2 V1.1
http://savepic.org/3164679.jpg

MOVPC2 V1.2
http://savepic.org/3154439.jpg

MUL -
http://savepic.org/3198470.jpg

OP1 -
http://savepic.org/3190278.jpg

RTS -
http://savepic.org/3192326.jpg



Все фотографии в этой теме авторские и принадлежат их авторам!

Patron
06.04.2013, 20:41
Очень интересные результаты для переходов:



Br : 28 CLC
Jmp (R0) : 35 CLC
Mov R0, PC : 28 CLC
Add R0, PC : 28 CLCMov R0, PC осуществляет больше микропрограммных действий ( PSW изменяет по результатам операции ),
но выполняется на 7 тактов быстрее, чем Jmp (R0).

Это почему так, кто объяснит..

form
06.04.2013, 20:45
Очень интересные результаты для переходов:



Br : 28 CLC
Jmp (R0) : 35 CLC
Mov R0, PC : 28 CLC
Add R0, PC : 28 CLCMov R0, PC осуществляет больше микропрограммных действий ( PSW изменяет по результатам операции ),
но выполняется на 7 тактов быстрее, чем Jmp (R0).

Это почему так, кто объяснит..

Выше есть таблицы для KDJ11, там есть отдельные таблицы для команд и режимов, можно по ним сравнить. Возможно дело в режиме адресации.

Patron
06.04.2013, 20:56
Возможно дело в режиме адресации.Точно. Команды, использующие не операнд, а его адрес ( JMP и JSR ) - должны прервать получение операнда на стадии готовности адреса. Возможно, что из-за этого в процессорах ВМ1 и ВМ2 приходится блокировать интерфейс шинного блока, который отключается от шины и "внутри себя" быстренько прокручивает фиктивный шинный цикл.

hobot
06.04.2013, 21:15
Patron, проясните мне по поводу теста на сбой-глюк?
Вот на картинке последней (последней не по счёту, а по отчёту), вылет произошёл, если я правильно понимаю при RowLen=3122, я попытался ввести RowLen=2122 (т.е. -1000 по инструкц.) и Grow=1, но тогда тест не прекращается и всё время плюётся
надписью BAD JMP!!! - как его гонять с таким ? Может нужно для исследования этого момента что переделать-написать заточенное? Или я просто не правильно что то ввожу? Да и мне совершенно не понятно значение других переменных (
сделать прогон этого теста более понятным для меня , что такое параметр 11700?
Откуда значение 8013 получено и насколько оно в целом идеально? Мерцалки к слову у ЦП на плате разные могут стоять ) У Titusa вообще есть разогнанный вариант, но как определить реальную частоту? Фактическую у каждой платы конкретной?

---------- Post added at 21:15 ---------- Previous post was at 21:09 ----------

В очередной раз за последнии два дня убедился, что если УК-НЦшка рабочая - она (т.т.т.) рабочая. Повиснет или глюконёт если что то не отлаженное не проверенное
начать запускать, компилировать что-нибудь экспериментальное, но если "допустим"
вообще не трогать - просто запустить скажем часы или игрушки играть (только те которые сессию не убивают) - то время работы фактически очень большое.
Я затрудняюсь сказать, но свою УК-НЦ в 90-х иногда не вырубал (перезагрузки не в счёт) целыми сутками.

Patron
06.04.2013, 23:28
всё время плюётся надписью BAD JMP!!! - как его гонять с таким ?Это нормально - так и должно быть.

Странно, когда нет надписи про BAD JMP - наверное, это как-то связано с прерываниями таймера.

Можно задать параметр MTPS = 340 и таким образом отключить таймер.

---------- Post added at 22:26 ---------- Previous post was at 22:24 ----------


как определить реальную частоту?При изучении глюков это не играет роли - только при измерении таймингов.

---------- Post added at 22:28 ---------- Previous post was at 22:26 ----------

Возможно, BAD JMP возникает при чётной длине цепочки команд и не возникает при нечётной ( или наоборот ).

hobot
06.04.2013, 23:37
Возможно, BAD JMP возникает при чётной длине цепочки команд и не возникает при нечётной ( или наоборот ).
примерно так, поскольку надпись мелькает, то есть точно не на каждую цепочку возникает BAD JMP. в общем я этот тест в любом случае ещё погоняю.
Значения у других тестов я заметил плавают в пределах +-0.3(иногда даже больше иногда меньше), это видно, если один и тот же тест запускать подряд и вводить одинаковую частоту при этом ( в моём случае 8013 я вводил).


Можно задать параметр MTPS = 340 и таким образом отключить таймер.
Принято, а если таймер отключить в меню УСТ перед тестом?
Да! Вчера то с первой платой BAD JMP не было ни разу, различия кроме плат в тестировании было ещё в том, что во вторую плату сегодня у меня был воткнут только один контроллер ЖД, а флоп за ненадобностью я не подключал.

Patron
06.04.2013, 23:52
Значения у других тестов я заметил плавают в пределах +-0.3(иногда даже больше иногда меньше)Для сбора статистики разброса времени выполнения команд потребуется специальный тест.


если один и тот же тест запускать подряд и вводить одинаковую частоту при этом ( в моём случае 8013 я вводил).Если тест предлагает устраивающее значение - достаточно нажать [Enter].

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


а если таймер отключить в меню УСТ перед тестом?Лучше этого не делать.

Patron
07.04.2013, 00:06
Универсальный тест: DIV.SAV (http://zx.pk.ru/attachment.php?attachmentid=40824) позволяет определить число тактов, затрачиваемых любым процессором архитектуры PDP-11 на выполнение команды DIV с первым операндом в регистре.

При первом запуске теста нужно ввести правильное значение тактовой частоты тестируемого процессора в килогерцах.

При запуске на эмулируемой ДВК-1 (с запущенным драйвером EM.SYS) результат выглядит так:



.RU DIV
DIV - v1.0
Memory Top: 137564
BUF words: 22896
CPU KHz: 5300 >

1: Nop Evt: 9 ; Run: 7559 ; Res: 7568 ; CLC: 14.0
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 39 ; Res: 39 ; CLC: 2789.#
1: Div R2, R1 Evt: 0 ; Run: 21 ; Res: 21 ; CLC: 5300.#
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 21 ; Res: 21 ; CLC: 5300.#
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 42 ; Res: 42 ; CLC: 2585.#
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 42 ; Res: 42 ; CLC: 2585.#

Program completed.

.

Где:

Evt - Число тестируемых команд, выполнившихся за промежуток времени между началом и концом первого прерывания таймера.
Run - Число тестируемых команд, выполнившихся за промежуток времени между концом первого и началом второго прерывания таймера.
Res - Общее число тестируемых команд, выполнившихся между началом первого и началом второго прерывания таймера.
CLC - Подсчитанное число тактов.

...

hobot
07.04.2013, 00:37
Универсальный тест: DIV.SAV
Копим собираем пачку тестов для прогона ! ) Ура! )

form
07.04.2013, 11:23
.RU DIV
DIV - v1.0
Memory Top: 65520
BUF words: 12126
CPU KHz: 5300 > 18000
CPU KHz: 18000



Это все. Здесь висит :)

---------- Post added at 13:51 ---------- Previous post was at 13:50 ----------

А не, это я его из под ZM запустил...


.RU DIV
DIV - v1.0
Memory Top: 116334
BUF words: 18468
CPU KHz: 18000 >

2: Nop Evt: 6 ; Run: 18936 ; Res: 18942 ; CLC: 19.0
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 2309 ; Res: 2309 ; CLC: 155.9
1: Div R2, R1 Evt: 0 ; Run: 2309 ; Res: 2309 ; CLC: 155.9
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 2437 ; Res: 2437 ; CLC: 147.7
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 2309 ; Res: 2309 ; CLC: 155.9
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 13324 ; Res: 13324 ; CLC: 27.0

Program completed.

.

---------- Post added at 13:52 ---------- Previous post was at 13:51 ----------

И без кэша:


.RU DIV
DIV - v1.0
Memory Top: 116334
BUF words: 18468
CPU KHz: 18000 >

1: Nop Evt: 8 ; Run: 13835 ; Res: 13843 ; CLC: 26.0
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 2221 ; Res: 2221 ; CLC: 162.1
1: Div R2, R1 Evt: 0 ; Run: 2221 ; Res: 2221 ; CLC: 162.1
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 2336 ; Res: 2336 ; CLC: 154.1
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 2221 ; Res: 2221 ; CLC: 162.1
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 10580 ; Res: 10580 ; CLC: 34.0

Program completed.

.

---------- Post added at 14:23 ---------- Previous post was at 13:52 ----------

По таблице из приложения получается NOP - 3 микроцикла (24 CLK), DIV - 34 (272 CLK)

Patron
07.04.2013, 13:59
По таблице из приложения получается NOP - 3 микроцикла (24 CLK)В файле KDJ11E-Timing.pdf написано, что 1 MC == 4 CLK. Поэтому NOP выполняется за [ 3*4 + время чтения памяти ] CLK.

form
07.04.2013, 14:00
В файле KDJ11E-Timing.pdf написано, что 1 MC == 4 CLK. Поэтому NOP выполняется за [ 3*4 + время чтения памяти ] CLK.

Мне попалась строчка про 8. Правда я читал предварительную доку - там таблицы красивее :)

Patron
07.04.2013, 16:11
Универсальный тест: ASH.SAV (http://zx.pk.ru/attachment.php?attachmentid=40830) позволяет определить число тактов, затрачиваемых любым процессором архитектуры PDP-11 на выполнение команды ASH с первым операндом в регистре.

При первом запуске теста нужно ввести правильное значение тактовой частоты тестируемого процессора в килогерцах.

При запуске на эмулируемой ДВК-1 (с запущенным драйвером EM.SYS) результат выглядит так:



.RU ASH
ASH - v1.0
Memory Top: 137564
BUF words: 22891
CPU KHz: 5300 >

1: Nop Evt: 10 ; Run: 7559 ; Res: 7569 ; CLC: 14.0
R2 = 0
1: ASh R2, R0 Evt: 0 ; Run: 38 ; Res: 38 ; CLC: 2865.#
R2 = 1
1: ASh R2, R0 Evt: 0 ; Run: 37 ; Res: 37 ; CLC: 2944.#
R2 = 8
1: ASh R2, R0 Evt: 0 ; Run: 33 ; Res: 33 ; CLC: 3313.#
R2 = -1
1: ASh R2, R0 Evt: 0 ; Run: 38 ; Res: 38 ; CLC: 2865.#
R2 = -8
1: ASh R2, R0 Evt: 0 ; Run: 35 ; Res: 35 ; CLC: 3118.#

Program completed.

.

Где:

Evt - Число тестируемых команд, выполнившихся за промежуток времени между началом и концом первого прерывания таймера.
Run - Число тестируемых команд, выполнившихся за промежуток времени между концом первого и началом второго прерывания таймера.
Res - Общее число тестируемых команд, выполнившихся между началом первого и началом второго прерывания таймера.
CLC - Подсчитанное число тактов.

...

Patron
07.04.2013, 16:11
Универсальный тест: ASHC.SAV (http://zx.pk.ru/attachment.php?attachmentid=40831) позволяет определить число тактов, затрачиваемых любым процессором архитектуры PDP-11 на выполнение команды ASHC с первым операндом в регистре.

При первом запуске теста нужно ввести правильное значение тактовой частоты тестируемого процессора в килогерцах.

При запуске на эмулируемой ДВК-1 (с запущенным драйвером EM.SYS) результат выглядит так:



.RU ASHC
ASHC - v1.0
Memory Top: 137564
BUF words: 22852
CPU KHz: 5300 >

1: Nop Evt: 10 ; Run: 7559 ; Res: 7569 ; CLC: 14.0
R2 = 0
1: AShC R2, R0 Evt: 0 ; Run: 39 ; Res: 39 ; CLC: 2789.#
1: AShC R2, R1 Evt: 0 ; Run: 39 ; Res: 39 ; CLC: 2789.#
R2 = 1
1: AShC R2, R0 Evt: 0 ; Run: 38 ; Res: 38 ; CLC: 2865.#
1: AShC R2, R1 Evt: 0 ; Run: 38 ; Res: 38 ; CLC: 2865.#
R2 = 8
1: AShC R2, R0 Evt: 0 ; Run: 32 ; Res: 32 ; CLC: 3419.#
1: AShC R2, R1 Evt: 0 ; Run: 32 ; Res: 32 ; CLC: 3419.#
R2 = -1
1: AShC R2, R0 Evt: 0 ; Run: 38 ; Res: 38 ; CLC: 2865.#
1: AShC R2, R1 Evt: 0 ; Run: 38 ; Res: 38 ; CLC: 2865.#
R2 = -8
1: AShC R2, R0 Evt: 0 ; Run: 34 ; Res: 34 ; CLC: 3212.#
1: AShC R2, R1 Evt: 0 ; Run: 34 ; Res: 34 ; CLC: 3212.#

Program completed.

.

Где:

Evt - Число тестируемых команд, выполнившихся за промежуток времени между началом и концом первого прерывания таймера.
Run - Число тестируемых команд, выполнившихся за промежуток времени между концом первого и началом второго прерывания таймера.
Res - Общее число тестируемых команд, выполнившихся между началом первого и началом второго прерывания таймера.
CLC - Подсчитанное число тактов.

...

hobot
07.04.2013, 20:54
Продолжаем тестирование
ASH, ASHC, DIV

Тестовая плата № 1


ASH -
http://savepic.org/3212575.jpg

ASHC -
http://savepic.org/3266846.jpg

DIV -
http://savepic.org/3250462.jpg




Тестовая плата № 2


ASH -
http://savepic.org/3227934.jpg

ASHC -
http://savepic.org/3223838.jpg

DIV -
http://savepic.org/3262737.jpg

Patron
07.04.2013, 21:18
Оказывается, у процессора 1801ВМ2 продолжительность выполнения команд ASH и ASHC зависит от значения первого аргумента.

Не вполне понятно, почему продолжительность сдвига на -1 равна продолжительности сдвига на 0, а не на 1 - придётся дополнительно сделать тест, выводящий результаты сдвига в зависимости от аргумента.

Patron
07.04.2013, 21:55
Чтобы посмотреть, что происходит в регистре-приёмнике при командах ASH с аргументом 0, 1 и -1 - написан тест ASHT.SAV (http://zx.pk.ru/attachment.php?attachmentid=40841)

На эмулируемой ДВК-1 с драйвером EM.SYS результат такой:



.RU ASHT
ASH test v1.0

0100000000000010 ASH #0., R0 0100000000000010 N:0 Z:0 V:0 C:0
0100000000000010 ASH #1., R0 1000000000000100 N:1 Z:0 V:1 C:0
0100000000000010 ASH #-1, R0 0010000000000001 N:0 Z:0 V:0 C:0

Program completed.

.

form
07.04.2013, 22:01
.RU ASHT
ASH test v1.0

0100000000000010 ASH #0., R0 0100000000000010 N:0 Z:0 V:0 C:0
0100000000000010 ASH #1., R0 1000000000000100 N:1 Z:0 V:1 C:0
0100000000000010 ASH #-1, R0 0010000000000001 N:0 Z:0 V:0 C:0

Program completed.

.

---------- Post added at 01:01 ---------- Previous post was at 00:59 ----------

А в сущности в чем вопрос-то был? :)

Alex_K
07.04.2013, 22:04
Оказывается, у процессора 1801ВМ2 продолжительность выполнения команд ASH и ASHC зависит от значения первого аргумента.
Да, так и должно быть, в отличии от MUL и DIV, которые всегда исполняются за определенное количество тактов, хотя как я видел, есть исключение на 4 такта.

Не вполне понятно, почему продолжительность сдвига на -1 равна продолжительности сдвига на 0, а не на 1 - придётся дополнительно сделать тест, выводящий результаты сдвига в зависимости от аргумента.
Вот это тоже для меня интересно. На моей реальной УКНЦ также. Ну и сдвиг занимает 4 такта.

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

hobot
07.04.2013, 22:40
Прогон ASHT


ASHT плата№1 -
http://savepic.org/3228991.jpg

ASHT плата№2 -
http://savepic.org/3233087.jpg

Patron
07.04.2013, 22:46
Специально для тех процессоров, у которых время выполнения команды ASH зависит от значения первого аргумента - ещё два теста таймингов:
ASH1 & ASH2 (http://zx.pk.ru/attachment.php?attachmentid=40844)

...

hobot
07.04.2013, 22:53
Кстати, благодаря тестам, нашел ошибочку в UKNCBTL.
Будет ли пофиксино в след. сборке? )


ASH1 & ASH2
Гнать? (я тут просто как оператор и мало что понимаю ВМ2 такой процессор?)

form
07.04.2013, 23:02
.RUN ASH1
ASH1 - v1.0
Memory Top: 116334
BUF words: 18266
CPU KHz: 5300 > 18000
CPU KHz: 18000
2: ASh #00., R0 Evt: 3 ; Run: 10581 ; Res: 10584 ; CLC: 34.0
2: ASh #01., R0 Evt: 5 ; Run: 9467 ; Res: 9472 ; CLC: 38.0
1: ASh #02., R0 Evt: 3 ; Run: 8566 ; Res: 8569 ; CLC: 42.0
1: ASh #03., R0 Evt: 2 ; Run: 7822 ; Res: 7824 ; CLC: 46.0
1: ASh #04., R0 Evt: 2 ; Run: 7196 ; Res: 7198 ; CLC: 50.0
1: ASh #05., R0 Evt: 2 ; Run: 6663 ; Res: 6665 ; CLC: 54.0
1: ASh #06., R0 Evt: 2 ; Run: 6203 ; Res: 6205 ; CLC: 58.0
1: ASh #07., R0 Evt: 1 ; Run: 5803 ; Res: 5804 ; CLC: 62.0
1: ASh #08., R0 Evt: 1 ; Run: 5451 ; Res: 5452 ; CLC: 66.0
1: ASh #09., R0 Evt: 1 ; Run: 5140 ; Res: 5141 ; CLC: 70.0
1: ASh #10., R0 Evt: 1 ; Run: 4862 ; Res: 4863 ; CLC: 74.0
1: ASh #11., R0 Evt: 0 ; Run: 4613 ; Res: 4613 ; CLC: 78.0
1: ASh #12., R0 Evt: 1 ; Run: 4388 ; Res: 4389 ; CLC: 82.0
1: ASh #13., R0 Evt: 0 ; Run: 4184 ; Res: 4184 ; CLC: 86.0
1: ASh #14., R0 Evt: 0 ; Run: 3998 ; Res: 3998 ; CLC: 90.0
1: ASh #15., R0 Evt: 0 ; Run: 3828 ; Res: 3828 ; CLC: 94.0
1: ASh #16., R0 Evt: 0 ; Run: 3672 ; Res: 3672 ; CLC: 98.0
1: ASh #17., R0 Evt: 0 ; Run: 3528 ; Res: 3528 ; CLC: 102.0
1: ASh #20., R0 Evt: 0 ; Run: 3156 ; Res: 3156 ; CLC: 114.1
1: ASh #30., R0 Evt: 0 ; Run: 2336 ; Res: 2336 ; CLC: 154.1
1: ASh #31., R0 Evt: 0 ; Run: 2277 ; Res: 2277 ; CLC: 158.1

.RUN ASH2
ASH2 - v1.0
Memory Top: 116334
BUF words: 18262
CPU KHz: 5300 > 18000
CPU KHz: 18000
2: ASh #000., R0 Evt: 4 ; Run: 10581 ; Res: 10585 ; CLC: 34.0
2: ASh #-01., R0 Evt: 5 ; Run: 9467 ; Res: 9472 ; CLC: 38.0
1: ASh #-02., R0 Evt: 3 ; Run: 8566 ; Res: 8569 ; CLC: 42.0
1: ASh #-03., R0 Evt: 1 ; Run: 7821 ; Res: 7822 ; CLC: 46.0
1: ASh #-04., R0 Evt: 2 ; Run: 7196 ; Res: 7198 ; CLC: 50.0
1: ASh #-05., R0 Evt: 2 ; Run: 6663 ; Res: 6665 ; CLC: 54.0
1: ASh #-06., R0 Evt: 1 ; Run: 6203 ; Res: 6204 ; CLC: 58.0
1: ASh #-07., R0 Evt: 1 ; Run: 5803 ; Res: 5804 ; CLC: 62.0
1: ASh #-08., R0 Evt: 1 ; Run: 5451 ; Res: 5452 ; CLC: 66.0
1: ASh #-09., R0 Evt: 1 ; Run: 5140 ; Res: 5141 ; CLC: 70.0
1: ASh #-10., R0 Evt: 0 ; Run: 4862 ; Res: 4862 ; CLC: 74.0
1: ASh #-11., R0 Evt: 0 ; Run: 4613 ; Res: 4613 ; CLC: 78.0
1: ASh #-12., R0 Evt: 0 ; Run: 4388 ; Res: 4388 ; CLC: 82.0
1: ASh #-13., R0 Evt: 1 ; Run: 4184 ; Res: 4185 ; CLC: 86.0
1: ASh #-14., R0 Evt: 0 ; Run: 3998 ; Res: 3998 ; CLC: 90.0
1: ASh #-15., R0 Evt: 0 ; Run: 3828 ; Res: 3828 ; CLC: 94.0
1: ASh #-16., R0 Evt: 0 ; Run: 3671 ; Res: 3671 ; CLC: 98.1
1: ASh #-17., R0 Evt: 0 ; Run: 3528 ; Res: 3528 ; CLC: 102.0
1: ASh #-20., R0 Evt: 0 ; Run: 3156 ; Res: 3156 ; CLC: 114.1
1: ASh #-30., R0 Evt: 0 ; Run: 2337 ; Res: 2337 ; CLC: 154.0
1: ASh #-31., R0 Evt: 0 ; Run: 2278 ; Res: 2278 ; CLC: 158.0

.VDT

VDT V05.07
*177746/000000 14
*^C

.RUN ASH1
ASH1 - v1.0
Memory Top: 116334
BUF words: 18266
CPU KHz: 18000 >
1: ASh #00., R0 Evt: 3 ; Run: 7459 ; Res: 7462 ; CLC: 48.2
1: ASh #01., R0 Evt: 3 ; Run: 6908 ; Res: 6911 ; CLC: 52.1
1: ASh #02., R0 Evt: 3 ; Run: 6389 ; Res: 6392 ; CLC: 56.3
1: ASh #03., R0 Evt: 2 ; Run: 5963 ; Res: 5965 ; CLC: 60.4
1: ASh #04., R0 Evt: 3 ; Run: 5584 ; Res: 5587 ; CLC: 64.4
1: ASh #05., R0 Evt: 2 ; Run: 5263 ; Res: 5265 ; CLC: 68.4
1: ASh #06., R0 Evt: 2 ; Run: 4968 ; Res: 4970 ; CLC: 72.4
1: ASh #07., R0 Evt: 1 ; Run: 4709 ; Res: 4710 ; CLC: 76.4
1: ASh #08., R0 Evt: 1 ; Run: 4470 ; Res: 4471 ; CLC: 80.5
1: ASh #09., R0 Evt: 1 ; Run: 4255 ; Res: 4256 ; CLC: 84.6
1: ASh #10., R0 Evt: 1 ; Run: 4064 ; Res: 4065 ; CLC: 88.6
1: ASh #11., R0 Evt: 1 ; Run: 3887 ; Res: 3888 ; CLC: 92.6
1: ASh #12., R0 Evt: 0 ; Run: 3723 ; Res: 3723 ; CLC: 96.7
1: ASh #13., R0 Evt: 1 ; Run: 3574 ; Res: 3575 ; CLC: 100.7
1: ASh #14., R0 Evt: 1 ; Run: 3439 ; Res: 3440 ; CLC: 104.7
1: ASh #15., R0 Evt: 0 ; Run: 3310 ; Res: 3310 ; CLC: 108.8
1: ASh #16., R0 Evt: 0 ; Run: 3192 ; Res: 3192 ; CLC: 112.8
1: ASh #17., R0 Evt: 0 ; Run: 3081 ; Res: 3081 ; CLC: 116.8
1: ASh #20., R0 Evt: 0 ; Run: 2791 ; Res: 2791 ; CLC: 129.0
1: ASh #30., R0 Evt: 0 ; Run: 2127 ; Res: 2127 ; CLC: 169.3
1: ASh #31., R0 Evt: 0 ; Run: 2078 ; Res: 2078 ; CLC: 173.2

.RUN ASH2
ASH2 - v1.0
Memory Top: 116334
BUF words: 18262
CPU KHz: 18000 >
1: ASh #000., R0 Evt: 3 ; Run: 7459 ; Res: 7462 ; CLC: 48.2
1: ASh #-01., R0 Evt: 4 ; Run: 6908 ; Res: 6912 ; CLC: 52.1
1: ASh #-02., R0 Evt: 2 ; Run: 6388 ; Res: 6390 ; CLC: 56.3
1: ASh #-03., R0 Evt: 2 ; Run: 5963 ; Res: 5965 ; CLC: 60.4
1: ASh #-04., R0 Evt: 2 ; Run: 5584 ; Res: 5586 ; CLC: 64.4
1: ASh #-05., R0 Evt: 3 ; Run: 5263 ; Res: 5266 ; CLC: 68.4
1: ASh #-06., R0 Evt: 3 ; Run: 4968 ; Res: 4971 ; CLC: 72.4
1: ASh #-07., R0 Evt: 2 ; Run: 4709 ; Res: 4711 ; CLC: 76.4
1: ASh #-08., R0 Evt: 2 ; Run: 4470 ; Res: 4472 ; CLC: 80.5
1: ASh #-09., R0 Evt: 1 ; Run: 4255 ; Res: 4256 ; CLC: 84.6
1: ASh #-10., R0 Evt: 1 ; Run: 4064 ; Res: 4065 ; CLC: 88.6
1: ASh #-11., R0 Evt: 1 ; Run: 3887 ; Res: 3888 ; CLC: 92.6
1: ASh #-12., R0 Evt: 2 ; Run: 3723 ; Res: 3725 ; CLC: 96.6
1: ASh #-13., R0 Evt: 1 ; Run: 3574 ; Res: 3575 ; CLC: 100.7
1: ASh #-14., R0 Evt: 0 ; Run: 3439 ; Res: 3439 ; CLC: 104.7
1: ASh #-15., R0 Evt: 0 ; Run: 3310 ; Res: 3310 ; CLC: 108.8
1: ASh #-16., R0 Evt: 1 ; Run: 3192 ; Res: 3193 ; CLC: 112.7
1: ASh #-17., R0 Evt: 0 ; Run: 3081 ; Res: 3081 ; CLC: 116.8
1: ASh #-20., R0 Evt: 0 ; Run: 2791 ; Res: 2791 ; CLC: 129.0
1: ASh #-30., R0 Evt: 0 ; Run: 2127 ; Res: 2127 ; CLC: 169.3
1: ASh #-31., R0 Evt: 0 ; Run: 2078 ; Res: 2078 ; CLC: 173.2

.

---------- Post added at 02:02 ---------- Previous post was at 01:53 ----------


Кстати, благодаря тестам, нашел ошибочку

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

А то блин всегда перегружаться приходится...

Patron
07.04.2013, 23:09
Специально для тех процессоров, у которых время выполнения команды ASHC зависит от значения первого аргумента - ещё два теста таймингов:
ASHC1 & ASHC2 (http://zx.pk.ru/attachment.php?attachmentid=40846)

...

Patron
07.04.2013, 23:13
Гнать?Да.
И ещё - ASHC1 & ASHC2

hobot
07.04.2013, 23:14
Patron, http://zx.pk.ru/showpost.php?p=590262&postcount=351
Я же тугой! Мне надо отмашку, гони все например ! )

---------- Post added at 23:14 ---------- Previous post was at 23:14 ----------


ASHC1 & ASHC2
Забрал! )

form
07.04.2013, 23:15
Хе-хе.
На глаз видна разница в скорости выполнения с кэшем и без :)


.RU ASHC1
ASHC1 - v1.0
Memory Top: 116334
BUF words: 18273
CPU KHz: 5300 > 18000
CPU KHz: 18000
2: AShC #00., R0 Evt: 3 ; Run: 9467 ; Res: 9470 ; CLC: 38.0
1: AShC #01., R0 Evt: 1 ; Run: 7195 ; Res: 7196 ; CLC: 50.0
1: AShC #02., R0 Evt: 2 ; Run: 6663 ; Res: 6665 ; CLC: 54.0
1: AShC #03., R0 Evt: 1 ; Run: 6203 ; Res: 6204 ; CLC: 58.0
1: AShC #04., R0 Evt: 1 ; Run: 5803 ; Res: 5804 ; CLC: 62.0
1: AShC #05., R0 Evt: 1 ; Run: 5451 ; Res: 5452 ; CLC: 66.0
1: AShC #06., R0 Evt: 1 ; Run: 5140 ; Res: 5141 ; CLC: 70.0
1: AShC #07., R0 Evt: 1 ; Run: 4862 ; Res: 4863 ; CLC: 74.0
1: AShC #08., R0 Evt: 1 ; Run: 4613 ; Res: 4614 ; CLC: 78.0
1: AShC #09., R0 Evt: 0 ; Run: 4388 ; Res: 4388 ; CLC: 82.0
1: AShC #10., R0 Evt: 1 ; Run: 4184 ; Res: 4185 ; CLC: 86.0
1: AShC #11., R0 Evt: 0 ; Run: 3998 ; Res: 3998 ; CLC: 90.0
1: AShC #12., R0 Evt: 0 ; Run: 3828 ; Res: 3828 ; CLC: 94.0
1: AShC #13., R0 Evt: 0 ; Run: 3671 ; Res: 3671 ; CLC: 98.1
1: AShC #14., R0 Evt: 0 ; Run: 3527 ; Res: 3527 ; CLC: 102.1
1: AShC #15., R0 Evt: 0 ; Run: 3394 ; Res: 3394 ; CLC: 106.1
1: AShC #16., R0 Evt: 0 ; Run: 3271 ; Res: 3271 ; CLC: 110.1
1: AShC #17., R0 Evt: 0 ; Run: 3156 ; Res: 3156 ; CLC: 114.1
1: AShC #20., R0 Evt: 0 ; Run: 2856 ; Res: 2856 ; CLC: 126.1
1: AShC #30., R0 Evt: 0 ; Run: 2168 ; Res: 2168 ; CLC: 166.1
1: AShC #31., R0 Evt: 0 ; Run: 2117 ; Res: 2117 ; CLC: 170.1

.RU ASHC2
ASHC2 - v1.0
Memory Top: 116334
BUF words: 18270
CPU KHz: 5300 > 18000
CPU KHz: 18000
2: AShC #000., R0 Evt: 4 ; Run: 9468 ; Res: 9472 ; CLC: 38.0
1: AShC #-01., R0 Evt: 2 ; Run: 7822 ; Res: 7824 ; CLC: 46.0
1: AShC #-02., R0 Evt: 1 ; Run: 6663 ; Res: 6664 ; CLC: 54.0
1: AShC #-03., R0 Evt: 1 ; Run: 6203 ; Res: 6204 ; CLC: 58.0
1: AShC #-04., R0 Evt: 1 ; Run: 5803 ; Res: 5804 ; CLC: 62.0
1: AShC #-05., R0 Evt: 1 ; Run: 5452 ; Res: 5453 ; CLC: 66.0
1: AShC #-06., R0 Evt: 0 ; Run: 5140 ; Res: 5140 ; CLC: 70.0
1: AShC #-07., R0 Evt: 0 ; Run: 4862 ; Res: 4862 ; CLC: 74.0
1: AShC #-08., R0 Evt: 0 ; Run: 4613 ; Res: 4613 ; CLC: 78.0
1: AShC #-09., R0 Evt: 0 ; Run: 4388 ; Res: 4388 ; CLC: 82.0
1: AShC #-10., R0 Evt: 0 ; Run: 4184 ; Res: 4184 ; CLC: 86.0
1: AShC #-11., R0 Evt: 0 ; Run: 3998 ; Res: 3998 ; CLC: 90.0
1: AShC #-12., R0 Evt: 0 ; Run: 3828 ; Res: 3828 ; CLC: 94.0
1: AShC #-13., R0 Evt: 0 ; Run: 3672 ; Res: 3672 ; CLC: 98.0
1: AShC #-14., R0 Evt: 0 ; Run: 3528 ; Res: 3528 ; CLC: 102.0
1: AShC #-15., R0 Evt: 0 ; Run: 3394 ; Res: 3394 ; CLC: 106.1
1: AShC #-16., R0 Evt: 0 ; Run: 3271 ; Res: 3271 ; CLC: 110.1
1: AShC #-17., R0 Evt: 0 ; Run: 3156 ; Res: 3156 ; CLC: 114.1
1: AShC #-20., R0 Evt: 0 ; Run: 2856 ; Res: 2856 ; CLC: 126.1
1: AShC #-30., R0 Evt: 0 ; Run: 2168 ; Res: 2168 ; CLC: 166.1
1: AShC #-31., R0 Evt: 0 ; Run: 2117 ; Res: 2117 ; CLC: 170.1

.VDT

VDT V05.07
*177746/000000 14
*^C

.RU ASHC1
ASHC1 - v1.0
Memory Top: 116334
BUF words: 18273
CPU KHz: 18000 >
1: AShC #00., R0 Evt: 3 ; Run: 6908 ; Res: 6911 ; CLC: 52.1
1: AShC #01., R0 Evt: 3 ; Run: 5584 ; Res: 5587 ; CLC: 64.4
1: AShC #02., R0 Evt: 2 ; Run: 5263 ; Res: 5265 ; CLC: 68.4
1: AShC #03., R0 Evt: 2 ; Run: 4968 ; Res: 4970 ; CLC: 72.4
1: AShC #04., R0 Evt: 1 ; Run: 4709 ; Res: 4710 ; CLC: 76.4
1: AShC #05., R0 Evt: 1 ; Run: 4470 ; Res: 4471 ; CLC: 80.5
1: AShC #06., R0 Evt: 1 ; Run: 4255 ; Res: 4256 ; CLC: 84.6
1: AShC #07., R0 Evt: 1 ; Run: 4064 ; Res: 4065 ; CLC: 88.6
1: AShC #08., R0 Evt: 1 ; Run: 3887 ; Res: 3888 ; CLC: 92.6
1: AShC #09., R0 Evt: 0 ; Run: 3723 ; Res: 3723 ; CLC: 96.7
1: AShC #10., R0 Evt: 1 ; Run: 3574 ; Res: 3575 ; CLC: 100.7
1: AShC #11., R0 Evt: 0 ; Run: 3439 ; Res: 3439 ; CLC: 104.7
1: AShC #12., R0 Evt: 0 ; Run: 3310 ; Res: 3310 ; CLC: 108.8
1: AShC #13., R0 Evt: 0 ; Run: 3192 ; Res: 3192 ; CLC: 112.8
1: AShC #14., R0 Evt: 0 ; Run: 3081 ; Res: 3081 ; CLC: 116.8
1: AShC #15., R0 Evt: 0 ; Run: 2978 ; Res: 2978 ; CLC: 120.9
1: AShC #16., R0 Evt: 0 ; Run: 2882 ; Res: 2882 ; CLC: 124.9
1: AShC #17., R0 Evt: 0 ; Run: 2790 ; Res: 2790 ; CLC: 129.0
1: AShC #20., R0 Evt: 0 ; Run: 2552 ; Res: 2552 ; CLC: 141.1
1: AShC #30., R0 Evt: 0 ; Run: 1985 ; Res: 1985 ; CLC: 181.4
1: AShC #31., R0 Evt: 0 ; Run: 1941 ; Res: 1941 ; CLC: 185.5

.RU ASHC2
ASHC2 - v1.0
Memory Top: 116334
BUF words: 18270
CPU KHz: 18000 >
1: AShC #000., R0 Evt: 2 ; Run: 6908 ; Res: 6910 ; CLC: 52.1
1: AShC #-01., R0 Evt: 2 ; Run: 5963 ; Res: 5965 ; CLC: 60.4
1: AShC #-02., R0 Evt: 2 ; Run: 5263 ; Res: 5265 ; CLC: 68.4
1: AShC #-03., R0 Evt: 2 ; Run: 4968 ; Res: 4970 ; CLC: 72.4
1: AShC #-04., R0 Evt: 1 ; Run: 4709 ; Res: 4710 ; CLC: 76.4
1: AShC #-05., R0 Evt: 1 ; Run: 4470 ; Res: 4471 ; CLC: 80.5
1: AShC #-06., R0 Evt: 1 ; Run: 4255 ; Res: 4256 ; CLC: 84.6
1: AShC #-07., R0 Evt: 1 ; Run: 4064 ; Res: 4065 ; CLC: 88.6
1: AShC #-08., R0 Evt: 1 ; Run: 3887 ; Res: 3888 ; CLC: 92.6
1: AShC #-09., R0 Evt: 1 ; Run: 3723 ; Res: 3724 ; CLC: 96.7
1: AShC #-10., R0 Evt: 1 ; Run: 3574 ; Res: 3575 ; CLC: 100.7
1: AShC #-11., R0 Evt: 1 ; Run: 3439 ; Res: 3440 ; CLC: 104.7
1: AShC #-12., R0 Evt: 0 ; Run: 3310 ; Res: 3310 ; CLC: 108.8
1: AShC #-13., R0 Evt: 0 ; Run: 3192 ; Res: 3192 ; CLC: 112.8
1: AShC #-14., R0 Evt: 0 ; Run: 3081 ; Res: 3081 ; CLC: 116.8
1: AShC #-15., R0 Evt: 0 ; Run: 2978 ; Res: 2978 ; CLC: 120.9
1: AShC #-16., R0 Evt: 0 ; Run: 2882 ; Res: 2882 ; CLC: 124.9
1: AShC #-17., R0 Evt: 0 ; Run: 2791 ; Res: 2791 ; CLC: 129.0
1: AShC #-20., R0 Evt: 0 ; Run: 2552 ; Res: 2552 ; CLC: 141.1
1: AShC #-30., R0 Evt: 0 ; Run: 1985 ; Res: 1985 ; CLC: 181.4
1: AShC #-31., R0 Evt: 0 ; Run: 1941 ; Res: 1941 ; CLC: 185.5

.

hobot
07.04.2013, 23:20
ASH1 & ASH2
Так! Стоп уточнение - старые перетирать ? Названия совпали ?

Patron
08.04.2013, 00:10
Названия совпалиЭто странно.

У меня все названия уникальные:

ASH1_&_ASH2.zip
ASH1.SAV
ASH2.SAV

ASHC1_&_ASHC2.zip
ASHC1.SAV
ASHC2.SAV

hobot
08.04.2013, 00:45
Это странно.

У меня все названия уникальные:

ASH1_&_ASH2.zip
ASH1.SAV
ASH2.SAV

ASHC1_&_ASHC2.zip
ASHC1.SAV
ASHC2.SAV

Снято! Разобрался - у меня внутри и снаружи образа разные размеры показало )
Уже прогнал сейчас фотки кладу уже - 2 минут )

---------- Post added at 00:45 ---------- Previous post was at 00:21 ----------

Прогон (ASH1,ASH2,ASHC1,ASHC2).SAV



ASH1 - плата№1
http://savepic.org/3231064.jpg

ASH1 - плата№2
http://savepic.org/3234136.jpg


ASH2 - плата№1
http://savepic.org/3220824.jpg

ASH2 - плата№2
http://savepic.org/3223896.jpg


ASHC1 - плата№1
http://savepic.org/3271003.jpg

ASHC1 - плата№2
http://savepic.org/3269979.jpg

ASHC2 - плата№1
http://savepic.org/3263835.jpg

ASHC2 - плата№2
http://savepic.org/3267931.jpg

Alex_K
08.04.2013, 00:46
Ох, скоро hobot выложит результаты, по всей видимости будет обсуждение глюков блока расширенной арифметики в 1801ВМ2.

hobot
08.04.2013, 00:58
Ох, скоро hobot выложит результаты,
Последний прогон в сообщение выше прилип-попал )
http://zx.pk.ru/showpost.php?p=590319&postcount=359

Patron
08.04.2013, 01:01
обсуждение глюков блока расширенной арифметики в 1801ВМ2.А что это за глюки ?

Alex_K
08.04.2013, 01:04
А что это за глюки ?
А внимательно посмотрите на время исполнения при разной длине сдвига. Бывает время соседних команд не различается.

form
08.04.2013, 01:05
А внимательно посмотрите на время исполнения при разной длине сдвига. Бывает время соседних команд не различается.

Это ж разьве глюк?
Вот когда двигаешь влево, а оно двигается вправо - это я понимаю - глюк :)

Patron
08.04.2013, 01:08
А внимательно посмотрите на время исполнения при разной длине сдвига. Бывает время соседних команд не различается.Типа, надо сделать тест проверки результата всех возможных сдвигов ?

Alex_K
08.04.2013, 01:08
Это ж разьве глюк?
Вот когда двигаешь влево, а оно двигается вправо - это я понимаю - глюк :)
Но не во всех J-11 оно есть.

form
08.04.2013, 01:09
Но не во всех J-11 оно есть.

Не во всех.
У меня вот нету.
Есть правда еще KDJ11-A, можно в нем посмотреть, но пока лень перепаивать перемычки в DLV11-J, а своего порта там нету.

Alex_K
08.04.2013, 01:09
Типа, надо сделать тест проверки результата всех возможных сдвигов ?
А лучше в качестве аргумента использовать регистр. Предвыборка не будет нарушена, вся разница должна быть честной в 4 такта.

Patron
08.04.2013, 13:09
А лучше в качестве аргумента использовать регистр. Предвыборка не будет нарушена, вся разница должна быть честной в 4 такта.Вот то же самое, что в ASH1, ASH2, ASHC1 и ASHC2, но первый операнд не в памяти, а в регистре:

ASH3_&_ASH4 (http://zx.pk.ru/attachment.php?attachmentid=40855) и ASHC3_&_ASHC4 (http://zx.pk.ru/attachment.php?attachmentid=40856).

...

form
08.04.2013, 13:26
.RU ASH3
ASH3 - v1.0
Memory Top: 116334
BUF words: 18269
CPU KHz: 5300 > 18000
CPU KHz: 18000
1: 0: ASh R2,R0 Evt: 0 ; Run: 15641 ; Res: 15641 ; CLC: 23.0
1: 1: ASh R2,R0 Evt: 2 ; Run: 13325 ; Res: 13327 ; CLC: 27.0
1: 2: ASh R2,R0 Evt: 0 ; Run: 11606 ; Res: 11606 ; CLC: 31.0
1: 3: ASh R2,R0 Evt: 1 ; Run: 10279 ; Res: 10280 ; CLC: 35.0
1: 4: ASh R2,R0 Evt: 0 ; Run: 9225 ; Res: 9225 ; CLC: 39.0
1: 5: ASh R2,R0 Evt: 1 ; Run: 8366 ; Res: 8367 ; CLC: 43.0
1: 6: ASh R2,R0 Evt: 1 ; Run: 7655 ; Res: 7656 ; CLC: 47.0
1: 7: ASh R2,R0 Evt: 0 ; Run: 7055 ; Res: 7055 ; CLC: 51.0
1: 8: ASh R2,R0 Evt: 2 ; Run: 6541 ; Res: 6543 ; CLC: 55.0
1: 9: ASh R2,R0 Evt: 0 ; Run: 6098 ; Res: 6098 ; CLC: 59.0
1: 10: ASh R2,R0 Evt: 0 ; Run: 5711 ; Res: 5711 ; CLC: 63.0
1: 11: ASh R2,R0 Evt: 1 ; Run: 5370 ; Res: 5371 ; CLC: 67.0
1: 12: ASh R2,R0 Evt: 0 ; Run: 5067 ; Res: 5067 ; CLC: 71.0
1: 13: ASh R2,R0 Evt: 0 ; Run: 4797 ; Res: 4797 ; CLC: 75.0
1: 14: ASh R2,R0 Evt: 0 ; Run: 4554 ; Res: 4554 ; CLC: 79.1
1: 15: ASh R2,R0 Evt: 0 ; Run: 4335 ; Res: 4335 ; CLC: 83.0
1: 16: ASh R2,R0 Evt: 0 ; Run: 4136 ; Res: 4136 ; CLC: 87.0
1: 17: ASh R2,R0 Evt: 2 ; Run: 3954 ; Res: 3956 ; CLC: 91.0
1: 20: ASh R2,R0 Evt: 0 ; Run: 3493 ; Res: 3493 ; CLC: 103.1
1: 30: ASh R2,R0 Evt: 1 ; Run: 2516 ; Res: 2517 ; CLC: 143.0
1: 31: ASh R2,R0 Evt: 1 ; Run: 2437 ; Res: 2438 ; CLC: 147.7

.RU ASH3
ASH3 - v1.0
Memory Top: 116334
BUF words: 18269
CPU KHz: 18000 >
1: 0: ASh R2,R0 Evt: 1 ; Run: 11990 ; Res: 11991 ; CLC: 30.0
1: 1: ASh R2,R0 Evt: 1 ; Run: 10580 ; Res: 10581 ; CLC: 34.0
1: 2: ASh R2,R0 Evt: 1 ; Run: 9466 ; Res: 9467 ; CLC: 38.0
1: 3: ASh R2,R0 Evt: 1 ; Run: 8565 ; Res: 8566 ; CLC: 42.0
1: 4: ASh R2,R0 Evt: 1 ; Run: 7820 ; Res: 7821 ; CLC: 46.0
1: 5: ASh R2,R0 Evt: 1 ; Run: 7194 ; Res: 7195 ; CLC: 50.0
1: 6: ASh R2,R0 Evt: 1 ; Run: 6661 ; Res: 6662 ; CLC: 54.0
1: 7: ASh R2,R0 Evt: 1 ; Run: 6202 ; Res: 6203 ; CLC: 58.0
1: 8: ASh R2,R0 Evt: 1 ; Run: 5802 ; Res: 5803 ; CLC: 62.0
1: 9: ASh R2,R0 Evt: 1 ; Run: 5450 ; Res: 5451 ; CLC: 66.0
1: 10: ASh R2,R0 Evt: 1 ; Run: 5139 ; Res: 5140 ; CLC: 70.0
1: 11: ASh R2,R0 Evt: 1 ; Run: 4861 ; Res: 4862 ; CLC: 74.0
1: 12: ASh R2,R0 Evt: 1 ; Run: 4612 ; Res: 4613 ; CLC: 78.0
1: 13: ASh R2,R0 Evt: 1 ; Run: 4387 ; Res: 4388 ; CLC: 82.0
1: 14: ASh R2,R0 Evt: 1 ; Run: 4183 ; Res: 4184 ; CLC: 86.0
1: 15: ASh R2,R0 Evt: 1 ; Run: 3997 ; Res: 3998 ; CLC: 90.0
1: 16: ASh R2,R0 Evt: 1 ; Run: 3827 ; Res: 3828 ; CLC: 94.0
1: 17: ASh R2,R0 Evt: 1 ; Run: 3671 ; Res: 3672 ; CLC: 98.0
1: 20: ASh R2,R0 Evt: 1 ; Run: 3270 ; Res: 3271 ; CLC: 110.1
1: 30: ASh R2,R0 Evt: 1 ; Run: 2398 ; Res: 2399 ; CLC: 150.1
1: 31: ASh R2,R0 Evt: 1 ; Run: 2336 ; Res: 2337 ; CLC: 154.0

.

---------- Post added at 16:26 ---------- Previous post was at 16:25 ----------


.RU ASH4
ASH4 - v1.0
Memory Top: 116334
BUF words: 18263
CPU KHz: 5300 > 18000
CPU KHz: 18000
1: 0: ASh R2,R0 Evt: 0 ; Run: 15642 ; Res: 15642 ; CLC: 23.0
1: -1: ASh R2,R0 Evt: 0 ; Run: 13325 ; Res: 13325 ; CLC: 27.0
1: -2: ASh R2,R0 Evt: 0 ; Run: 11605 ; Res: 11605 ; CLC: 31.0
1: -3: ASh R2,R0 Evt: 0 ; Run: 10279 ; Res: 10279 ; CLC: 35.0
1: -4: ASh R2,R0 Evt: 0 ; Run: 9225 ; Res: 9225 ; CLC: 39.0
1: -5: ASh R2,R0 Evt: 0 ; Run: 8367 ; Res: 8367 ; CLC: 43.0
1: -6: ASh R2,R0 Evt: 0 ; Run: 7655 ; Res: 7655 ; CLC: 47.0
1: -7: ASh R2,R0 Evt: 0 ; Run: 7054 ; Res: 7054 ; CLC: 51.0
1: -8: ASh R2,R0 Evt: 0 ; Run: 6541 ; Res: 6541 ; CLC: 55.0
1: -9: ASh R2,R0 Evt: 2 ; Run: 6098 ; Res: 6100 ; CLC: 59.0
1: -10: ASh R2,R0 Evt: 1 ; Run: 5711 ; Res: 5712 ; CLC: 63.0
1: -11: ASh R2,R0 Evt: 0 ; Run: 5370 ; Res: 5370 ; CLC: 67.0
1: -12: ASh R2,R0 Evt: 0 ; Run: 5067 ; Res: 5067 ; CLC: 71.0
1: -13: ASh R2,R0 Evt: 0 ; Run: 4797 ; Res: 4797 ; CLC: 75.0
1: -14: ASh R2,R0 Evt: 2 ; Run: 4554 ; Res: 4556 ; CLC: 79.0
1: -15: ASh R2,R0 Evt: 0 ; Run: 4335 ; Res: 4335 ; CLC: 83.0
1: -16: ASh R2,R0 Evt: 1 ; Run: 4136 ; Res: 4137 ; CLC: 87.0
1: -17: ASh R2,R0 Evt: 0 ; Run: 3954 ; Res: 3954 ; CLC: 91.0
1: -20: ASh R2,R0 Evt: 1 ; Run: 3493 ; Res: 3494 ; CLC: 103.0
1: -30: ASh R2,R0 Evt: 0 ; Run: 2516 ; Res: 2516 ; CLC: 143.1
1: -31: ASh R2,R0 Evt: 0 ; Run: 2437 ; Res: 2437 ; CLC: 147.7

.VDT

VDT V05.07
*177746/000000 14
*^C

.RU ASH4
ASH4 - v1.0
Memory Top: 116334
BUF words: 18263
CPU KHz: 18000 >
1: 0: ASh R2,R0 Evt: 1 ; Run: 11990 ; Res: 11991 ; CLC: 30.0
1: -1: ASh R2,R0 Evt: 1 ; Run: 10580 ; Res: 10581 ; CLC: 34.0
1: -2: ASh R2,R0 Evt: 1 ; Run: 9466 ; Res: 9467 ; CLC: 38.0
1: -3: ASh R2,R0 Evt: 1 ; Run: 8564 ; Res: 8565 ; CLC: 42.0
1: -4: ASh R2,R0 Evt: 1 ; Run: 7820 ; Res: 7821 ; CLC: 46.0
1: -5: ASh R2,R0 Evt: 1 ; Run: 7194 ; Res: 7195 ; CLC: 50.0
1: -6: ASh R2,R0 Evt: 1 ; Run: 6661 ; Res: 6662 ; CLC: 54.0
1: -7: ASh R2,R0 Evt: 1 ; Run: 6202 ; Res: 6203 ; CLC: 58.0
1: -8: ASh R2,R0 Evt: 1 ; Run: 5802 ; Res: 5803 ; CLC: 62.0
1: -9: ASh R2,R0 Evt: 1 ; Run: 5450 ; Res: 5451 ; CLC: 66.0
1: -10: ASh R2,R0 Evt: 1 ; Run: 5139 ; Res: 5140 ; CLC: 70.0
1: -11: ASh R2,R0 Evt: 1 ; Run: 4861 ; Res: 4862 ; CLC: 74.0
1: -12: ASh R2,R0 Evt: 1 ; Run: 4612 ; Res: 4613 ; CLC: 78.0
1: -13: ASh R2,R0 Evt: 1 ; Run: 4387 ; Res: 4388 ; CLC: 82.0
1: -14: ASh R2,R0 Evt: 1 ; Run: 4183 ; Res: 4184 ; CLC: 86.0
1: -15: ASh R2,R0 Evt: 1 ; Run: 3997 ; Res: 3998 ; CLC: 90.0
1: -16: ASh R2,R0 Evt: 1 ; Run: 3827 ; Res: 3828 ; CLC: 94.0
1: -17: ASh R2,R0 Evt: 1 ; Run: 3671 ; Res: 3672 ; CLC: 98.0
1: -20: ASh R2,R0 Evt: 1 ; Run: 3270 ; Res: 3271 ; CLC: 110.1
1: -30: ASh R2,R0 Evt: 1 ; Run: 2398 ; Res: 2399 ; CLC: 150.1
1: -31: ASh R2,R0 Evt: 1 ; Run: 2336 ; Res: 2337 ; CLC: 154.0

.

form
08.04.2013, 13:40
.RU ASHC4
ASHC4 - v1.0
Memory Top: 116334
BUF words: 18262
CPU KHz: 5300 > 18000
CPU KHz: 18000
1: 0: AShC R2,R0 Evt: 1 ; Run: 13325 ; Res: 13326 ; CLC: 27.0
1: -1: AShC R2,R0 Evt: 1 ; Run: 10280 ; Res: 10281 ; CLC: 35.0
1: -2: AShC R2,R0 Evt: 1 ; Run: 8367 ; Res: 8368 ; CLC: 43.0
1: -3: AShC R2,R0 Evt: 1 ; Run: 7655 ; Res: 7656 ; CLC: 47.0
1: -4: AShC R2,R0 Evt: 1 ; Run: 7055 ; Res: 7056 ; CLC: 51.0
1: -5: AShC R2,R0 Evt: 1 ; Run: 6542 ; Res: 6543 ; CLC: 55.0
1: -6: AShC R2,R0 Evt: 1 ; Run: 6098 ; Res: 6099 ; CLC: 59.0
1: -7: AShC R2,R0 Evt: 1 ; Run: 5711 ; Res: 5712 ; CLC: 63.0
1: -8: AShC R2,R0 Evt: 1 ; Run: 5370 ; Res: 5371 ; CLC: 67.0
1: -9: AShC R2,R0 Evt: 1 ; Run: 5068 ; Res: 5069 ; CLC: 71.0
1: -10: AShC R2,R0 Evt: 1 ; Run: 4797 ; Res: 4798 ; CLC: 75.0
1: -11: AShC R2,R0 Evt: 1 ; Run: 4554 ; Res: 4555 ; CLC: 79.0
1: -12: AShC R2,R0 Evt: 1 ; Run: 4335 ; Res: 4336 ; CLC: 83.0
1: -13: AShC R2,R0 Evt: 1 ; Run: 4136 ; Res: 4137 ; CLC: 87.0
1: -14: AShC R2,R0 Evt: 1 ; Run: 3954 ; Res: 3955 ; CLC: 91.0
1: -15: AShC R2,R0 Evt: 1 ; Run: 3788 ; Res: 3789 ; CLC: 95.0
1: -16: AShC R2,R0 Evt: 1 ; Run: 3634 ; Res: 3635 ; CLC: 99.0
1: -17: AShC R2,R0 Evt: 1 ; Run: 3493 ; Res: 3494 ; CLC: 103.0
1: -20: AShC R2,R0 Evt: 1 ; Run: 3129 ; Res: 3130 ; CLC: 115.0
1: -30: AShC R2,R0 Evt: 1 ; Run: 2309 ; Res: 2310 ; CLC: 155.8
1: -31: AShC R2,R0 Evt: 1 ; Run: 2225 ; Res: 2226 ; CLC: 161.7

.VDT

VDT V05.07
*177746/000000 14
*^C

.RU ASHC4
ASHC4 - v1.0
Memory Top: 116334
BUF words: 18262
CPU KHz: 18000 >
1: 0: AShC R2,R0 Evt: 1 ; Run: 10580 ; Res: 10581 ; CLC: 34.0
1: -1: AShC R2,R0 Evt: 1 ; Run: 8565 ; Res: 8566 ; CLC: 42.0
1: -2: AShC R2,R0 Evt: 2 ; Run: 7194 ; Res: 7196 ; CLC: 50.0
1: -3: AShC R2,R0 Evt: 1 ; Run: 6661 ; Res: 6662 ; CLC: 54.0
1: -4: AShC R2,R0 Evt: 2 ; Run: 6202 ; Res: 6204 ; CLC: 58.0
1: -5: AShC R2,R0 Evt: 2 ; Run: 5802 ; Res: 5804 ; CLC: 62.0
1: -6: AShC R2,R0 Evt: 2 ; Run: 5450 ; Res: 5452 ; CLC: 66.0
1: -7: AShC R2,R0 Evt: 1 ; Run: 5139 ; Res: 5140 ; CLC: 70.0
1: -8: AShC R2,R0 Evt: 2 ; Run: 4861 ; Res: 4863 ; CLC: 74.0
1: -9: AShC R2,R0 Evt: 2 ; Run: 4612 ; Res: 4614 ; CLC: 78.0
1: -10: AShC R2,R0 Evt: 2 ; Run: 4387 ; Res: 4389 ; CLC: 82.0
1: -11: AShC R2,R0 Evt: 2 ; Run: 4183 ; Res: 4185 ; CLC: 86.0
1: -12: AShC R2,R0 Evt: 2 ; Run: 3997 ; Res: 3999 ; CLC: 90.0
1: -13: AShC R2,R0 Evt: 2 ; Run: 3827 ; Res: 3829 ; CLC: 94.0
1: -14: AShC R2,R0 Evt: 2 ; Run: 3671 ; Res: 3673 ; CLC: 98.0
1: -15: AShC R2,R0 Evt: 2 ; Run: 3527 ; Res: 3529 ; CLC: 102.0
1: -16: AShC R2,R0 Evt: 2 ; Run: 3394 ; Res: 3396 ; CLC: 106.0
1: -17: AShC R2,R0 Evt: 1 ; Run: 3270 ; Res: 3271 ; CLC: 110.1
1: -20: AShC R2,R0 Evt: 2 ; Run: 2949 ; Res: 2951 ; CLC: 122.0
1: -30: AShC R2,R0 Evt: 2 ; Run: 2221 ; Res: 2223 ; CLC: 161.9
1: -31: AShC R2,R0 Evt: 1 ; Run: 2167 ; Res: 2168 ; CLC: 166.1

.

---------- Post added at 16:33 ---------- Previous post was at 16:27 ----------


.RU ASHC3
ASHC3 - v1.0
Memory Top: 116334
BUF words: 18268
CPU KHz: 18000 >
1: 0: AShC R2,R0 Evt: 1 ; Run: 13325 ; Res: 13326 ; CLC: 27.0
1: 1: AShC R2,R0 Evt: 1 ; Run: 9225 ; Res: 9226 ; CLC: 39.0
1: 2: AShC R2,R0 Evt: 1 ; Run: 8367 ; Res: 8368 ; CLC: 43.0
1: 3: AShC R2,R0 Evt: 0 ; Run: 7655 ; Res: 7655 ; CLC: 47.0
1: 4: AShC R2,R0 Evt: 0 ; Run: 7055 ; Res: 7055 ; CLC: 51.0
1: 5: AShC R2,R0 Evt: 1 ; Run: 6541 ; Res: 6542 ; CLC: 55.0
1: 6: AShC R2,R0 Evt: 1 ; Run: 6098 ; Res: 6099 ; CLC: 59.0
1: 7: AShC R2,R0 Evt: 0 ; Run: 5711 ; Res: 5711 ; CLC: 63.0
1: 8: AShC R2,R0 Evt: 0 ; Run: 5370 ; Res: 5370 ; CLC: 67.0
1: 9: AShC R2,R0 Evt: 0 ; Run: 5068 ; Res: 5068 ; CLC: 71.0
1: 10: AShC R2,R0 Evt: 0 ; Run: 4797 ; Res: 4797 ; CLC: 75.0
1: 11: AShC R2,R0 Evt: 1 ; Run: 4555 ; Res: 4556 ; CLC: 79.0
1: 12: AShC R2,R0 Evt: 1 ; Run: 4335 ; Res: 4336 ; CLC: 83.0
1: 13: AShC R2,R0 Evt: 1 ; Run: 4136 ; Res: 4137 ; CLC: 87.0
1: 14: AShC R2,R0 Evt: 0 ; Run: 3954 ; Res: 3954 ; CLC: 91.0
1: 15: AShC R2,R0 Evt: 0 ; Run: 3788 ; Res: 3788 ; CLC: 95.0
1: 16: AShC R2,R0 Evt: 0 ; Run: 3634 ; Res: 3634 ; CLC: 99.1
1: 17: AShC R2,R0 Evt: 0 ; Run: 3493 ; Res: 3493 ; CLC: 103.1
1: 20: AShC R2,R0 Evt: 1 ; Run: 3129 ; Res: 3130 ; CLC: 115.0
1: 30: AShC R2,R0 Evt: 0 ; Run: 2309 ; Res: 2309 ; CLC: 155.9
1: 31: AShC R2,R0 Evt: 0 ; Run: 2225 ; Res: 2225 ; CLC: 161.8

.VDT

VDT V05.07
*177746/000000 14
*^C

.RU ASHC3
ASHC3 - v1.0
Memory Top: 116334
BUF words: 18268
CPU KHz: 18000 >
1: 0: AShC R2,R0 Evt: 1 ; Run: 10580 ; Res: 10581 ; CLC: 34.0
1: 1: AShC R2,R0 Evt: 0 ; Run: 7820 ; Res: 7820 ; CLC: 46.0
1: 2: AShC R2,R0 Evt: 1 ; Run: 7194 ; Res: 7195 ; CLC: 50.0
1: 3: AShC R2,R0 Evt: 1 ; Run: 6661 ; Res: 6662 ; CLC: 54.0
1: 4: AShC R2,R0 Evt: 1 ; Run: 6202 ; Res: 6203 ; CLC: 58.0
1: 5: AShC R2,R0 Evt: 1 ; Run: 5802 ; Res: 5803 ; CLC: 62.0
1: 6: AShC R2,R0 Evt: 1 ; Run: 5450 ; Res: 5451 ; CLC: 66.0
1: 7: AShC R2,R0 Evt: 1 ; Run: 5139 ; Res: 5140 ; CLC: 70.0
1: 8: AShC R2,R0 Evt: 1 ; Run: 4861 ; Res: 4862 ; CLC: 74.0
1: 9: AShC R2,R0 Evt: 1 ; Run: 4612 ; Res: 4613 ; CLC: 78.0
1: 10: AShC R2,R0 Evt: 1 ; Run: 4387 ; Res: 4388 ; CLC: 82.0
1: 11: AShC R2,R0 Evt: 1 ; Run: 4183 ; Res: 4184 ; CLC: 86.0
1: 12: AShC R2,R0 Evt: 0 ; Run: 3997 ; Res: 3997 ; CLC: 90.1
1: 13: AShC R2,R0 Evt: 1 ; Run: 3827 ; Res: 3828 ; CLC: 94.0
1: 14: AShC R2,R0 Evt: 1 ; Run: 3671 ; Res: 3672 ; CLC: 98.0
1: 15: AShC R2,R0 Evt: 1 ; Run: 3527 ; Res: 3528 ; CLC: 102.0
1: 16: AShC R2,R0 Evt: 1 ; Run: 3394 ; Res: 3395 ; CLC: 106.0
1: 17: AShC R2,R0 Evt: 1 ; Run: 3270 ; Res: 3271 ; CLC: 110.1
1: 20: AShC R2,R0 Evt: 1 ; Run: 2949 ; Res: 2950 ; CLC: 122.0
1: 30: AShC R2,R0 Evt: 1 ; Run: 2221 ; Res: 2222 ; CLC: 162.0
1: 31: AShC R2,R0 Evt: 1 ; Run: 2167 ; Res: 2168 ; CLC: 166.1

.

hobot
08.04.2013, 19:50
Прогон (ASH3,ASH4,ASHC3,ASHC4).SAV



ASH3 - плата№1
http://savepic.org/3215614.jpg

ASH3 - плата№2
http://savepic.org/3272945.jpg

ASH4 - плата№1
http://savepic.org/3252465.jpg

ASH4 - плата№2
http://savepic.org/3251441.jpg

ASHC3 - плата№1
http://savepic.org/3236081.jpg

ASHC3 - плата№2
http://savepic.org/3235057.jpg

ASHC4 - плата№1
http://savepic.org/3226865.jpg

ASHC4 - плата№2
http://savepic.org/3271920.jpg

Alex_K
08.04.2013, 20:03
Прогон (ASH3,ASH4,ASHC3,ASHC4).SAV
hobot, спасибо! Собственно все предсказуемо. Единственное недоумение вызывает то, что сдвиг вправо (с отрицательным аргументом) занимает на 4 такта меньше, чем сдвиг влево. Может быть внутри счетчик приводится к одному знаку (в данном случае положительный к отрицательному) и этот перевод занимает 4 такта? А потом перед операцией он проверяется, а после инкрементируется.

bigral
09.04.2013, 00:48
привет, попробовал прогнать тесты на плате мс 1201.03 при включенном таймере 50Гц (генерируется со 2-й ножки ВП1-065). При этом частота процессора неизвестна так как нет способа точно померять. Расчетная default частота которая генерируется микрухой 531гг1п с тактирующим конденсатором 150пф по формуле из книги "Популярные цифровые микросхемы" F0=(5e-4/C)=5e-4/150e-12=3333333Hz, так же в этой книге есть график из которого следует что для Uуправления=Uдиапазона~5V Fвых=F0*1.16=3333333*1.16=3866666Hz Так что использовал значение 3867Khz

смотрите результаты в прикрепленном файле

Patron
09.04.2013, 00:59
попробовал прогнать тесты на плате мс 1201.03Можно сразу прогнать все тесты из этого архива (http://emulator.pdp-11.org.ru/misc/TESTS.zip) в общий листинг.

---------- Post added at 23:59 ---------- Previous post was at 23:56 ----------

А потом эти тесты:

ASH1 & ASH2 (http://zx.pk.ru/attachment.php?attachmentid=40844)
ASHC1 & ASHC2 (http://zx.pk.ru/attachment.php?attachmentid=40846)
ASH3_&_ASH4 (http://zx.pk.ru/attachment.php?attachmentid=40855)
ASHC3_&_ASHC4 (http://zx.pk.ru/attachment.php?attachmentid=40856)

bigral
09.04.2013, 01:11
вот еще:


.RUN HX1:JMP

_
*
_
*
R0 (R0) в-2)+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (R2)+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (R2)+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Щ C

R0 (R0) (R2)+ Ч
Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (R2)+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (R2)+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ оА
оА
R0 (R0) (Rмж+ @(R2)+ _
*
_
*
R0 (R0) в-2)+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (R2)+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (R2)+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (R2)+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (R2)+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (R2)+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ Ч
Ч
R0 (R0) (Rмж+ @(R2)+ R0 (R0) (R2)+ @
оА
оА
R0 (R0) (Rмж+ @(R2)+


после этого комп повис...

Patron
09.04.2013, 01:21
Кстати, т.к. ASH и ASHC это единственные команды, продолжительность выполнения которых зависит от значения первого аргумента - по их тестам ( особенно по тестам ASH3_&_ASH4 (http://zx.pk.ru/attachment.php?attachmentid=40855) и ASHC3_&_ASHC4 (http://zx.pk.ru/attachment.php?attachmentid=40856) ) можно довольно точно определить частоту процессора.

Ведь при каждом увеличении аргумента - продолжительность выполнения должна увеличиваться на одно и то же ЦЕЛОЕ число тактов.

В принципе - на этой основе можно даже написать измеритель частоты процессора.

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


после этого комп повис...Надо определить - на какие тесты виснет и при каждом ли их прогоне.

Удачные тесты тоже можно погонять - вдруг повиснет.

Тесты там двух видов - одни ( циклические ) выполняют огромное количество команд, а другие (линейные) - гораздо меньше.

Правда, тесты JMP и JSR стоят особняком - там гоняется в цикле единственная команда.

form
09.04.2013, 01:22
Надо определить - на какие тесты виснет и при каждом ли их прогоне.

Я бы предложил еще делать тесты поуниверсальнее, чтобы мне не приходилось каждый раз перегружаться в SB а во время запуска не дышать :)

hobot
09.04.2013, 01:37
В принципе - на этой основе можно даже написать измеритель частоты процессора.
Интересно как она (функция) реализована в интЭловских утилитах типа СPUZ ?


а во время запуска не дышать
Так романтика же )

form
09.04.2013, 01:41
Так романтика же )

Не вижу никакой романтики сначала заливать по FTP тест в mapped мониторе, потому перегружаться в SB чтобы запустить, потом перегружаться обратно чтобы дальше работать при том, что сделать тест запускаемым под XM/ZM элементарно и требует не больше трех-четырех строчек кода :)

---------- Post added at 04:41 ---------- Previous post was at 04:40 ----------

Кстати как приедет DHV11, сделаю тесты кое-какие, позволяющие замерять огромное количество нопов между прерываниями на маленьких скоростях. На ВМ3 тоже будет работать :)

Patron
09.04.2013, 03:14
Я бы предложил еще делать тесты поуниверсальнее, чтобы мне не приходилось каждый раз перегружаться в SB а во время запуска не дышать Надо модифицировать для образца какой-нибудь из тестов, а я уже переделаю и все остальные.

form
09.04.2013, 03:46
Надо модифицировать для образца какой-нибудь из тестов, а я уже переделаю и все остальные.

Гляну на досуге.
Хотя в общем и целом все просто:

$JSX = 4 ;РАСШИРЕННОЕ СЛОВО СОСТОЯНИЯ ЗАДАНИЯ
NOVBG$ = 100 ;ЗАПРЕТ VBGEXE

.ASECT
.=$JSX
.WORD NOVBG$ ;ЗАПРЕТ ЗАПУСКА ПОД VBGEXE

.=20
.WORD SYSTM,340 ;ВЕКТОР IOT

.PSECT
START:: IOT ;ВЫЗОВ ТЕСТА
;
;ПЕЧАТЬ РЕЗУЛЬТАТОВ
;
.EXIT ;ВЫХОД

SYSTM::
;
;СОХРАНЕНИЕ ВЕКТОРОВ
;ЗАГЛУШКИ НА ВСЕ ВЕКТОРА
;УСТАНОВКА ВЕКТОРОВ ДЛЯ РАБОТЫ
;ТЕСТ
;ВОССТАНОВЛЕНИЕ ВЕКТОРОВ
;
RTI

Будет работать в любом мониторе с любым процессором.
Еще как фича - одноразовый код можно поместить в конце, чтобы потом затереть его тестовыми командами.

---------- Post added at 06:31 ---------- Previous post was at 06:26 ----------

Еще пара фич которые могут пригодиться:


LIMIT: .LIMIT

по адресу LIMIT будет лежать адрес первого слова программы, по адресу LIMIT+2 - последнего+2.


SUBR: CALL @PC ;ВЫПОЛНИТЬ ПОДПРОГРАММУ ДВА РАЗА
...
RETURN

можно добавить еще CALL @PC, тогда будет 4 раза, еще один - 8 раз итд...

---------- Post added at 06:39 ---------- Previous post was at 06:31 ----------

В примере выше вектор инициализируется в SAV файле. Этот вариант не сработает если загружен SD - он защищает SST вектора. Можно вручную делать чтобы и с загруженным SD работало.

---------- Post added at 06:46 ---------- Previous post was at 06:39 ----------

Кстати еще мысль: может сделать одну оболочку для тестов, а остальное подгружать?
Тогда можно будет и параметры запоминать один раз на все случаи.

hobot
09.04.2013, 16:55
Кстати еще мысль: может сделать одну оболочку для тестов, а остальное подгружать?
Тогда можно будет и параметры запоминать один раз на все случаи.
__________________


Примерно так наверное реестр винды появился )

Patron
09.04.2013, 20:49
Большое исправление/обновление универсальных тестов: TESTS.zip (http://emulator.pdp-11.org.ru/misc/TESTS.zip)

Изменились только те тесты, которые имеют дату 09.04.2013

hobot
09.04.2013, 21:49
Большое исправление/обновление универсальных тестов: TESTS.zip (http://emulator.pdp-11.org.ru/misc/TESTS.zip)

Изменились только те тесты, которые имеют дату 09.04.2013



File Blocks Date Bytes
---------- ------ ----------- ----------
ADD .SAV 5 09-Apr-2013 2'560
BIS .SAV 5 09-Apr-2013 2'560
BISB .SAV 5 09-Apr-2013 2'560
CMP .SAV 5 09-Apr-2013 2'560
CMPB .SAV 5 09-Apr-2013 2'560
JMP .SAV 7 09-Apr-2013 3'584
MOV .SAV 5 09-Apr-2013 2'560
MOVB .SAV 5 09-Apr-2013 2'560
OP1 .SAV 6 09-Apr-2013 3'072
ADD .MAC 20 09-Apr-2013 10'240
BIS .MAC 20 09-Apr-2013 10'240
BISB .MAC 20 09-Apr-2013 10'240
CMP .MAC 20 09-Apr-2013 10'240
CMPB .MAC 20 09-Apr-2013 10'240
JMP .MAC 28 09-Apr-2013 14'336
MOV .MAC 20 09-Apr-2013 10'240
MOVB .MAC 20 09-Apr-2013 10'240
OP1 .MAC 23 09-Apr-2013 11'776
---------- ------ ----------- ----------
18 Files, 239 Blocks


На результат влияет обновление? Нужно ли повторный прогон делать?

Patron
09.04.2013, 22:58
На результат влияет обновление? Нужно ли повторный прогон делать?Там улучшена совместимость с ВМ3 и подобными ему процессорами. На УКНЦ повторно прогонять эти тесты большого смысла нет.

bigral
10.04.2013, 03:37
прогнал у себя повторно те что были обновленны 9-го числа

Patron
10.04.2013, 12:40
прогнал у себя повторно те что были обновленны 9-го числаКроме тестов - обновился сервер HX и программа DAY.SAV (http://zx.pk.ru/showthread.php?p=590916#post590916)

Новая версия DAY.SAV не должна вылетать..

Patron
10.04.2013, 18:31
Для более точного определения величины, которую нужно подставлять в тестах таймингов в ответ на запрос тактовой частоты процессора в килогерцах - написан определитель тактовой частоты любого процессора, имеющего команду ASHC: PDPCLK.SAV (http://zx.pk.ru/attachment.php?attachmentid=40909)

Тест определяет, какой была бы тактовая частота процессора в килогерцах, если бы частота прерываний таймера в точности равнялась 50/60 Гц.

При первом запуске теста нужно указать в параметре Factor правильное число тактов на один сдвиг ASHC.
Для ВМ3 Factor = 3, для ВМ2 и 11/83 Factor = 4.

При запуске на эмулируемом процессоре с тактовой частотой 5300 КГц и 4-мя тактами на один сдвиг - результат такой:



.RU PDPCLK
PDPCLK - Calculate CPU clocks - v1.0
Memory Top: 137564
BUF words: 23006
Factor : 4 >

CPU KHz: 5300

Program completed.

.

form
10.04.2013, 18:37
.RU PDPCLK
PDPCLK - Calculate CPU clocks - v1.0
Memory Top: 65520
BUF words: 12236
Factor : 4 >

CPU KHz: 17884

Program completed.

.VDT

VDT V05.07
*177746/000000 14
*^C

.RU PDPCLK
PDPCLK - Calculate CPU clocks - v1.0
Memory Top: 65520
BUF words: 12236
Factor : 4 >

CPU KHz: 18020

Program completed.

.

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

Patron
10.04.2013, 20:43
на реальной УКНЦ показывает 8012У hobotа на плате №1 должно получиться немного иначе - там явно не точно 8 МГц.

Alex_K
10.04.2013, 20:53
У hobotа на плате №1 должно получиться немного иначе - там явно не точно 8 МГц.
Все зависит от разбросов частот кварцев. ЦП тактирует один кварц, такты для сетевого таймера получаются от другого.
Кстати, неплохо бы загрузить эту задачку в ПП УКНЦ. Там частота процессора другая, но 50 Гц получаются от того же кварца.

hobot
10.04.2013, 21:41
У hobotа на плате №1 должно получиться немного иначе - там явно не точно 8 МГц.
Я уже готовлю образ дискеты и помимо прочего и эту программу туда скинул, очень скоро запущу, а почему именно на плате № 1 ? Впрочем она как раз сейчас и подключена у меня, уже пять часов без зависона - зато прогретая )

У меня вопрос почему в UKNCBTL такая вот картинка ? Если я что то пропустил (по поводу эмулятора) извиняюсь

http://savepic.org/3257052.png

---------- Post added at 21:41 ---------- Previous post was at 21:40 ----------

Программы то вроде работают даже чуть быстрее чем на реале ) чуть чуть )

Alex_K
10.04.2013, 21:56
У меня вопрос почему в UKNCBTL такая вот картинка ? Если я что то пропустил (по поводу эмулятора) извиняюсь
В UKNCBTL сдвиг осуществляется за 8 тактов, потому и картина такая. В реальности получается 7992 КГц.

bigral
10.04.2013, 23:11
Проверил с новым vt52 эмулятором - все работает быстро.

#ЧЧD****
@ 000002
@10000/010137 12706
00010002/014016 10000
00010004/010237 12746
00010006/014020 340
00010010/012737 12746
00010012/010100 10016
00010014/000004 2
00010016/012737 4567
00010020/000340 14
00010022/000006 105737
00010024/012702 177560
00010026/013550 100375
00010030/012701 113703
00010032/000017 177562
00010034/106427 207
00010036/000000 105737
00010040/012237 177562
00010042/172342 105737
00010044/005037 177564
00010046/020000 100375
00010050/077105 112737
00010052/012737 26
00010054/177600 177566
00010056/172342 12700
00010060/005722 1000
00010062/005037 5004
00010064/020000 4715
00010066/012703 110324
00010070/000014 5300
00010072/004767 1374
00010074/003336 5007
@10000G
HX 2.0 - Warm boot..

HX DSK/TTY multiplexer v2.3 2013

?BOOT-U-Insufficient memory

@ 000720
@10000/012706 12706
00010002/010000 10000
00010004/012746 12746
00010006/000340 340
00010010/012746 12746
00010012/010016 10016
00010014/000002 2
00010016/004567 4567
00010020/000014 14
00010022/105737 105737
00010024/177560 177560
00010026/100375 100375
00010030/113703 113703
00010032/177562 177562
00010034/000207 207
00010036/105737 105737
00010040/177562 177562
00010042/105737 105737
00010044/177564 177564
00010046/100375 100375
00010050/112737 112737
00010052/000026 26
00010054/177566 177566
00010056/012700 12700
00010060/001000 1000
00010062/005004 5004
00010064/004715 4715
00010066/110324 110324
00010070/005300 5300
00010072/001374 1374
00010074/005007 5007
@10000G
HX 2.0 - Warm boot..

HX DSK/TTY multiplexer v2.3 2013
SL V08.00 [SW] Сторожевых С.В. 1988

RT-11SJ (Y) V05.04 G

.SE USR NOSWAP

.SE EXIT NOSWAP

.SE TT SCOPE

.LO SL

.SE SL ON

ДОСКА ПОЧЕТА
--------------------
.01.09.11.91, 4148
.02.PATRON 3245
.03.PATRON 3157
.04.PATRON 2880
.05.PATRON 2807
.06.PATRON 2804
.07. RON 2795
.08.PATRON 2585
.09.PATRON 2448
.10.PATRON 2404 ЕЩЕ РАЗ ?
.DIR HX1:
10-Apr-2013 2307
MOV .SAV 5 09-Apr-2013 CMP .SAV 5 09-Apr-2013
CMPB .SAV 5 09-Apr-2013 ADD .SAV 5 09-Apr-2013
BIS .SAV 5 09-Apr-2013 MOVB .SAV 5 09-Apr-2013
JMP .SAV 7 09-Apr-2013 RTS .SAV 7 16-Mar-2013
JSR .SAV 7 19-Mar-2013 BISB .SAV 5 09-Apr-2013
MUL .SAV 7 04-Apr-2013 DIV .SAV 7 06-Apr-2013
ASHC .SAV 7 07-Apr-2013 ASH .SAV 7 07-Apr-2013
OP1 .SAV 6 09-Apr-2013 MOVPC .SAV 5 24-Feb-2013
MOVPC2.SAV 7 27-Feb-2013
17 Files, 102 Blocks
3 Free blocks

.DIR HX6:
10-Apr-2013
PDPCLK.MAC 27 10-Apr-2013 PDPCLK.SAV 6 10-Apr-2013
2 Files, 33 Blocks
0 Free blocks

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

CPU KHz: 3993

Program completed.

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

CPU KHz: 3996

Program completed.

.


вопрос по ошибке ?BOOT-U-Insufficient memory, это изза глючности моей платы?

Patron
10.04.2013, 23:26
Factor : 3 > 3
Factor : 3

CPU KHz: 39961. Если показанное значение Factor устраивает - достаточно нажать [Enter]

2. Определитель тактовой частоты настаивает, что при запуске тестов лучше указывать CPU KHz = 3996 ( может частота таймера не точно 50 Гц, а может и правда тактовая частота процессора = 4 МГц ). Есть смысл прогнать все тесты с этим значением CPU KHz.


?BOOT-U-Insufficient memory, это изза глючности моей платы?Загрузчик проверяет доступную память, читая и записывая ячейки. Когда возникает Trap_To_4 - загрузчик считает, что память кончилась.

Эта версия RT-11 может работать начиная с 24 К - надо в стартовый командный файл дописать команду SH MEM - чтобы каждый раз было видно, сколько именно памяти "освоил" загрузчик.

bigral
11.04.2013, 02:45
Эта версия RT-11 может работать начиная с 24 К - надо в стартовый командный файл дописать команду SH MEM - чтобы каждый раз было видно, сколько именно памяти "освоил" загрузчик.

Добавил эту команду в starts.com но дело в том что это сообщение вылетает до того как эти команды из пакетного файла начинают выполнятся и после него происходит зависание.

Мне бы тест какой-нибудь для проверки памяти и MMU.

Прогнал тесты с указанием частоты 3996Khz а в конце попробовал еще разок PDPCLK и он мне показал 4035!!! Наверное без кварца так и будет у меня все прыгать в зависимости от температуры.

Patron
11.04.2013, 12:09
дело в том что это сообщение вылетает до того как эти команды из пакетного файла начинают выполнятся и после него происходит зависаниеКоманда SH MEM нужна для того, чтобы проверить, не загрузилась ли RT-11 с меньшим объёмом памяти, чем нужно.

Patron
11.04.2013, 14:35
Новая версия универсального тест: JSR.SAV (http://zx.pk.ru/attachment.php?attachmentid=40923) - позволяет определить число тактов, затрачиваемых любым процессором архитектуры PDP-11 на выполнение команд вызова подпрограмм и на вход в прерывание.

При первом запуске теста нужно ввести правильное значение тактовой частоты тестируемого процессора в килогерцах.

При запуске на эмулируемой ДВК-1 результат выглядит так:



.RU JSR
JSR - v1.1
Memory Top: 137564
BUF words: 22842
CPU KHz: 5300 >

SOB Loops: 4814 ; CLC: 22.0
Loop Loops: 1151 ; CLC: 70.1
Loop +Interrupt Loops: 558 ; CLC: 168.0
IOT Loops: 1039 ; CLC: 80.0
Trap Loops: 1039 ; CLC: 80.0
JSR PC, (R0) Loops: 1766 ; CLC: 38.0
JSR R0, (PC) Loops: 1766 ; CLC: 38.0
JSR PC, (PC) Loops: 1766 ; CLC: 38.0
JSR PC, (PC)+ Loops: 1737 ; CLC: 39.0
JSR PC,@(PC)+ Loops: 1493 ; CLC: 49.0
JSR PC,@(R0)+ Loops: 1493 ; CLC: 49.0
JSR PC,@(SP)+ Loops: 1492 ; CLC: 49.0
JSR PC,@-(R0) Loops: 1492 ; CLC: 49.0
JSR R1,@-(R0) Loops: 1493 ; CLC: 49.0
JSR PC, Label Loops: 1493 ; CLC: 49.0
JSR PC,@Var Loops: 1262 ; CLC: 62.0
JSR R1,@x(R0) Loops: 1262 ; CLC: 62.0

.


Время в тактах CLC от начала обслуживания процессором запроса IRQ до начала выполнения первой команды обработчика прерывания - определяется как разница значений Loop +Interrupt CLC и Loop CLC ( в приведённом примере это 168 - 70 = 98 CLC ).

...

hobot
11.04.2013, 14:42
Мне бы тест какой-нибудь для проверки памяти и MMU.
Может быть что-то отсюда?



Image : fodostm1.dsk

Format : DSK
Size : 800 Kb

Volume ID: FODOS-TMOS
Owner : GRAND

File Blocks Date Bytes
---------- ------ ----------- ----------
FMONSJ.SYS 73P 25-Apr-1988 37'376
TT .SYS 2P 25-Apr-1988 1'024
SWAP .SYS 26P 01-Feb-1988 13'312
MX .SYS 9P 20-May-1988 4'608
MY .SYS 3P 25-Apr-1988 1'536
SL .SYS 13P 01-Feb-1988 6'656
DX .SYS 3P 25-Apr-1988 1'536
PIP .SAV 29P 01-Feb-1988 14'848
DUP .SAV 45P 01-Feb-1988 23'040
DIR .SAV 19P 01-Feb-1988 9'728
TESTMX.SAV 39P 30-Nov-1987 19'968
TESTDW.SAV 47P 18-Mar-1987 24'064
STARTS.COM 1 11-Nov-1999 512
FTMON .SAV 6 12-May-1987 3'072
SPEED .TMS 3 12-May-1987 1'536
791401.TMS 16 07-Feb-1985 8'192
791402.TMS 16 07-Feb-1985 8'192
791403.TMS 15 07-Feb-1985 7'680
791404.TMS 12 07-Feb-1985 6'144
691404.TMS 12 07-Feb-1985 6'144
CKMBA0.TMS 11 27-Dec-1988 5'632
CKMBA1.TMS 11 27-Dec-1988 5'632
AVTBM2.COM 1 02-Jul-1987 512
TTIN .TMS 4 07-Feb-1985 2'048
DXIN .TMS 6 07-Feb-1985 3'072
SYST1 .TMS 6 07-Feb-1985 3'072
SYST2 .TMS 6 07-Feb-1985 3'072
LPIN .TMS 3 07-Feb-1985 1'536
DIR .TMS 3 08-Aug-1988 1'536
791323.TMS 8 07-Feb-1985 4'096
SYST .TMS 6 27-Dec-1988 3'072
791324.TMS 8 27-Dec-1988 4'096
CINAA0.TMS 17 27-Dec-1988 8'704
CPCAA0.TMS 19 27-Dec-1988 9'728
012101.TMS 23 27-Dec-1988 11'776
MXPSI2.CCC 3 02-Jul-1987 1'536
MXPSI1.CCC 3 02-Jul-1987 1'536
MXPSI3.CCC 3 08-Aug-1988 1'536
AVTBM1.COM 1 01-Jul-1987 512
AVTBM3.COM 1 08-Aug-1988 512
TSKGD1.SAV 13 27-Dec-1988 6'656
TSTMX .SAV 13 26-Sep-1989 6'656
TSDL6N.SAV 20 27-Dec-1988 10'240
TSDL6W.SAV 20 27-Dec-1988 10'240
TESTMY.SAV 16 27-Dec-1988 8'192
TESTDL.SAV 20 27-Dec-1988 10'240
TSTKGD.SAV 13 27-Dec-1988 6'656
KC .SAV 17 27-Dec-1988 8'704
TSTDW3.SAV 23 27-Dec-1988 11'776
TOZUDP.SAV 10 27-Dec-1988 5'120
SPEED .SAV 3 26-Apr-1989 1'536
STOPDW.SAV 2 27-Oct-1989 1'024
TESTPU.LST 14 27-Dec-1988 7'168
TDW1 .SAV 51P 08-Mar-1990 26'112
TDW .SAV 50P 09-Nov-1989 25'600
SHD .SAV 2P 13-Apr-1990 1'024
SHDMP .SAV 2P 13-Apr-1990 1'024
FD100 .SAV 16P 13-Apr-1990 8'192
PARK .SAV 2P 04-Nov-1991 1'024
INSTR .TXT 4 2'048
VM3PRO.CCC 1 27-Dec-1988 512
VM2PRO.CCC 1 27-Dec-1988 512
VM2A .CCC 2 27-Dec-1988 1'024
VM2 .CCC 3 27-Dec-1988 1'536
VM2MY .CCC 3 27-Dec-1988 1'536
VM3 .CCC 1 27-Dec-1988 512
G1 .COM 5 27-Dec-1988 2'560
M .COM 1 27-Dec-1988 512
A .COM 1 27-Dec-1988 512
Z .COM 1 15-May-1989 512
V .COM 1 15-May-1989 512
H .COM 1 15-May-1989 512
B .COM 1 15-May-1989 512
R .COM 1 15-May-1989 512
T .COM 1 15-May-1989 512
P .COM 1 15-May-1989 512
W .COM 1 15-May-1989 512
MZ .SYS 3 12-Sep-1994 1'536
< UNUSED > 718 367'616
---------- ------ ----------- ----------
78 Files, 872 Blocks
718 Free blocks


На образе драйвера DX, MX, MY, MZ.
Можно легко прилепить HD и HX, место есть
и настраивать в эмуляторе загрузку соответственно.

На диске есть файл с инструкцией INSTR.TXT -


ЦЕПОЧКИ ТЕСТОВ :
@B - КОРОТКАЯ ЦЕПОЧКА ТЕСТОВ; @L - ПРОГОН (ВМ-2, КНГМД, КГД, КСМ)
@H - КОРОТКАЯ ЦЕПОЧКА ТЕСТОВ; @G - ПРОГОН (ВМ-2, КНГМД, КСМ, МС4622)
@T - КОРОТКАЯ ЦЕПОЧКА ТЕСТОВ; @M - ПРОГОН (ВМ-2, КМД, КГД, КСМ)
@R - КОРОТКАЯ ЦЕПОЧКА ТЕСТОВ; @X - ПРОГОН (ВМ-3, КМД, КЦГД, ОЗУДП)
@V - КОРОТКАЯ ЦЕПОЧКА ТЕСТОВ; @D - ПРОГОН (ВМ-3, КМД, КЖД, КЦГД)
@Z - КОРОТКАЯ ЦЕПОЧКА ТЕСТОВ; @N - ПРОГОН (ВМ-3, КМД, МС5305, КЦГД)
ТЕСТЫ МИКРО-ЭВМ :
791401.TMS - ОСНОВНОЙ ТЕСТ К-Д(ВМ2) !791402.TMS - ТЕСТ К-Д РАСШ. АРИФМ.(ВМ2)
791403.TMS - ТЕСТ К-Д С ПЛАВ. ЗАП.(ВМ2)!791404.TMS - ТЕСТ ПРЕРЫВАНИЙ(ВМ2)
791323.TMS - ТЕСТ ПАМЯТИ(ВМ2) ЗАГР МХ !SYST.TMS - СИСТЕМНЫЙ ТЕСТ(ВМ2)
791324.TMS - ТЕСТ ПАМЯТИ(ВМ2) ЗАГР МУ !
SPEED.TMS - ТЕСТ БЫСТРОД.(ВМ2,ВМ3) !TTIN.TMS - ТЕСТ ПОСЛ. ИНТЕРФ.(ВМ2,ВМ3)
CPCAA0.TMS - ОСНОВНОЙ ТЕСТ КОМАНД(ВМ3) !CINAA0.TMS - ТЕСТ ПРЕРЫВАНИЙ(ВМ3)
CKMBA0.TMS - ТЕСТ ОЗУ С ЗАГР. МХ1(ВМ3) !CKMBA1.TMS - ТЕСТ ОЗУ С ЗАГР. МУ0(ВМ3) ТЕСТЫ УСТРОЙСТВ :
TOZUDP.SAV - ТЕСТ ОЗУ ДП !
012101.TMS - ТЕСТ СИМВОЛЬНОГО ДИСПЛЕЯ ! TESTPU.LST - ТЕСТ ПРИНТЕРА
TESTMX.SAV - ТЕСТ КНГМД И НАКОПИТЕЛЕЙ ! TESTMY.SAV - ТЕСТ КМД И НАКОПИТЕЛЕЙ
TESTDW.SAV - ТЕСТ КЖД И НАКОПИТЕЛЕЙ ! TSTKGD.SAV - ТЕСТ КГД (С МЕНЮ)
TSKGD1.SAV - ТЕСТ КГД (БЕЗ МЕНЮ) ! TESTDL.SAV - ТЕСТ КТЛК (С МЕНЮ)
TSDL6N.SAV - ТЕСТ МС4622,176560-176630 ! TSDL6W.SAV - ТЕСТ МС4622,176500-176550
KC.SAV - ТЕСТ КЦГД ! TSTDW3.SAV - ТЕСТ КЖД


Дискета из комплекта UKNCBTL.
(и как видно из шапки из набора софта тов.Grand?)

Patron
12.04.2013, 12:31
А новая версия теста JSR.SAV (http://zx.pk.ru/showthread.php?postid=591631), типа - осталась незамеченной.

Что насчёт запуска этого теста на имеющихся процессорах..

form
12.04.2013, 16:16
А новая версия теста JSR.SAV (http://zx.pk.ru/showthread.php?postid=591631), типа - осталась незамеченной.

Что насчёт запуска этого теста на имеющихся процессорах..

Странно - я помню вроде запускал. Только забыл выложить видимо или опять не в ту тему засунул :)

.RU JSR
JSR - v1.1
Memory Top: 65520
BUF words: 12072
CPU KHz: 18000 >

SOB Loops: 17992 ; CLC: 20.0
Loop Loops: 4997 ; CLC: 52.0
Loop +Interrupt Loops: 1935 ; CLC: 166.0
IOT Loops: 3102 ; CLC: 96.1
Trap Loops: 3102 ; CLC: 96.1
JSR PC, (R0) Loops: 5996 ; CLC: 40.0
JSR R0, (PC) Loops: 5622 ; CLC: 44.0
JSR PC, (PC) Loops: 5997 ; CLC: 40.0
JSR PC, (PC)+ Loops: 5621 ; CLC: 44.0
JSR PC,@(PC)+ Loops: 5995 ; CLC: 40.1
JSR PC,@(R0)+ Loops: 5065 ; CLC: 51.1
JSR PC,@(SP)+ Loops: 5622 ; CLC: 44.0
JSR PC,@-(R0) Loops: 5174 ; CLC: 49.6
JSR R1,@-(R0) Loops: 4912 ; CLC: 53.3
JSR PC, Label Loops: 5995 ; CLC: 40.1
JSR PC,@Var Loops: 4996 ; CLC: 52.1
JSR R1,@x(R0) Loops: 4733 ; CLC: 56.1

.VDT

VDT V05.07
*177746/000000 14
*^C

.RU JSR
JSR - v1.1
Memory Top: 65520
BUF words: 12072
CPU KHz: 18000 >

SOB Loops: 7461 ; CLC: 48.3
Loop Loops: 2802 ; CLC: 80.2
Loop +Interrupt Loops: 1332 ; CLC: 222.0
IOT Loops: 1795 ; CLC: 152.3
Trap Loops: 1795 ; CLC: 152.3
JSR PC, (R0) Loops: 3085 ; CLC: 68.4
JSR R0, (PC) Loops: 2988 ; CLC: 72.2
JSR PC, (PC) Loops: 3085 ; CLC: 68.4
JSR PC, (PC)+ Loops: 2983 ; CLC: 72.4
JSR PC,@(PC)+ Loops: 2763 ; CLC: 82.0
JSR PC,@(R0)+ Loops: 2675 ; CLC: 86.3
JSR PC,@(SP)+ Loops: 2674 ; CLC: 86.4
JSR PC,@-(R0) Loops: 2597 ; CLC: 90.4
JSR R1,@-(R0) Loops: 2526 ; CLC: 94.3
JSR PC, Label Loops: 2763 ; CLC: 82.0
JSR PC,@Var Loops: 2296 ; CLC: 108.5
JSR R1,@x(R0) Loops: 2241 ; CLC: 112.4

.

hobot
12.04.2013, 19:43
А новая версия теста JSR.SAV (http://zx.pk.ru/showthread.php?postid=591631), типа - осталась незамеченной.
Прогоним ! )

hobot
12.04.2013, 22:30
Patron, плата№1 PDPCLK, Factor=4 показала 8000, завтра тогда прогоню на ней тесты с поправкой на 8000, и проверю PDPCLK на плате№2 заодно.

Patron
12.04.2013, 22:42
плата№1 PDPCLK, Factor=4 показала 8000, завтра тогда прогоню на ней тесты с поправкой на 8000, и проверю PDPCLK на плате№2 заодно.Это не очень существенная разница - заново достаточно прогнать ASH3, ASH4, ASHC3 и ASHС4.

Перед прогоном лучше измерить частоту ещё раз.

hobot
12.04.2013, 23:09
Это не очень существенная разница - заново достаточно прогнать ASH3, ASH4, ASHC3 и ASHС4.

Перед прогоном лучше измерить частоту ещё раз.

Я понял, по поводу частоты на плате№1, запускал PDPCLK много много раз, и как самую первую сразу после загрузки и после часа(примерно) работы, стабильно пишет 8000 на 1-й плате, не плавает.

hobot
13.04.2013, 18:17
стабильно пишет 8000 на 1-й плате, не плавает.

Ну вот и начались чудеса, даже не знаю, наверное нет смысла гонять тесты заного
поскольку, сейчас прогнал несколько раз PDPCLK на плате№1 и показатель (при F=4)
выдал последовательно: 8000, 8012, 7988, 8000, 8012, 8012.

Вчера 10 раз подряд было 8000 )
И как с этим быть? Получается всё как у Alex_K 8013 правильное значение?
Я сейчас PDPCLK на плате№2 хочу запустить. Посмотрю что там покажет.

---------- Post added at 17:37 ---------- Previous post was at 16:40 ----------

Прогон PDPCLK и пропущенный JSR.
Плата № 1.



http://savepic.ru/4446322.jpg

http://savepic.ru/4435058.jpg

http://savepic.ru/4439154.jpg

http://savepic.ru/4423794.jpg

http://savepic.ru/4427890.jpg

http://savepic.ru/4417650.jpg



---------- Post added at 18:17 ---------- Previous post was at 17:37 ----------

Прогон PDPCLK и пропущенный JSR.
Плата № 2.


http://savepic.ru/4403081.jpg

http://savepic.ru/4407177.jpg

http://savepic.ru/4394889.jpg

http://savepic.ru/4397961.jpg

http://savepic.ru/4451208.jpg

http://savepic.ru/4449160.jpg

form
15.04.2013, 07:54
Даешь тест замера команды MARK! :)

Patron
16.04.2013, 11:48
Даешь тест замера команды MARK!А что с исправленными тестами из этой серии (http://zx.pk.ru/showthread.php?postid=591006) ( вроде MOV, CMP, ADD ).

Я изменил их по предложенному образцу - и какой результат ?

form
16.04.2013, 12:11
А что с исправленными тестами из этой серии (http://zx.pk.ru/showthread.php?postid=591006) ( вроде MOV, CMP, ADD ).

Я изменил их по предложенному образцу - и какой результат ?

Сейчас прогоним.

---------- Post added at 14:58 ---------- Previous post was at 14:49 ----------

Кстати есть еще пара интересных команд - TSTSET и WRTLCK...

---------- Post added at 15:06 ---------- Previous post was at 14:58 ----------


.@TESTS

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

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

Mov R1 4 20 20 28 26 35 28 36 36
Mov (R1) 12 28 28 36 34 43 36 44 44
Mov (R2)+ 12 28 28 36 34 43 36 44 44
Mov (PC)+ 8 25 24 32 29 38 58 40 40
Mov @(R2)+ 20 36 36 44 42 51 44 52 52
Mov -(R1) 18 35 34 43 39 47 48 50 50
Mov @-(R1) 26 43 42 51 47 55 56 58 58
Mov Addr 21 38 38 45 48 63 84 71 72
Mov @Tab(R1) 28 45 44 52 50 58 78 60 60

Program completed.

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

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

Cmp R1 4 16 16 24 22 30 25 12 32
Cmp (R1) 12 24 24 32 30 38 33 20 40
Cmp (R2)+ 12 24 24 32 30 38 33 20 40
Cmp (PC)+ 8 20 20 28 26 34 47 16 36
Cmp @(R2)+ 20 32 32 40 38 46 41 28 48
Cmp -(R1) 18 30 30 38 34 42 50 26 46
Cmp @-(R1) 26 38 38 46 42 50 59 34 54
Cmp Addr 21 33 33 41 50 58 69 47 68
Cmp @Tab(R1) 28 40 40 48 46 54 67 36 56

Program completed.

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

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

CmpB R1 4 16 16 24 22 30 25 12 32
CmpB (R1) 12 24 24 32 30 38 33 20 40
CmpB (R4)+ 12 24 24 32 30 38 33 20 40
CmpB (PC)+ 8 20 20 28 26 34 47 16 36
CmpB @(R2)+ 20 32 32 40 38 46 41 28 48
CmpB -(R1) 18 30 30 38 34 42 44 26 46
CmpB @-(R3) 26 38 38 46 42 50 59 34 54
CmpB Addr 21 33 33 41 44 59 69 47 68
CmpB @Tab(R3) 28 40 40 48 46 54 67 36 56

Program completed.

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

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

Add R1 4 24 24 32 31 39 33 40 40
Add (R1) 12 32 32 40 39 47 41 48 48
Add (R2)+ 12 32 32 40 39 47 41 48 48
Add (PC)+ 8 29 28 36 35 42 71 44 44
Add @(R2)+ 20 40 40 48 47 55 50 56 56
Add -(R1) 18 39 38 47 43 51 59 54 54
Add @-(R1) 26 47 46 55 51 59 67 62 62
Add Addr 21 42 42 50 59 67 93 75 76
Add @Tab(R1) 28 49 48 56 55 62 92 64 64

Program completed.

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

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

BiS R1 4 24 24 32 31 39 33 40 40
BiS (R1) 12 32 32 40 39 47 41 48 48
BiS (R2)+ 12 32 32 40 39 47 41 48 48
BiS (PC)+ 8 29 28 36 35 42 71 44 44
BiS @(R2)+ 20 40 40 48 47 55 50 56 56
BiS -(R1) 18 39 38 47 43 51 59 54 54
BiS @-(R1) 26 47 46 55 51 59 67 62 62
BiS Addr 21 42 42 50 59 67 93 75 76
BiS @Tab(R1) 28 49 48 56 55 62 92 64 64

Program completed.

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

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

MovB R1 4 20 20 28 24 35 28 36 37
MovB (R1) 12 28 28 36 35 43 36 44 45
MovB (R4)+ 12 28 28 36 32 43 36 44 45
MovB (PC)+ 8 24 24 33 28 39 48 40 40
MovB @(R2)+ 20 36 36 44 40 51 44 52 53
MovB -(R1) 18 35 35 43 38 47 42 50 51
MovB @-(R3) 26 43 43 51 47 55 50 58 59
MovB Addr 21 37 38 46 42 64 80 72 72
MovB @Tab(R3) 28 44 44 53 48 59 68 60 60

Program completed.

.RUN JMP
JMP - v1.3
Memory Top: 65350
BUF words: 12095
CPU KHz: 5300 > 18000
CPU KHz: 18000

SOB Loops: 17992 ; CLC: 20.0
Br Loops: 9995 ; CLC: 16.0
Jmp (R0) Loops: 9995 ; CLC: 16.0
Jmp (PC) Loops: 9996 ; CLC: 16.0
Jmp (PC)+ Loops: 8178 ; CLC: 24.0
Mov R0, PC Loops: 8178 ; CLC: 24.0
Add R0, PC Loops: 8178 ; CLC: 24.0
Jmp LABEL Loops: 8996 ; CLC: 20.0
Jmp @#Addr Loops: 8995 ; CLC: 20.0
Jmp @(R0)+ Loops: 7650 ; CLC: 27.1
Jmp @-(R0) Loops: 7050 ; CLC: 31.1
Jmp xx(R0) Loops: 8178 ; CLC: 24.0
Jmp @x(R0) Loops: 7496 ; CLC: 28.0
Jmp @Var Loops: 7496 ; CLC: 28.0

Program completed.

.RUN RTS
RTS - v1.0
Memory Top: 65350
BUF words: 12107
CPU KHz: 5300 > 18000
CPU KHz: 18000

2: Nop Evt: 990 ; Run: 18934 ; Res: 19924 ; CLC: 18.1
2: RtS PC Evt: 6 ; Run: 10584 ; Res: 10590 ; CLC: 34.0
2: RtS R0 Evt: 7 ; Run: 9469 ; Res: 9476 ; CLC: 38.0
2: RtS R1 Evt: 6 ; Run: 9469 ; Res: 9475 ; CLC: 38.0
2: RtI Evt: 4 ; Run: 5905 ; Res: 5909 ; CLC: 60.9
2: RtT Evt: 3 ; Run: 5904 ; Res: 5907 ; CLC: 60.9

Program completed.

..RUN JSR
JSR - v1.1
Memory Top: 65350
BUF words: 12020
CPU KHz: 5300 > 18000
CPU KHz: 18000

SOB Loops: 17992 ; CLC: 20.0
Loop Loops: 4997 ; CLC: 52.0
Loop +Interrupt Loops: 1935 ; CLC: 166.0
IOT Loops: 3102 ; CLC: 96.1
Trap Loops: 3102 ; CLC: 96.1
JSR PC, (R0) Loops: 5996 ; CLC: 40.0
JSR R0, (PC) Loops: 5622 ; CLC: 44.0
JSR PC, (PC) Loops: 5997 ; CLC: 40.0
JSR PC, (PC)+ Loops: 5622 ; CLC: 44.0
JSR PC,@(PC)+ Loops: 5995 ; CLC: 40.1
JSR PC,@(R0)+ Loops: 5066 ; CLC: 51.1
JSR PC,@(SP)+ Loops: 5622 ; CLC: 44.0
JSR PC,@-(R0) Loops: 5174 ; CLC: 49.6
JSR R1,@-(R0) Loops: 4912 ; CLC: 53.3
JSR PC, Label Loops: 5995 ; CLC: 40.1
JSR PC,@Var Loops: 4996 ; CLC: 52.1
JSR R1,@x(R0) Loops: 4733 ; CLC: 56.1

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

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

BiSB R1 4 24 24 32 31 39 33 40 41
BiSB (R1) 12 32 32 40 39 47 41 48 49
BiSB (R4)+ 12 32 32 40 39 47 41 48 49
BiSB (PC)+ 8 28 28 37 35 43 71 44 44
BiSB @(R2)+ 20 40 40 48 47 55 49 56 57
BiSB -(R1) 18 39 39 47 44 51 52 54 55
BiSB @-(R3) 26 47 47 55 51 59 67 62 63
BiSB Addr 21 41 42 50 52 68 93 76 77
BiSB @Tab(R3) 28 48 48 57 55 64 92 64 64

Program completed.

.

MUL завис (запускаю в ZM).
DIV завис.
и ASHC.

---------- Post added at 15:11 ---------- Previous post was at 15:06 ----------

...или может не зависли, а просто не дождался :)
прогоним еще раз потом...

form
16.04.2013, 12:16
.RUN OP1
Op1 - v1.1
CPU KHz: 5300 > 18000
CPU KHz: 18000

SOB : 20 ! Last SOB : 12 ! Br : 16 ! BCS : 8 ! BCC : 16 ! SeC : 12

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

Tst 4 12 12 20 17 25 21 8 28
TstB 4 12 12 20 17 25 21 8 28
Inc 4 24 24 32 30 38 33 40 40
IncB 4 24 24 32 30 38 34 40 40
Clr 4 20 20 28 26 34 28 36 36
ClrB 4 20 20 28 24 34 28 36 36
MTPS 32 40 40 48 45 53 49 36 56
MFPS 4 20 20 28 24 34 28 36 36
XOr 4 24 24 32 30 38 33 40 40
SwaB 4 24 24 32 30 38 33 40 40
SXt 4 20 20 28 26 34 28 36 36

Program completed.

.RUN MOVPC
MovPC - v1.0
CPU KHz: 5300 > 18000
CPU KHz: 18000

Mov (PC)+,(PC) 40.1
MovB (PC)+,(PC) 40.1
Mov (PC), (PC)+ 44.1
MovB (PC), (PC)+ 44.1
Mov (PC), R0 12.0
MovB (PC), R0 12.0
Mov (PC), (PC) 44.1
MovB (PC), (PC) 44.1
Mov (PC)+, R0 8.0
MovB (PC)+, R0 8.0
Mov R0, (PC)+ 36.1
MovB R0, (PC)+ 36.1

Program completed.

.RUN MOVPC2
MovPC2 - v1.1
Memory Top: 65456
BUF words: 12097
CPU KHz: 5300 > 18000
CPU KHz: 18000

2: Nop Evt: 989 ; Run: 18934 ; Res: 19923 ; CLC: 18.1
3: Mov R0, R0 Evt: 22 ; Run: 32702 ; Res: 32724 ; CLC: 11.0
1: Mov R0, (PC) Evt: 6 ; Run: 8366 ; Res: 8372 ; CLC: 43.0
1: MovB R0, (PC) Evt: 6 ; Run: 8367 ; Res: 8373 ; CLC: 43.0
2: Mov (PC), R0 Evt: 12 ; Run: 18935 ; Res: 18947 ; CLC: 19.0
2: MovB (PC), R0 Evt: 10 ; Run: 18935 ; Res: 18945 ; CLC: 19.0
::: SP = PC :::
1: Mov R0, (SP)+ Evt: 5 ; Run: 8367 ; Res: 8372 ; CLC: 43.0
1: MovB R0, (SP)+ Evt: 5 ; Run: 8367 ; Res: 8372 ; CLC: 43.0
1: Mov (SP),(SP)+ Evt: 4 ; Run: 7055 ; Res: 7059 ; CLC: 51.0
1: MovB (SP),(SP)+ Evt: 5 ; Run: 7054 ; Res: 7059 ; CLC: 51.0

Program completed.

.

---------- Post added at 15:16 ---------- Previous post was at 15:12 ----------

Все-таки зависли.
Запустим под SB...


.@TESTS

.RUN MUL
MUL - v1.0
Memory Top: 116230
BUF words: 18350
CPU KHz: 18000 >

2: Nop Evt: 7 ; Run: 18936 ; Res: 18943 ; CLC: 19.0
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 0 ; Run: 3634 ; Res: 3634 ; CLC: 99.1
1: Mul R2, R1 Evt: 1 ; Run: 3634 ; Res: 3635 ; CLC: 99.0
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 0 ; Run: 3635 ; Res: 3635 ; CLC: 99.0
1: Mul R2, R1 Evt: 0 ; Run: 3635 ; Res: 3635 ; CLC: 99.0
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 3787 ; Res: 3787 ; CLC: 95.1
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 1 ; Run: 3788 ; Res: 3789 ; CLC: 95.0
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 3788 ; Res: 3788 ; CLC: 95.0
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 1 ; Run: 3788 ; Res: 3789 ; CLC: 95.0
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 3788 ; Res: 3788 ; CLC: 95.0

.RUN DIV
DIV - v1.0
Memory Top: 116230
BUF words: 18434
CPU KHz: 18000 >

2: Nop Evt: 8 ; Run: 18936 ; Res: 18944 ; CLC: 19.0
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 2309 ; Res: 2309 ; CLC: 155.9
1: Div R2, R1 Evt: 0 ; Run: 2309 ; Res: 2309 ; CLC: 155.9
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 2437 ; Res: 2437 ; CLC: 147.7
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 2309 ; Res: 2309 ; CLC: 155.9
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 13325 ; Res: 13325 ; CLC: 27.0

Program completed.

.RUN ASHC
ASHC - v1.0
Memory Top: 116230
BUF words: 18390
CPU KHz: 18000 >

2: Nop Evt: 8 ; Run: 18936 ; Res: 18944 ; CLC: 19.0
R2 = 0
1: AShC R2, R0 Evt: 1 ; Run: 13325 ; Res: 13326 ; CLC: 27.0
1: AShC R2, R1 Evt: 1 ; Run: 13325 ; Res: 13326 ; CLC: 27.0
R2 = 1
1: AShC R2, R0 Evt: 0 ; Run: 9225 ; Res: 9225 ; CLC: 39.0
1: AShC R2, R1 Evt: 1 ; Run: 9225 ; Res: 9226 ; CLC: 39.0
R2 = 8
1: AShC R2, R0 Evt: 1 ; Run: 5370 ; Res: 5371 ; CLC: 67.0
1: AShC R2, R1 Evt: 1 ; Run: 5370 ; Res: 5371 ; CLC: 67.0
R2 = -1
1: AShC R2, R0 Evt: 1 ; Run: 10280 ; Res: 10281 ; CLC: 35.0
1: AShC R2, R1 Evt: 1 ; Run: 10280 ; Res: 10281 ; CLC: 35.0
R2 = -8
1: AShC R2, R0 Evt: 1 ; Run: 5370 ; Res: 5371 ; CLC: 67.0
1: AShC R2, R1 Evt: 1 ; Run: 5370 ; Res: 5371 ; CLC: 67.0

Program completed.

.RUN ASH
ASH - v1.0
Memory Top: 116230
BUF words: 18429
CPU KHz: 5300 > 18000
CPU KHz: 18000

2: Nop Evt: 7 ; Run: 18935 ; Res: 18942 ; CLC: 19.0
R2 = 0
1: ASh R2, R0 Evt: 1 ; Run: 15642 ; Res: 15643 ; CLC: 23.0
R2 = 1
1: ASh R2, R0 Evt: 1 ; Run: 13325 ; Res: 13326 ; CLC: 27.0
R2 = 8
1: ASh R2, R0 Evt: 1 ; Run: 6542 ; Res: 6543 ; CLC: 55.0
R2 = -1
1: ASh R2, R0 Evt: 0 ; Run: 13325 ; Res: 13325 ; CLC: 27.0
R2 = -8
1: ASh R2, R0 Evt: 1 ; Run: 6541 ; Res: 6542 ; CLC: 55.0

Program completed.

.

Patron
16.04.2013, 12:17
MUL завис (запускаю в ZM).
DIV завис. и ASHC.Их я ещё не переделал - мы их уже запускали, а все "нетабличные" тесты нужно ещё дополнительно модифицировать для совместимости с таймером 60 Гц.

form
16.04.2013, 12:25
модифицировать для совместимости с таймером 60 Гц.

У меня еще 800 может быть сетевой :)
Но RT-11 не поддерживает несетевые частоты даже с KWV11, так, что бита CLK50$ достаточно для определения.

---------- Post added at 15:25 ---------- Previous post was at 15:18 ----------

Посматриваю вот с завистью на KVW11-C, но, зараза 10 с лишним стоит - жаба давит.
Приоритет пока стоит на DECserver 90M и второй backplane.

Patron
05.06.2013, 03:01
Доделал универсальные тесты таймингов - теперь они должны одинаково хорошо работать и на машинах с таймером 50 Гц, и на машинах с таймером 60 Гц:

Последние версии всех универсальных тестов в одном архиве: PDP11_TimingsTests (http://emulator.pdp-11.org.ru/misc/PDP11_TimingsTests.zip).

form
05.06.2013, 03:18
Доделал универсальные тесты таймингов - теперь они должны одинаково хорошо работать и на машинах с таймером 50 Гц, и на машинах с таймером 60 Гц:

Последние версии всех универсальных тестов в одном рахиве: PDP11_TimingsTests (http://emulator.pdp-11.org.ru/misc/PDP11_TimingsTests.zip).

Сейчас прогоним...
Кстати на диске V57BLD в TST.DSK чтоли есть что-то на тему таймингов. Особо не вчитывался.

---------- Post added at 06:18 ---------- Previous post was at 06:02 ----------


.RU MOV
Mov - v1.1
CPU KHz: 5300 > 18000
CPU KHz: 18000

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

Mov R1 4 20 20 28 25 35 28 36 36
Mov (R1) 12 29 28 36 33 43 36 44 45
Mov (R2)+ 12 28 28 36 34 43 36 44 45
Mov (PC)+ 8 25 24 32 30 38 58 40 40
Mov @(R2)+ 20 36 37 44 41 51 44 52 53
Mov -(R1) 18 34 34 43 39 47 49 50 50
Mov @-(R1) 26 43 42 51 47 55 57 58 59
Mov Addr 21 38 38 45 50 63 85 71 73
Mov @Tab(R1) 28 45 45 52 50 59 78 61 60

Program completed.

..RU MOVB
MovB - v1.1
CPU KHz: 5300 > 18000
CPU KHz: 18000

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

MovB R1 4 20 20 28 24 36 28 36 37
MovB (R1) 12 28 28 36 35 44 36 44 46
MovB (R4)+ 12 28 28 36 33 43 36 44 45
MovB (PC)+ 8 24 24 34 28 39 48 40 40
MovB @(R2)+ 20 36 37 44 40 52 44 52 54
MovB -(R1) 18 35 35 44 39 47 43 50 51
MovB @-(R3) 26 44 43 51 48 55 51 58 59
MovB Addr 21 37 38 46 43 64 80 72 74
MovB @Tab(R3) 28 44 45 53 48 60 68 61 60

Program completed.

.RU CMP
Cmp - v1.1
CPU KHz: 5300 > 18000
CPU KHz: 18000

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

Cmp R1 4 16 16 24 22 30 25 12 32
Cmp (R1) 12 24 24 32 31 38 33 20 40
Cmp (R2)+ 12 24 24 32 31 38 33 20 40
Cmp (PC)+ 8 20 20 28 26 34 47 16 36
Cmp @(R2)+ 20 32 32 40 38 47 41 28 49
Cmp -(R1) 18 30 30 38 35 42 50 27 46
Cmp @-(R1) 26 38 39 46 42 51 59 34 55
Cmp Addr 21 33 33 42 50 58 70 47 68
Cmp @Tab(R1) 28 40 40 49 46 55 67 36 57

Program completed.

.RU CMPB
CmpB - v1.1
CPU KHz: 5300 > 18000
CPU KHz: 18000

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

CmpB R1 4 16 16 24 22 31 25 12 32
CmpB (R1) 12 24 24 32 30 38 34 20 40
CmpB (R4)+ 12 24 24 32 30 38 33 20 40
CmpB (PC)+ 8 20 20 29 26 34 47 16 37
CmpB @(R2)+ 20 32 32 41 38 46 41 28 48
CmpB -(R1) 18 30 30 38 34 42 44 26 46
CmpB @-(R3) 26 38 38 46 43 50 59 35 55
CmpB Addr 22 33 35 41 44 60 70 48 68
CmpB @Tab(R3) 28 41 40 48 47 54 68 37 56

Program completed.

.RU BIS
BiS - v1.1
CPU KHz: 5300 > 18000
CPU KHz: 18000

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

BiS R1 4 24 24 33 30 39 33 40 40
BiS (R1) 12 32 32 41 38 47 42 48 48
BiS (R2)+ 12 33 32 41 38 47 41 48 49
BiS (PC)+ 8 29 28 37 35 42 72 44 44
BiS @(R2)+ 20 41 40 48 47 55 50 57 56
BiS -(R1) 18 39 38 47 43 51 59 55 54
BiS @-(R1) 26 47 46 55 51 59 68 62 62
BiS Addr 22 42 42 50 59 67 94 76 76
BiS @Tab(R1) 28 49 48 56 55 62 92 64 65

Program completed.

.RU BISB
BiSB - v1.1
CPU KHz: 5300 > 18000
CPU KHz: 18000

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

BiSB R1 4 24 24 33 31 39 33 40 41
BiSB (R1) 12 32 32 41 39 47 42 48 49
BiSB (R4)+ 12 33 32 40 39 48 41 48 50
BiSB (PC)+ 8 28 28 38 34 43 72 44 44
BiSB @(R2)+ 20 41 40 48 48 55 49 57 57
BiSB -(R1) 18 39 39 47 44 52 53 55 55
BiSB @-(R3) 26 48 47 55 52 59 67 62 63
BiSB Addr 22 41 42 51 52 68 94 76 77
BiSB @Tab(R3) 28 49 48 57 55 63 92 64 65

Program completed.

.RU ADD
Add - v1.1
CPU KHz: 5300 > 18000
CPU KHz: 18000

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

Add R1 4 24 24 33 30 39 33 40 40
Add (R1) 12 32 32 40 38 47 41 48 48
Add (R2)+ 12 32 32 40 39 47 41 48 48
Add (PC)+ 8 29 28 37 35 42 72 44 44
Add @(R2)+ 20 40 40 48 47 55 50 56 56
Add -(R1) 18 39 38 47 43 51 59 55 54
Add @-(R1) 26 47 46 55 51 59 68 62 63
Add Addr 21 42 42 50 59 68 93 76 76
Add @Tab(R1) 28 49 48 57 55 62 92 64 65

Program completed.

.

---------- Post added at 06:18 ---------- Previous post was at 06:18 ----------

Как обычно MUL/DIV требеют перезашгрузки в SB :)

form
05.06.2013, 03:26
.RU MUL
MUL - v1.0
Memory Top: 116366
BUF words: 18397
CPU KHz: 18000 >

2: Nop Evt: 5 ; Run: 18936 ; Res: 18941 ; CLC: 19.0
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 0 ; Run: 3634 ; Res: 3634 ; CLC: 99.1
1: Mul R2, R1 Evt: 0 ; Run: 3634 ; Res: 3634 ; CLC: 99.1
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 1 ; Run: 3634 ; Res: 3635 ; CLC: 99.0
1: Mul R2, R1 Evt: 0 ; Run: 3634 ; Res: 3634 ; CLC: 99.1
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 3787 ; Res: 3787 ; CLC: 95.1
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 3788 ; Res: 3788 ; CLC: 95.0
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 3788 ; Res: 3788 ; CLC: 95.0
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 3788 ; Res: 3788 ; CLC: 95.0
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 3788 ; Res: 3788 ; CLC: 95.0

.RU DIV
DIV - v1.0
Memory Top: 116366
BUF words: 18481
CPU KHz: 5300 > 18000
CPU KHz: 18000

2: Nop Evt: 8 ; Run: 18936 ; Res: 18944 ; CLC: 19.0
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 2309 ; Res: 2309 ; CLC: 155.9
1: Div R2, R1 Evt: 0 ; Run: 2309 ; Res: 2309 ; CLC: 155.9
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 2437 ; Res: 2437 ; CLC: 147.7
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 2309 ; Res: 2309 ; CLC: 155.9
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 13326 ; Res: 13326 ; CLC: 27.0

Program completed.

.RU ASH
ASH - v1.0
Memory Top: 116366
BUF words: 18476
CPU KHz: 5300 > 18000
CPU KHz: 18000

2: Nop Evt: 8 ; Run: 18934 ; Res: 18942 ; CLC: 19.0
R2 = 0
1: ASh R2, R0 Evt: 2 ; Run: 15643 ; Res: 15645 ; CLC: 23.0
R2 = 1
1: ASh R2, R0 Evt: 0 ; Run: 13325 ; Res: 13325 ; CLC: 27.0
R2 = 8
1: ASh R2, R0 Evt: 0 ; Run: 6541 ; Res: 6541 ; CLC: 55.0
R2 = -1
1: ASh R2, R0 Evt: 0 ; Run: 13325 ; Res: 13325 ; CLC: 27.0
R2 = -8
1: ASh R2, R0 Evt: 1 ; Run: 6541 ; Res: 6542 ; CLC: 55.0

Program completed.

.RU ASHC
ASHC - v1.0
Memory Top: 116366
BUF words: 18437
CPU KHz: 5300 > 18000
CPU KHz: 18000

2: Nop Evt: 8 ; Run: 18936 ; Res: 18944 ; CLC: 19.0
R2 = 0
1: AShC R2, R0 Evt: 0 ; Run: 13325 ; Res: 13325 ; CLC: 27.0
1: AShC R2, R1 Evt: 0 ; Run: 13325 ; Res: 13325 ; CLC: 27.0
R2 = 1
1: AShC R2, R0 Evt: 1 ; Run: 9225 ; Res: 9226 ; CLC: 39.0
1: AShC R2, R1 Evt: 1 ; Run: 9225 ; Res: 9226 ; CLC: 39.0
R2 = 8
1: AShC R2, R0 Evt: 0 ; Run: 5370 ; Res: 5370 ; CLC: 67.0
1: AShC R2, R1 Evt: 1 ; Run: 5370 ; Res: 5371 ; CLC: 67.0
R2 = -1
1: AShC R2, R0 Evt: 0 ; Run: 10280 ; Res: 10280 ; CLC: 35.0
1: AShC R2, R1 Evt: 0 ; Run: 10280 ; Res: 10280 ; CLC: 35.0
R2 = -8
1: AShC R2, R0 Evt: 1 ; Run: 5370 ; Res: 5371 ; CLC: 67.0
1: AShC R2, R1 Evt: 1 ; Run: 5370 ; Res: 5371 ; CLC: 67.0

Program completed.

.

---------- Post added at 06:22 ---------- Previous post was at 06:20 ----------


.RU JMP
JMP - v1.3
Memory Top: 116366
BUF words: 18502
CPU KHz: 5300 > 18000
CPU KHz: 18000

SOB Loops: 17992 ; CLC: 20.0
Br Loops: 9995 ; CLC: 16.0
Jmp (R0) Loops: 9995 ; CLC: 16.0
Jmp (PC) Loops: 9996 ; CLC: 16.0
Jmp (PC)+ Loops: 8178 ; CLC: 24.0
Mov R0, PC Loops: 8178 ; CLC: 24.0
Add R0, PC Loops: 8178 ; CLC: 24.0
Jmp LABEL Loops: 8996 ; CLC: 20.0
Jmp @#Addr Loops: 8995 ; CLC: 20.0
Jmp @(R0)+ Loops: 7650 ; CLC: 27.1
Jmp @-(R0) Loops: 7052 ; CLC: 31.0
Jmp xx(R0) Loops: 8178 ; CLC: 24.0
Jmp @x(R0) Loops: 7496 ; CLC: 28.0
Jmp @Var Loops: 7496 ; CLC: 28.0

Program completed.

.RU JSR
JSR - v1.1
Memory Top: 116366
BUF words: 18427
CPU KHz: 5300 > 18000
CPU KHz: 18000

SOB Loops: 17993 ; CLC: 20.0
Loop Loops: 4997 ; CLC: 52.0
Loop +Interrupt Loops: 1935 ; CLC: 166.0
IOT Loops: 3102 ; CLC: 96.1
Trap Loops: 3102 ; CLC: 96.1
JSR PC, (R0) Loops: 5997 ; CLC: 40.0
JSR R0, (PC) Loops: 5622 ; CLC: 44.0
JSR PC, (PC) Loops: 5997 ; CLC: 40.0
JSR PC, (PC)+ Loops: 5623 ; CLC: 44.0
JSR PC,@(PC)+ Loops: 5996 ; CLC: 40.0
JSR PC,@(R0)+ Loops: 5066 ; CLC: 51.1
JSR PC,@(SP)+ Loops: 5622 ; CLC: 44.0
JSR PC,@-(R0) Loops: 5176 ; CLC: 49.6
JSR R1,@-(R0) Loops: 4914 ; CLC: 53.3
JSR PC, Label Loops: 5996 ; CLC: 40.0
JSR PC,@Var Loops: 4997 ; CLC: 52.0
JSR R1,@x(R0) Loops: 4734 ; CLC: 56.0

.RU RTS
RTS - v1.0
Memory Top: 116366
BUF words: 18514
CPU KHz: 5300 > 18000
CPU KHz: 18000

2: Nop Evt: 10 ; Run: 18933 ; Res: 18943 ; CLC: 19.0
2: RtS PC Evt: 5 ; Run: 10583 ; Res: 10588 ; CLC: 34.0
2: RtS R0 Evt: 5 ; Run: 9469 ; Res: 9474 ; CLC: 38.0
2: RtS R1 Evt: 5 ; Run: 9468 ; Res: 9473 ; CLC: 38.0
1: RtI Evt: 4 ; Run: 5897 ; Res: 5901 ; CLC: 61.0
1: RtT Evt: 3 ; Run: 5897 ; Res: 5900 ; CLC: 61.0

Program completed.

.

---------- Post added at 06:25 ---------- Previous post was at 06:22 ----------


.RU OP1
Op1 - v1.1
CPU KHz: 5300 > 18000
CPU KHz: 18000

SOB : 20 ! Last SOB : 12 ! Br : 16 ! BCS : 8 ! BCC : 16 ! SeC : 12

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

Tst 4 12 12 20 16 24 21 8 28
TstB 4 12 12 20 16 24 21 8 28
Inc 4 24 24 32 29 36 33 40 40
IncB 4 24 24 32 28 36 34 40 40
Clr 4 20 20 28 25 32 28 36 36
ClrB 4 20 20 28 24 32 28 36 36
MTPS 32 40 40 48 44 52 49 36 56
MFPS 4 20 20 28 24 32 28 36 36
XOr 4 24 24 32 29 36 33 40 40
SwaB 4 24 24 32 29 36 33 40 40
SXt 4 20 20 28 25 32 28 36 36

Program completed.

.RU MOVPC
MovPC - v1.0
CPU KHz: 5300 > 18000
CPU KHz: 18000

Mov (PC)+,(PC) 40.1
MovB (PC)+,(PC) 40.1
Mov (PC), (PC)+ 44.1
MovB (PC), (PC)+ 44.1
Mov (PC), R0 12.0
MovB (PC), R0 12.0
Mov (PC), (PC) 44.1
MovB (PC), (PC) 44.1
Mov (PC)+, R0 8.0
MovB (PC)+, R0 8.0
Mov R0, (PC)+ 36.1
MovB R0, (PC)+ 36.1

Program completed.

.RU MOVPC2
MovPC2 - v1.1
Memory Top: 116366
BUF words: 18469
CPU KHz: 5300 > 18000
CPU KHz: 18000

2: Nop Evt: 11 ; Run: 18935 ; Res: 18946 ; CLC: 19.0
2: Mov R0, R0 Evt: 18 ; Run: 32704 ; Res: 32722 ; CLC: 11.0
1: Mov R0, (PC) Evt: 6 ; Run: 8366 ; Res: 8372 ; CLC: 43.0
1: MovB R0, (PC) Evt: 5 ; Run: 8367 ; Res: 8372 ; CLC: 43.0
2: Mov (PC), R0 Evt: 10 ; Run: 18935 ; Res: 18945 ; CLC: 19.0
2: MovB (PC), R0 Evt: 11 ; Run: 18935 ; Res: 18946 ; CLC: 19.0
::: SP = PC :::
1: Mov R0, (SP)+ Evt: 5 ; Run: 8367 ; Res: 8372 ; CLC: 43.0
1: MovB R0, (SP)+ Evt: 5 ; Run: 8367 ; Res: 8372 ; CLC: 43.0
1: Mov (SP),(SP)+ Evt: 4 ; Run: 7055 ; Res: 7059 ; CLC: 51.0
1: MovB (SP),(SP)+ Evt: 4 ; Run: 7055 ; Res: 7059 ; CLC: 51.0

Program completed.

.

---------- Post added at 06:26 ---------- Previous post was at 06:25 ----------

Все вроде.
Без кэша не стал мучить - вроде примерно и так ясно :)

Patron
05.06.2013, 12:31
Все вроде. Без кэша не стал мучить - вроде примерно и так ясноЭти тесты отличаются от запускавшихся ранее только тем, что правильно считают результат при запуске на машине с таймером 60 Гц - теперь их можно использовать не только у нас, но и в Канаде, Америке или Японии.

form
05.06.2013, 12:58
Эти тесты отличаются от запускавшихся ранее только тем, что правильно считают результат при запуске на машине с таймером 60 Гц - теперь их можно использовать не только у нас, но и в Канаде, Америке или Японии.

Ну могу для демонстрации прогнать тест на 60Hz :)

---------- Post added at 15:41 ---------- Previous post was at 15:32 ----------

Прогон теста MOV на 50 и 60Hz.
.RU MOV
Mov - v1.1
CPU KHz: 18000 >

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

Mov R1 4 20 20 28 25 32 28 36 36
Mov (R1) 12 28 28 36 33 40 36 44 44
Mov (R2)+ 12 28 28 36 33 40 36 44 44
Mov (PC)+ 8 25 24 32 28 36 58 40 40
Mov @(R2)+ 20 36 36 44 41 48 44 52 52
Mov -(R1) 16 32 32 40 36 44 46 48 48
Mov @-(R1) 24 40 40 48 44 52 54 56 56
Mov Addr 21 38 38 45 48 61 84 71 72
Mov @Tab(R1) 28 45 44 52 48 56 78 60 60

Program completed.

.VDT

VDT V05.07
*177520/003007 5007
*^C

.SET CLOCK 60

.RU MOV
Mov - v1.1
CPU KHz: 18000 >

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

Mov R1 4 20 20 28 25 32 28 36 36
Mov (R1) 12 28 28 36 33 40 36 44 44
Mov (R2)+ 12 28 28 36 33 40 36 44 44
Mov (PC)+ 8 25 24 32 28 36 58 40 40
Mov @(R2)+ 20 36 36 44 41 48 45 52 52
Mov -(R1) 16 32 32 40 36 44 46 48 48
Mov @-(R1) 24 40 40 48 44 52 54 56 56
Mov Addr 21 38 38 45 48 61 84 71 72
Mov @Tab(R1) 28 45 44 52 48 56 78 60 60

Program completed.

.

---------- Post added at 15:49 ---------- Previous post was at 15:41 ----------

Бесполезный тест - от скуки пока чай пью ;)


.VDT

VDT V05.07
*177520/003007 7007
*^C

.RU MOV
Mov - v1.1
CPU KHz: 18000 >

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

Mov R1 65 332 324 461 404 527 467 582 582
Mov (R1) 194 461 453 590 534 656 596 712 712
Mov (R2)+ 195 461 462 592 534 656 596 713 713
Mov (PC)+ 130 405 397 519 461 584 936 648 657
Mov @(R2)+ 324 590 592 722 663 785 727 843 843
Mov -(R1) 260 526 518 656 591 720 755 777 778
Mov @-(R1) 390 657 649 786 720 850 885 907 907
Mov Addr 351 628 621 743 779 996 1369 1160 1173
Mov @Tab(R1) 453 728 720 842 785 907 1259 972 980

Program completed.

.

---------- Post added at 15:58 ---------- Previous post was at 15:49 ----------

Кстати, теперь, если что можно через DECserver пробрасывать телнет на консоль 11/83 - если будет интерес что-нибудь помучить...

Patron
05.06.2013, 13:18
Бесполезный тестВполне можно было сделать выравнивание и в 4-значном поле, а не в 3-значном - не сообразил я по-ходу, что число тактов в команде может быть 4-значным.

form
05.06.2013, 13:21
Вполне можно было сделать выравнивание и в 4-значном поле, а не в 3-значном - не сообразил я по-ходу, что число тактов в команде может быть 4-значным.

Ну для порядку пригодится, а так - в сущности это был тест на 800Hz когда программа думает что это 50 :)

Кстати всякие выравнивания, форматирования и вывод результатов достаточно удобно с помощью RSXLIB делать который я выкладывал в софте. Конкретно подпрограмма $EDMSG. Хотя если бы я сам делал - сделал бы несколько иначе, просто уже привык к родному в RSX :)

palsw
13.03.2014, 00:37
Patron, скачал архив PDP11_TimingsTests.zip .
там 2 образа.
начну с TSTSAV я так понимаю все тесты запустить по очереди и выложить лог .

МС1201.02-01


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

1: Nop Evt: 11 ; Run: 11713 ; Res: 11724 ; CLC: 12.0
R2 = 0
1: ASh R2, R0 Evt: 0 ; Run: 5868 ; Res: 5868 ; CLC: 23.9
R2 = 1
1: ASh R2, R0 Evt: 0 ; Run: 5023 ; Res: 5023 ; CLC: 28.0
R2 = 8
1: ASh R2, R0 Evt: 0 ; Run: 2512 ; Res: 2512 ; CLC: 55.9
R2 = -1
1: ASh R2, R0 Evt: 0 ; Run: 5869 ; Res: 5869 ; CLC: 23.9
R2 = -8
1: ASh R2, R0 Evt: 0 ; Run: 2706 ; Res: 2706 ; CLC: 51.9

Program completed.

.RUN HX2:ASH2
ASH2 - v1.1
Memory Top: 131072
BUF words: 20980
CPU KHz: 5300 > 7020
CPU KHz: 7020
1: ASh #000., R0 Evt: 2 ; Run: 3162 ; Res: 3164 ; CLC: 44.4
1: ASh #-01., R0 Evt: 2 ; Run: 3161 ; Res: 3163 ; CLC: 44.4
1: ASh #-02., R0 Evt: 1 ; Run: 2899 ; Res: 2900 ; CLC: 48.4
1: ASh #-03., R0 Evt: 1 ; Run: 2670 ; Res: 2671 ; CLC: 52.6
1: ASh #-04., R0 Evt: 1 ; Run: 2474 ; Res: 2475 ; CLC: 56.7
1: ASh #-05., R0 Evt: 1 ; Run: 2314 ; Res: 2315 ; CLC: 60.6
1: ASh #-06., R0 Evt: 1 ; Run: 2198 ; Res: 2199 ; CLC: 63.8
1: ASh #-07., R0 Evt: 0 ; Run: 2042 ; Res: 2042 ; CLC: 68.8
1: ASh #-08., R0 Evt: 0 ; Run: 1924 ; Res: 1924 ; CLC: 73.0
1: ASh #-09., R0 Evt: 0 ; Run: 1833 ; Res: 1833 ; CLC: 76.6
1: ASh #-10., R0 Evt: 0 ; Run: 1736 ; Res: 1736 ; CLC: 80.9
1: ASh #-11., R0 Evt: 0 ; Run: 1649 ; Res: 1649 ; CLC: 85.1
1: ASh #-12., R0 Evt: 0 ; Run: 1578 ; Res: 1578 ; CLC: 89.0
1: ASh #-13., R0 Evt: 0 ; Run: 1509 ; Res: 1509 ; CLC: 93.0
1: ASh #-14., R0 Evt: 0 ; Run: 1447 ; Res: 1447 ; CLC: 97.0
1: ASh #-15., R0 Evt: 0 ; Run: 1388 ; Res: 1388 ; CLC: 101.2
1: ASh #-16., R0 Evt: 0 ; Run: 1336 ; Res: 1336 ; CLC: 105.1
1: ASh #-17., R0 Evt: 0 ; Run: 1283 ; Res: 1283 ; CLC: 109.4
1: ASh #-20., R0 Evt: 0 ; Run: 1158 ; Res: 1158 ; CLC: 121.2
1: ASh #-30., R0 Evt: 0 ; Run: 871 ; Res: 871 ; CLC: 161.#
1: ASh #-31., R0 Evt: 0 ; Run: 850 ; Res: 850 ; CLC: 165.#

.RUN HX2:ASH4
ASH4 - v1.1
Memory Top: 131072
BUF words: 20981
CPU KHz: 5300 > 7020
CPU KHz: 7020
1: 0: ASh R2,R0 Evt: 0 ; Run: 5873 ; Res: 5873 ; CLC: 23.9
1: -1: ASh R2,R0 Evt: 0 ; Run: 5874 ; Res: 5874 ; CLC: 23.9
1: -2: ASh R2,R0 Evt: 0 ; Run: 5027 ; Res: 5027 ; CLC: 27.9
1: -3: ASh R2,R0 Evt: 0 ; Run: 4399 ; Res: 4399 ; CLC: 31.9
1: -4: ASh R2,R0 Evt: 0 ; Run: 3911 ; Res: 3911 ; CLC: 35.9
1: -5: ASh R2,R0 Evt: 0 ; Run: 3519 ; Res: 3519 ; CLC: 39.9
1: -6: ASh R2,R0 Evt: 0 ; Run: 3199 ; Res: 3199 ; CLC: 43.9
1: -7: ASh R2,R0 Evt: 0 ; Run: 2933 ; Res: 2933 ; CLC: 47.9
1: -8: ASh R2,R0 Evt: 0 ; Run: 2708 ; Res: 2708 ; CLC: 51.8
1: -9: ASh R2,R0 Evt: 0 ; Run: 2514 ; Res: 2514 ; CLC: 55.8
1: -10: ASh R2,R0 Evt: 0 ; Run: 2346 ; Res: 2346 ; CLC: 59.8
1: -11: ASh R2,R0 Evt: 0 ; Run: 2200 ; Res: 2200 ; CLC: 63.8
1: -12: ASh R2,R0 Evt: 0 ; Run: 2070 ; Res: 2070 ; CLC: 67.8
1: -13: ASh R2,R0 Evt: 0 ; Run: 1955 ; Res: 1955 ; CLC: 71.8
1: -14: ASh R2,R0 Evt: 0 ; Run: 1853 ; Res: 1853 ; CLC: 75.8
1: -15: ASh R2,R0 Evt: 0 ; Run: 1760 ; Res: 1760 ; CLC: 79.8
1: -16: ASh R2,R0 Evt: 0 ; Run: 1676 ; Res: 1676 ; CLC: 83.8
1: -17: ASh R2,R0 Evt: 0 ; Run: 1600 ; Res: 1600 ; CLC: 87.8
1: -20: ASh R2,R0 Evt: 0 ; Run: 1408 ; Res: 1408 ; CLC: 99.7
1: -30: ASh R2,R0 Evt: 0 ; Run: 1006 ; Res: 1006 ; CLC: 139.6
1: -31: ASh R2,R0 Evt: 0 ; Run: 978 ; Res: 978 ; CLC: 144.#

.RUN HX2:ASHC1
ASHC1 - v1.1
Memory Top: 131072
BUF words: 20991
CPU KHz: 5300 > 7020
CPU KHz: 7020
1: AShC #00., R0 Evt: 1 ; Run: 2672 ; Res: 2673 ; CLC: 52.5
1: AShC #01., R0 Evt: 1 ; Run: 2476 ; Res: 2477 ; CLC: 56.7
1: AShC #02., R0 Evt: 0 ; Run: 2316 ; Res: 2316 ; CLC: 60.6
1: AShC #03., R0 Evt: 0 ; Run: 2199 ; Res: 2199 ; CLC: 63.8
1: AShC #04., R0 Evt: 0 ; Run: 2043 ; Res: 2043 ; CLC: 68.7
1: AShC #05., R0 Evt: 0 ; Run: 1925 ; Res: 1925 ; CLC: 72.9
1: AShC #06., R0 Evt: 0 ; Run: 1834 ; Res: 1834 ; CLC: 76.6
1: AShC #07., R0 Evt: 0 ; Run: 1737 ; Res: 1737 ; CLC: 80.8
1: AShC #08., R0 Evt: 0 ; Run: 1650 ; Res: 1650 ; CLC: 85.1
1: AShC #09., R0 Evt: 0 ; Run: 1578 ; Res: 1578 ; CLC: 89.0
1: AShC #10., R0 Evt: 0 ; Run: 1509 ; Res: 1509 ; CLC: 93.0
1: AShC #11., R0 Evt: 0 ; Run: 1447 ; Res: 1447 ; CLC: 97.0
1: AShC #12., R0 Evt: 0 ; Run: 1388 ; Res: 1388 ; CLC: 101.2
1: AShC #13., R0 Evt: 0 ; Run: 1336 ; Res: 1336 ; CLC: 105.1
1: AShC #14., R0 Evt: 0 ; Run: 1283 ; Res: 1283 ; CLC: 109.4
1: AShC #15., R0 Evt: 0 ; Run: 1237 ; Res: 1237 ; CLC: 113.5
1: AShC #16., R0 Evt: 0 ; Run: 1197 ; Res: 1197 ; CLC: 117.3
1: AShC #17., R0 Evt: 0 ; Run: 1158 ; Res: 1158 ; CLC: 121.2
1: AShC #20., R0 Evt: 0 ; Run: 1056 ; Res: 1056 ; CLC: 133.0
1: AShC #30., R0 Evt: 0 ; Run: 811 ; Res: 811 ; CLC: 173.#
1: AShC #31., R0 Evt: 0 ; Run: 793 ; Res: 793 ; CLC: 177.#

.RUN HX2:ASHC3
ASHC3 - v1.1
Memory Top: 131072
BUF words: 20986
CPU KHz: 5300 > 7020
CPU KHz: 7020
1: 0: AShC R2,R0 Evt: 0 ; Run: 4404 ; Res: 4404 ; CLC: 31.9
1: 1: AShC R2,R0 Evt: 0 ; Run: 3914 ; Res: 3914 ; CLC: 35.9
1: 2: AShC R2,R0 Evt: 0 ; Run: 3520 ; Res: 3520 ; CLC: 39.9
1: 3: AShC R2,R0 Evt: 0 ; Run: 3200 ; Res: 3200 ; CLC: 43.9
1: 4: AShC R2,R0 Evt: 0 ; Run: 2934 ; Res: 2934 ; CLC: 47.9
1: 5: AShC R2,R0 Evt: 0 ; Run: 2708 ; Res: 2708 ; CLC: 51.8
1: 6: AShC R2,R0 Evt: 0 ; Run: 2514 ; Res: 2514 ; CLC: 55.8
1: 7: AShC R2,R0 Evt: 0 ; Run: 2347 ; Res: 2347 ; CLC: 59.8
1: 8: AShC R2,R0 Evt: 0 ; Run: 2200 ; Res: 2200 ; CLC: 63.8
1: 9: AShC R2,R0 Evt: 0 ; Run: 2071 ; Res: 2071 ; CLC: 67.8
1: 10: AShC R2,R0 Evt: 0 ; Run: 1956 ; Res: 1956 ; CLC: 71.8
1: 11: AShC R2,R0 Evt: 0 ; Run: 1853 ; Res: 1853 ; CLC: 75.8
1: 12: AShC R2,R0 Evt: 0 ; Run: 1760 ; Res: 1760 ; CLC: 79.8
1: 13: AShC R2,R0 Evt: 0 ; Run: 1676 ; Res: 1676 ; CLC: 83.8
1: 14: AShC R2,R0 Evt: 0 ; Run: 1600 ; Res: 1600 ; CLC: 87.8
1: 15: AShC R2,R0 Evt: 0 ; Run: 1531 ; Res: 1531 ; CLC: 91.7
1: 16: AShC R2,R0 Evt: 0 ; Run: 1467 ; Res: 1467 ; CLC: 95.7
1: 17: AShC R2,R0 Evt: 0 ; Run: 1408 ; Res: 1408 ; CLC: 99.7
1: 20: AShC R2,R0 Evt: 0 ; Run: 1257 ; Res: 1257 ; CLC: 111.7
1: 30: AShC R2,R0 Evt: 0 ; Run: 927 ; Res: 927 ; CLC: 152.#
1: 31: AShC R2,R0 Evt: 0 ; Run: 903 ; Res: 903 ; CLC: 156.#

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

1: Nop Evt: 9 ; Run: 11721 ; Res: 11730 ; CLC: 12.0
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 1100 ; Res: 1100 ; CLC: 127.6
1: Div R2, R1 Evt: 0 ; Run: 1100 ; Res: 1100 ; CLC: 127.6
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 1136 ; Res: 1136 ; CLC: 123.6
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 1100 ; Res: 1100 ; CLC: 127.6
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 1100 ; Res: 1100 ; CLC: 127.6

Program completed.

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

SOB Loops: 5420 ; CLC: 25.9
Loop Loops: 1585 ; CLC: 62.7
Loop +Interrupt Loops: 764 ; CLC: 157.9
IOT Loops: 1102 ; CLC: 101.5
Trap Loops: 1101 ; CLC: 101.6
JSR PC, (R0) Loops: 2112 ; CLC: 40.6
JSR R0, (PC) Loops: 2113 ; CLC: 40.5
JSR PC, (PC) Loops: 2112 ; CLC: 40.6
JSR PC, (PC)+ Loops: 2112 ; CLC: 40.6
JSR PC,@(PC)+ Loops: 1993 ; CLC: 44.5
JSR PC,@(R0)+ Loops: 1741 ; CLC: 54.7
JSR PC,@(SP)+ Loops: 1739 ; CLC: 54.8
JSR PC,@-(R0) Loops: 1741 ; CLC: 54.7
JSR R1,@-(R0) Loops: 1741 ; CLC: 54.7
JSR PC, Label Loops: 1994 ; CLC: 44.5
JSR PC,@Var Loops: 1701 ; CLC: 56.6
JSR R1,@x(R0) Loops: 1701 ; CLC: 56.6

palsw
13.03.2014, 01:08
продолжение...

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

1: Nop Evt: 19 ; Run: 11709 ; Res: 11728 ; CLC: 12.0
1: Mov R0, R0 Evt: 23 ; Run: 13814 ; Res: 13837 ; CLC: 10.1
1: Mov R0, (PC) Evt: 7 ; Run: 4082 ; Res: 4089 ; CLC: 34.3
1: MovB R0, (PC) Evt: 6 ; Run: 3288 ; Res: 3294 ; CLC: 42.6
1: Mov (PC), R0 Evt: 7 ; Run: 4099 ; Res: 4106 ; CLC: 34.2
1: MovB (PC), R0 Evt: 6 ; Run: 4100 ; Res: 4106 ; CLC: 34.2
::: SP = PC :::
1: Mov R0, (SP)+ Evt: 4 ; Run: 2377 ; Res: 2381 ; CLC: 59.0
1: MovB R0, (SP)+ Evt: 4 ; Run: 2088 ; Res: 2092 ; CLC: 67.1
1: Mov (SP),(SP)+ Evt: 3 ; Run: 1866 ; Res: 1869 ; CLC: 75.1
1: MovB (SP),(SP)+ Evt: 3 ; Run: 1724 ; Res: 1727 ; CLC: 81.3

Program completed.

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

1: Nop Evt: 20 ; Run: 11719 ; Res: 11739 ; CLC: 12.0
1: RtS PC Evt: 7 ; Run: 4083 ; Res: 4090 ; CLC: 34.3
1: RtS R0 Evt: 7 ; Run: 4087 ; Res: 4094 ; CLC: 34.3
1: RtS R1 Evt: 7 ; Run: 4086 ; Res: 4093 ; CLC: 34.3
1: RtI Evt: 4 ; Run: 2321 ; Res: 2325 ; CLC: 60.4
1: RtT Evt: 4 ; Run: 2321 ; Res: 2325 ; CLC: 60.4

Program completed.

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

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 71 70 70 82
BiS -(R1) 24 46 46 58 48 60 58 58 70
BiS @-(R1) 36 58 58 70 60 71 70 70 82
BiS Addr 36 58 58 70 58 70 70 68 81
BiS @Tab(R1) 47 70 70 81 70 81 81 80 93

Program completed.

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

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

Cmp R1 10 24 24 36 24 36 36 28 47
Cmp (R1) 24 38 38 50 40 51 50 42 62
Cmp (R2)+ 24 38 38 50 40 51 50 42 62
Cmp (PC)+ 24 38 38 50 38 50 50 42 62
Cmp @(R2)+ 36 50 50 62 51 63 62 54 73
Cmp -(R1) 24 38 38 50 40 51 50 42 62
Cmp @-(R1) 36 50 50 62 51 63 62 54 73
Cmp Addr 36 50 50 62 50 62 62 54 73
Cmp @Tab(R1) 47 62 62 73 62 73 73 65 85

Program completed.

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

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 63 62 62 74
Mov -(R1) 24 40 40 50 40 52 50 50 62
Mov @-(R1) 36 52 52 62 52 63 62 62 74
Mov Addr 36 50 50 62 50 62 62 60 74
Mov @Tab(R1) 47 62 62 74 62 74 74 72 85

Program completed.

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

SOB : 25 ! Last SOB : 15 ! 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 47
TstB 10 24 24 36 24 36 36 34 47
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 31 31 44 31 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.



половину осилил :)

Patron
13.03.2014, 01:44
половину осилилОтлично!

form
13.03.2014, 06:30
Давненько что-то новых тестов не было - чего бы еще померять? :)
Если будут силы, соберу LSI-11/73 на второй корзине - померяю его еще...

MiX
13.03.2014, 07:21
Patron, Я все топики темы не читал, МС1201.3 надо прогнать?

Patron
13.03.2014, 12:05
МС1201.3 надо прогнать?Конечно!
Чем больше тестов - тем лучше. Только при определении частоты процессора при помощи PDPCLK.SAV нужно ввести значение Factor > 3 вместо 4.

---------- Post added at 11:05 ---------- Previous post was at 11:01 ----------


Давненько что-то новых тестов не было - чего бы еще померять?Можно прогнать циклические тесты ( OP1.SAV, MOV.SAV, MOVB.SAV, CMP.SAV, CMPB.SAV, ADD.SAV, BIS.SAV, BISB.SAV ) на 11/83 при отключенном кеше.

form
13.03.2014, 12:42
.AS D10 DK

.VDT

VDT V05.07
*177746/000000 14
*^C

.RU OP1
Op1 - v1.1
CPU KHz: 18000 >

SOB : 48 ! Last SOB : 26 ! Br : 44 ! BCS : 22 ! BCC : 44 ! SeC : 26

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

Tst 18 40 40 62 44 66 62 36 84
TstB 18 40 40 62 44 66 62 36 84
Inc 18 55 54 77 60 81 76 82 98
IncB 18 58 58 81 63 86 81 82 103
Clr 18 38 37 59 42 64 59 64 81
ClrB 18 41 41 64 45 67 63 64 86
MTPS 46 68 68 90 72 94 90 64 112
MFPS 18 41 41 64 45 67 63 64 86
XOr 18 55 54 77 60 81 76 82 98
SwaB 18 55 54 77 60 81 76 82 98
SXt 18 38 37 59 42 64 59 64 81

Program completed.


Кстати при замерах байтовой адресации интересно сравнить четный-нечетный адрес...

---------- Post added at 15:28 ---------- Previous post was at 15:28 ----------


.RU MOV
Mov - v1.1
CPU KHz: 18000 >

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

Mov R1 18 38 37 59 42 64 59 64 81
Mov (R1) 40 59 58 82 65 86 81 86 104
Mov (R2)+ 40 59 59 82 65 86 81 86 104
Mov (PC)+ 36 56 55 76 60 81 104 82 99
Mov @(R2)+ 62 82 82 104 86 107 104 108 125
Mov -(R1) 44 64 63 86 67 89 86 90 107
Mov @-(R1) 66 86 86 107 89 112 107 112 130
Mov Addr 62 82 82 103 86 107 130 108 126
Mov @Tab(R1) 84 104 104 125 108 130 152 130 148

Program completed.

.RU MOVB
MovB - v1.1
CPU KHz: 18000 >

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

MovB R1 18 41 41 64 45 67 63 64 87
MovB (R1) 40 64 64 86 67 89 86 87 108
MovB (R4)+ 40 64 63 86 67 89 86 87 108
MovB (PC)+ 36 58 59 82 64 87 105 82 104
MovB @(R2)+ 62 86 86 107 89 112 107 108 130
MovB -(R1) 44 67 67 89 71 93 89 90 112
MovB @-(R3) 66 89 89 112 93 115 111 112 134
MovB Addr 62 86 86 108 89 112 130 108 130
MovB @Tab(R3) 84 107 107 130 112 134 153 130 152

Program completed.


---------- Post added at 15:31 ---------- Previous post was at 15:28 ----------


.RU CMP
Cmp - v1.1
CPU KHz: 18000 >

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

Cmp R1 18 44 44 66 48 70 66 40 88
Cmp (R1) 40 66 66 88 70 92 88 62 110
Cmp (R2)+ 40 66 66 88 70 92 88 62 110
Cmp (PC)+ 36 62 62 84 66 88 84 58 106
Cmp @(R2)+ 62 88 88 110 92 114 110 84 132
Cmp -(R1) 44 70 70 92 74 96 92 66 114
Cmp @-(R1) 66 92 92 114 96 118 114 88 136
Cmp Addr 62 88 88 110 92 114 110 84 132
Cmp @Tab(R1) 84 110 110 132 114 136 132 106 154

Program completed.

.RU CMPB
CmpB - v1.1
CPU KHz: 18000 >

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

CmpB R1 18 44 44 66 48 70 66 40 88
CmpB (R1) 40 66 66 88 70 92 88 62 110
CmpB (R4)+ 40 66 66 88 70 92 88 62 110
CmpB (PC)+ 36 62 62 84 66 88 84 58 106
CmpB @(R2)+ 62 88 88 110 92 114 110 84 132
CmpB -(R1) 44 70 70 92 74 96 92 66 114
CmpB @-(R3) 66 92 92 114 96 118 114 88 136
CmpB Addr 62 88 88 110 92 114 110 84 132
CmpB @Tab(R3) 84 110 110 132 114 136 132 106 154

Program completed.

---------- Post added at 15:39 ---------- Previous post was at 15:31 ----------


.RU BIS
BiS - v1.1
CPU KHz: 18000 >

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

BiS R1 18 55 54 77 60 81 76 82 98
BiS (R1) 40 77 76 99 82 104 99 104 121
BiS (R2)+ 40 77 77 99 82 104 99 104 121
BiS (PC)+ 36 74 73 94 77 98 122 100 117
BiS @(R2)+ 62 99 99 121 104 126 121 126 143
BiS -(R1) 44 81 80 104 86 107 104 108 125
BiS @-(R1) 66 104 103 126 107 130 125 130 147
BiS Addr 62 100 99 120 104 125 148 126 144
BiS @Tab(R1) 84 122 121 143 126 147 171 148 166

Program completed.

.RU BISB
BiSB - v1.1
CPU KHz: 18000 >

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

BiSB R1 18 58 58 81 63 86 81 82 104
BiSB (R1) 40 81 81 104 86 107 104 104 126
BiSB (R4)+ 40 81 81 104 86 107 104 104 126
BiSB (PC)+ 36 76 77 99 81 104 123 100 122
BiSB @(R2)+ 62 104 104 126 107 130 125 126 148
BiSB -(R1) 44 86 86 107 88 111 106 108 130
BiSB @-(R3) 66 107 107 130 111 133 130 130 152
BiSB Addr 62 103 104 127 107 130 148 127 147
BiSB @Tab(R3) 84 125 126 148 130 152 171 148 170

Program completed.

---------- Post added at 15:42 ---------- Previous post was at 15:39 ----------


.RU ADD
Add - v1.1
CPU KHz: 18000 >

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

Add R1 18 55 54 77 60 81 76 82 98
Add (R1) 40 77 76 99 82 104 99 104 121
Add (R2)+ 40 77 77 99 82 104 99 104 121
Add (PC)+ 36 74 73 94 77 98 122 100 117
Add @(R2)+ 62 99 99 121 104 126 121 126 143
Add -(R1) 44 81 80 104 86 107 104 108 125
Add @-(R1) 66 104 103 126 107 130 125 130 147
Add Addr 62 100 99 120 104 125 148 126 144
Add @Tab(R1) 84 122 121 143 126 147 171 148 166

Program completed.

MiX
13.03.2014, 13:31
Что-то непонятно какие тесты для ВМ1,2 а какие для вм3.


==================== Протокол начат: 13/03/2014 13:17:13 =====================


ASH - v1.1
Memory Top: 126370
BUF words: 20508
CPU KHz: 5300 >

1: Nop Evt: 20 ; Run: 18419 ; Res: 18439 ; CLC: 5.7
R2 = 0
1: ASh R2, R0 Evt: 0 ; Run: 3748 ; Res: 3748 ; CLC: 28.3
R2 = 1
1: ASh R2, R0 Evt: 0 ; Run: 3749 ; Res: 3749 ; CLC: 28.3
R2 = 8
1: ASh R2, R0 Evt: 0 ; Run: 1873 ; Res: 1873 ; CLC: 56.6
R2 = -1
1: ASh R2, R0 Evt: 0 ; Run: 2914 ; Res: 2914 ; CLC: 36.4
R2 = -8
1: ASh R2, R0 Evt: 0 ; Run: 1639 ; Res: 1639 ; CLC: 64.7

Program completed.

.RUN ASH1
ASH1 - v1.1
Memory Top: 126370
BUF words: 20311
CPU KHz: 5300 >
1: ASh #00., R0 Evt: 1 ; Run: 2807 ; Res: 2808 ; CLC: 37.7
1: ASh #01., R0 Evt: 1 ; Run: 2807 ; Res: 2808 ; CLC: 37.7
1: ASh #02., R0 Evt: 1 ; Run: 2538 ; Res: 2539 ; CLC: 41.7
1: ASh #03., R0 Evt: 1 ; Run: 2314 ; Res: 2315 ; CLC: 45.8
1: ASh #04., R0 Evt: 1 ; Run: 2126 ; Res: 2127 ; CLC: 49.8
1: ASh #05., R0 Evt: 0 ; Run: 1967 ; Res: 1967 ; CLC: 53.9
1: ASh #06., R0 Evt: 0 ; Run: 1829 ; Res: 1829 ; CLC: 58.0
1: ASh #07., R0 Evt: 0 ; Run: 1710 ; Res: 1710 ; CLC: 62.0
1: ASh #08., R0 Evt: 0 ; Run: 1605 ; Res: 1605 ; CLC: 66.0
1: ASh #09., R0 Evt: 0 ; Run: 1513 ; Res: 1513 ; CLC: 70.1
1: ASh #10., R0 Evt: 0 ; Run: 1430 ; Res: 1430 ; CLC: 74.1
1: ASh #11., R0 Evt: 0 ; Run: 1356 ; Res: 1356 ; CLC: 78.2
1: ASh #12., R0 Evt: 0 ; Run: 1290 ; Res: 1290 ; CLC: 82.2
1: ASh #13., R0 Evt: 0 ; Run: 1229 ; Res: 1229 ; CLC: 86.2
1: ASh #14., R0 Evt: 0 ; Run: 1174 ; Res: 1174 ; CLC: 90.3
1: ASh #15., R0 Evt: 0 ; Run: 1124 ; Res: 1124 ; CLC: 94.3
1: ASh #16., R0 Evt: 0 ; Run: 1078 ; Res: 1078 ; CLC: 98.3
1: ASh #17., R0 Evt: 0 ; Run: 1035 ; Res: 1035 ; CLC: 102.4
1: ASh #20., R0 Evt: 0 ; Run: 926 ; Res: 926 ; CLC: 115.#
1: ASh #30., R0 Evt: 0 ; Run: 685 ; Res: 685 ; CLC: 155.#
1: ASh #31., R0 Evt: 0 ; Run: 667 ; Res: 667 ; CLC: 159.#

.RUN ASH2
ASH2 - v1.1
Memory Top: 126370
BUF words: 20307
CPU KHz: 5300 >
1: ASh #000., R0 Evt: 1 ; Run: 2807 ; Res: 2808 ; CLC: 37.7
1: ASh #-01., R0 Evt: 1 ; Run: 2300 ; Res: 2301 ; CLC: 46.1
1: ASh #-02., R0 Evt: 1 ; Run: 2127 ; Res: 2128 ; CLC: 49.8
1: ASh #-03., R0 Evt: 0 ; Run: 1967 ; Res: 1967 ; CLC: 53.9
1: ASh #-04., R0 Evt: 0 ; Run: 1830 ; Res: 1830 ; CLC: 57.9
1: ASh #-05., R0 Evt: 0 ; Run: 1710 ; Res: 1710 ; CLC: 62.0
1: ASh #-06., R0 Evt: 0 ; Run: 1606 ; Res: 1606 ; CLC: 66.0
1: ASh #-07., R0 Evt: 0 ; Run: 1513 ; Res: 1513 ; CLC: 70.1
1: ASh #-08., R0 Evt: 0 ; Run: 1430 ; Res: 1430 ; CLC: 74.1
1: ASh #-09., R0 Evt: 0 ; Run: 1357 ; Res: 1357 ; CLC: 78.1
1: ASh #-10., R0 Evt: 0 ; Run: 1290 ; Res: 1290 ; CLC: 82.2
1: ASh #-11., R0 Evt: 0 ; Run: 1229 ; Res: 1229 ; CLC: 86.2
1: ASh #-12., R0 Evt: 0 ; Run: 1174 ; Res: 1174 ; CLC: 90.3
1: ASh #-13., R0 Evt: 0 ; Run: 1124 ; Res: 1124 ; CLC: 94.3
1: ASh #-14., R0 Evt: 0 ; Run: 1078 ; Res: 1078 ; CLC: 98.3
1: ASh #-15., R0 Evt: 0 ; Run: 1035 ; Res: 1035 ; CLC: 102.4
1: ASh #-16., R0 Evt: 0 ; Run: 996 ; Res: 996 ; CLC: 107.#
1: ASh #-17., R0 Evt: 0 ; Run: 960 ; Res: 960 ; CLC: 111.#
1: ASh #-20., R0 Evt: 0 ; Run: 865 ; Res: 865 ; CLC: 123.#
1: ASh #-30., R0 Evt: 0 ; Run: 651 ; Res: 651 ; CLC: 163.#
1: ASh #-31., R0 Evt: 0 ; Run: 635 ; Res: 635 ; CLC: 167.#

.RUN ASH3
ASH3 - v1.1
Memory Top: 126370
BUF words: 20314
CPU KHz: 5300 >
1: 0: ASh R2,R0 Evt: 0 ; Run: 3748 ; Res: 3748 ; CLC: 28.3
1: 1: ASh R2,R0 Evt: 0 ; Run: 3748 ; Res: 3748 ; CLC: 28.3
1: 2: ASh R2,R0 Evt: 0 ; Run: 3279 ; Res: 3279 ; CLC: 32.3
1: 3: ASh R2,R0 Evt: 0 ; Run: 2914 ; Res: 2914 ; CLC: 36.4
1: 4: ASh R2,R0 Evt: 0 ; Run: 2623 ; Res: 2623 ; CLC: 40.4
1: 5: ASh R2,R0 Evt: 0 ; Run: 2384 ; Res: 2384 ; CLC: 44.5
1: 6: ASh R2,R0 Evt: 0 ; Run: 2185 ; Res: 2185 ; CLC: 48.5
1: 7: ASh R2,R0 Evt: 0 ; Run: 2017 ; Res: 2017 ; CLC: 52.6
1: 8: ASh R2,R0 Evt: 0 ; Run: 1873 ; Res: 1873 ; CLC: 56.6
1: 9: ASh R2,R0 Evt: 0 ; Run: 1748 ; Res: 1748 ; CLC: 60.6
1: 10: ASh R2,R0 Evt: 0 ; Run: 1639 ; Res: 1639 ; CLC: 64.7
1: 11: ASh R2,R0 Evt: 0 ; Run: 1542 ; Res: 1542 ; CLC: 68.7
1: 12: ASh R2,R0 Evt: 0 ; Run: 1457 ; Res: 1457 ; CLC: 72.8
1: 13: ASh R2,R0 Evt: 0 ; Run: 1380 ; Res: 1380 ; CLC: 76.8
1: 14: ASh R2,R0 Evt: 0 ; Run: 1311 ; Res: 1311 ; CLC: 80.9
1: 15: ASh R2,R0 Evt: 0 ; Run: 1249 ; Res: 1249 ; CLC: 84.9
1: 16: ASh R2,R0 Evt: 0 ; Run: 1192 ; Res: 1192 ; CLC: 88.9
1: 17: ASh R2,R0 Evt: 0 ; Run: 1140 ; Res: 1140 ; CLC: 93.0
1: 20: ASh R2,R0 Evt: 0 ; Run: 1009 ; Res: 1009 ; CLC: 105.1
1: 30: ASh R2,R0 Evt: 0 ; Run: 729 ; Res: 729 ; CLC: 146.#
1: 31: ASh R2,R0 Evt: 0 ; Run: 709 ; Res: 709 ; CLC: 150.#

.RUN ASH4
ASH4 - v1.1
Memory Top: 126370
BUF words: 20308
CPU KHz: 5300 >
1: 0: ASh R2,R0 Evt: 0 ; Run: 3748 ; Res: 3748 ; CLC: 28.3
1: -1: ASh R2,R0 Evt: 0 ; Run: 2914 ; Res: 2914 ; CLC: 36.4
1: -2: ASh R2,R0 Evt: 0 ; Run: 2622 ; Res: 2622 ; CLC: 40.4
1: -3: ASh R2,R0 Evt: 0 ; Run: 2384 ; Res: 2384 ; CLC: 44.5
1: -4: ASh R2,R0 Evt: 0 ; Run: 2185 ; Res: 2185 ; CLC: 48.5
1: -5: ASh R2,R0 Evt: 0 ; Run: 2017 ; Res: 2017 ; CLC: 52.6
1: -6: ASh R2,R0 Evt: 0 ; Run: 1873 ; Res: 1873 ; CLC: 56.6
1: -7: ASh R2,R0 Evt: 0 ; Run: 1748 ; Res: 1748 ; CLC: 60.6
1: -8: ASh R2,R0 Evt: 0 ; Run: 1639 ; Res: 1639 ; CLC: 64.7
1: -9: ASh R2,R0 Evt: 0 ; Run: 1542 ; Res: 1542 ; CLC: 68.7
1: -10: ASh R2,R0 Evt: 0 ; Run: 1457 ; Res: 1457 ; CLC: 72.8
1: -11: ASh R2,R0 Evt: 0 ; Run: 1380 ; Res: 1380 ; CLC: 76.8
1: -12: ASh R2,R0 Evt: 0 ; Run: 1311 ; Res: 1311 ; CLC: 80.9
1: -13: ASh R2,R0 Evt: 0 ; Run: 1249 ; Res: 1249 ; CLC: 84.9
1: -14: ASh R2,R0 Evt: 0 ; Run: 1192 ; Res: 1192 ; CLC: 88.9
1: -15: ASh R2,R0 Evt: 0 ; Run: 1140 ; Res: 1140 ; CLC: 93.0
1: -16: ASh R2,R0 Evt: 0 ; Run: 1093 ; Res: 1093 ; CLC: 97.0
1: -17: ASh R2,R0 Evt: 0 ; Run: 1049 ; Res: 1049 ; CLC: 101.0
1: -20: ASh R2,R0 Evt: 0 ; Run: 937 ; Res: 937 ; CLC: 113.#
1: -30: ASh R2,R0 Evt: 0 ; Run: 690 ; Res: 690 ; CLC: 154.#
1: -31: ASh R2,R0 Evt: 0 ; Run: 673 ; Res: 673 ; CLC: 158.#

MiX
13.03.2014, 13:55
ASHC

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

1: Nop Evt: 20 ; Run: 18398 ; Res: 18418 ; CLC: 5.8
R2 = 0
1: AShC R2, R0 Evt: 0 ; Run: 3275 ; Res: 3275 ; CLC: 32.4
1: AShC R2, R1 Evt: 0 ; Run: 3275 ; Res: 3275 ; CLC: 32.4
R2 = 1
1: AShC R2, R0 Evt: 0 ; Run: 3275 ; Res: 3275 ; CLC: 32.4
1: AShC R2, R1 Evt: 0 ; Run: 3275 ; Res: 3275 ; CLC: 32.4
R2 = 8
1: AShC R2, R0 Evt: 0 ; Run: 1746 ; Res: 1746 ; CLC: 60.7
1: AShC R2, R1 Evt: 0 ; Run: 1746 ; Res: 1746 ; CLC: 60.7
R2 = -1
1: AShC R2, R0 Evt: 0 ; Run: 2619 ; Res: 2619 ; CLC: 40.5
1: AShC R2, R1 Evt: 0 ; Run: 2619 ; Res: 2619 ; CLC: 40.5
R2 = -8
1: AShC R2, R0 Evt: 0 ; Run: 1540 ; Res: 1540 ; CLC: 68.8
1: AShC R2, R1 Evt: 0 ; Run: 1540 ; Res: 1540 ; CLC: 68.8

Program completed.

.RUN ASHC1
ASHC1 - v1.1
Memory Top: 126370
BUF words: 20318
CPU KHz: 5300 >
1: AShC #00., R0 Evt: 1 ; Run: 2529 ; Res: 2530 ; CLC: 41.9
1: AShC #01., R0 Evt: 1 ; Run: 2510 ; Res: 2511 ; CLC: 42.2
1: AShC #02., R0 Evt: 1 ; Run: 2311 ; Res: 2312 ; CLC: 45.8
1: AShC #03., R0 Evt: 1 ; Run: 2124 ; Res: 2125 ; CLC: 49.9
1: AShC #04., R0 Evt: 0 ; Run: 1965 ; Res: 1965 ; CLC: 53.9
1: AShC #05., R0 Evt: 0 ; Run: 1827 ; Res: 1827 ; CLC: 58.0
1: AShC #06., R0 Evt: 0 ; Run: 1708 ; Res: 1708 ; CLC: 62.1
1: AShC #07., R0 Evt: 0 ; Run: 1604 ; Res: 1604 ; CLC: 66.1
1: AShC #08., R0 Evt: 0 ; Run: 1511 ; Res: 1511 ; CLC: 70.2
1: AShC #09., R0 Evt: 0 ; Run: 1429 ; Res: 1429 ; CLC: 74.2
1: AShC #10., R0 Evt: 0 ; Run: 1355 ; Res: 1355 ; CLC: 78.2
1: AShC #11., R0 Evt: 0 ; Run: 1288 ; Res: 1288 ; CLC: 82.3
1: AShC #12., R0 Evt: 0 ; Run: 1228 ; Res: 1228 ; CLC: 86.3
1: AShC #13., R0 Evt: 0 ; Run: 1173 ; Res: 1173 ; CLC: 90.4
1: AShC #14., R0 Evt: 0 ; Run: 1123 ; Res: 1123 ; CLC: 94.4
1: AShC #15., R0 Evt: 0 ; Run: 1077 ; Res: 1077 ; CLC: 98.4
1: AShC #16., R0 Evt: 0 ; Run: 1034 ; Res: 1034 ; CLC: 102.5
1: AShC #17., R0 Evt: 0 ; Run: 995 ; Res: 995 ; CLC: 107.#
1: AShC #20., R0 Evt: 0 ; Run: 893 ; Res: 893 ; CLC: 119.#
1: AShC #30., R0 Evt: 0 ; Run: 666 ; Res: 666 ; CLC: 159.#
1: AShC #31., R0 Evt: 0 ; Run: 650 ; Res: 650 ; CLC: 163.#

.RUN ASHC2
ASHC2 - v1.1
Memory Top: 126370
BUF words: 20315
CPU KHz: 5300 >
1: AShC #000., R0 Evt: 1 ; Run: 2533 ; Res: 2534 ; CLC: 41.8
1: AShC #-01., R0 Evt: 0 ; Run: 2119 ; Res: 2119 ; CLC: 50.0
1: AShC #-02., R0 Evt: 0 ; Run: 1965 ; Res: 1965 ; CLC: 53.9
1: AShC #-03., R0 Evt: 0 ; Run: 1828 ; Res: 1828 ; CLC: 58.0
1: AShC #-04., R0 Evt: 0 ; Run: 1708 ; Res: 1708 ; CLC: 62.1
1: AShC #-05., R0 Evt: 0 ; Run: 1604 ; Res: 1604 ; CLC: 66.1
1: AShC #-06., R0 Evt: 0 ; Run: 1511 ; Res: 1511 ; CLC: 70.2
1: AShC #-07., R0 Evt: 0 ; Run: 1429 ; Res: 1429 ; CLC: 74.2
1: AShC #-08., R0 Evt: 0 ; Run: 1355 ; Res: 1355 ; CLC: 78.2
1: AShC #-09., R0 Evt: 0 ; Run: 1288 ; Res: 1288 ; CLC: 82.3
1: AShC #-10., R0 Evt: 0 ; Run: 1228 ; Res: 1228 ; CLC: 86.3
1: AShC #-11., R0 Evt: 0 ; Run: 1173 ; Res: 1173 ; CLC: 90.4
1: AShC #-12., R0 Evt: 0 ; Run: 1123 ; Res: 1123 ; CLC: 94.4
1: AShC #-13., R0 Evt: 0 ; Run: 1077 ; Res: 1077 ; CLC: 98.4
1: AShC #-14., R0 Evt: 0 ; Run: 1034 ; Res: 1034 ; CLC: 102.5
1: AShC #-15., R0 Evt: 0 ; Run: 995 ; Res: 995 ; CLC: 107.#
1: AShC #-16., R0 Evt: 0 ; Run: 959 ; Res: 959 ; CLC: 111.#
1: AShC #-17., R0 Evt: 0 ; Run: 925 ; Res: 925 ; CLC: 115.#
1: AShC #-20., R0 Evt: 0 ; Run: 836 ; Res: 836 ; CLC: 127.#
1: AShC #-30., R0 Evt: 0 ; Run: 634 ; Res: 634 ; CLC: 167.#
1: AShC #-31., R0 Evt: 0 ; Run: 619 ; Res: 619 ; CLC: 172.#

.RUN ASHC3
ASHC3 - v1.1
Memory Top: 126370
BUF words: 20313
CPU KHz: 5300 >
1: 0: AShC R2,R0 Evt: 0 ; Run: 3275 ; Res: 3275 ; CLC: 32.4
1: 1: AShC R2,R0 Evt: 0 ; Run: 3275 ; Res: 3275 ; CLC: 32.4
1: 2: AShC R2,R0 Evt: 0 ; Run: 2911 ; Res: 2911 ; CLC: 36.4
1: 3: AShC R2,R0 Evt: 0 ; Run: 2619 ; Res: 2619 ; CLC: 40.5
1: 4: AShC R2,R0 Evt: 0 ; Run: 2381 ; Res: 2381 ; CLC: 44.5
1: 5: AShC R2,R0 Evt: 0 ; Run: 2183 ; Res: 2183 ; CLC: 48.6
1: 6: AShC R2,R0 Evt: 0 ; Run: 2015 ; Res: 2015 ; CLC: 52.6
1: 7: AShC R2,R0 Evt: 0 ; Run: 1871 ; Res: 1871 ; CLC: 56.7
1: 8: AShC R2,R0 Evt: 0 ; Run: 1746 ; Res: 1746 ; CLC: 60.7
1: 9: AShC R2,R0 Evt: 0 ; Run: 1637 ; Res: 1637 ; CLC: 64.8
1: 10: AShC R2,R0 Evt: 0 ; Run: 1541 ; Res: 1541 ; CLC: 68.8
1: 11: AShC R2,R0 Evt: 0 ; Run: 1455 ; Res: 1455 ; CLC: 72.9
1: 12: AShC R2,R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 76.9
1: 13: AShC R2,R0 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 81.0
1: 14: AShC R2,R0 Evt: 0 ; Run: 1247 ; Res: 1247 ; CLC: 85.0
1: 15: AShC R2,R0 Evt: 0 ; Run: 1191 ; Res: 1191 ; CLC: 89.0
1: 16: AShC R2,R0 Evt: 0 ; Run: 1139 ; Res: 1139 ; CLC: 93.1
1: 17: AShC R2,R0 Evt: 0 ; Run: 1091 ; Res: 1091 ; CLC: 97.2
1: 20: AShC R2,R0 Evt: 0 ; Run: 970 ; Res: 970 ; CLC: 109.#
1: 30: AShC R2,R0 Evt: 0 ; Run: 708 ; Res: 708 ; CLC: 150.#
1: 31: AShC R2,R0 Evt: 0 ; Run: 690 ; Res: 690 ; CLC: 154.#

.RUN ASHC4
ASHC4 - v1.1
Memory Top: 126370
BUF words: 20307
CPU KHz: 5300 >
1: 0: AShC R2,R0 Evt: 0 ; Run: 3275 ; Res: 3275 ; CLC: 32.4
1: -1: AShC R2,R0 Evt: 0 ; Run: 2619 ; Res: 2619 ; CLC: 40.5
1: -2: AShC R2,R0 Evt: 0 ; Run: 2381 ; Res: 2381 ; CLC: 44.5
1: -3: AShC R2,R0 Evt: 0 ; Run: 2182 ; Res: 2182 ; CLC: 48.6
1: -4: AShC R2,R0 Evt: 0 ; Run: 2014 ; Res: 2014 ; CLC: 52.6
1: -5: AShC R2,R0 Evt: 0 ; Run: 1871 ; Res: 1871 ; CLC: 56.7
1: -6: AShC R2,R0 Evt: 0 ; Run: 1746 ; Res: 1746 ; CLC: 60.7
1: -7: AShC R2,R0 Evt: 0 ; Run: 1637 ; Res: 1637 ; CLC: 64.8
1: -8: AShC R2,R0 Evt: 0 ; Run: 1540 ; Res: 1540 ; CLC: 68.8
1: -9: AShC R2,R0 Evt: 0 ; Run: 1455 ; Res: 1455 ; CLC: 72.9
1: -10: AShC R2,R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 76.9
1: -11: AShC R2,R0 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 81.0
1: -12: AShC R2,R0 Evt: 0 ; Run: 1247 ; Res: 1247 ; CLC: 85.0
1: -13: AShC R2,R0 Evt: 0 ; Run: 1190 ; Res: 1190 ; CLC: 89.1
1: -14: AShC R2,R0 Evt: 0 ; Run: 1139 ; Res: 1139 ; CLC: 93.1
1: -15: AShC R2,R0 Evt: 0 ; Run: 1091 ; Res: 1091 ; CLC: 97.2
1: -16: AShC R2,R0 Evt: 0 ; Run: 1048 ; Res: 1048 ; CLC: 101.1
1: -17: AShC R2,R0 Evt: 0 ; Run: 1007 ; Res: 1007 ; CLC: 105.3
1: -20: AShC R2,R0 Evt: 0 ; Run: 903 ; Res: 903 ; CLC: 118.#
1: -30: AShC R2,R0 Evt: 0 ; Run: 672 ; Res: 672 ; CLC: 158.#
1: -31: AShC R2,R0 Evt: 0 ; Run: 655 ; Res: 655 ; CLC: 162.#

Patron
13.03.2014, 14:11
Так не годится - в начале каждого теста нужно указывать точное значение тактовой частоты процессора в килогерцах, иначе рассчитываемые тайминги не имеют смысла.

Для определения тактовой частоты процессора ВМ3 надо запустить программу PDPCLK.SAV, введя в ответ на вопрос значение 3.

palsw
13.03.2014, 14:16
вторая часть диска TSTSAV


.RUN HX2:ASH1
ASH1 - v1.1
Memory Top: 131072
BUF words: 20984
CPU KHz: 7020 >
1: ASh #00., R0 Evt: 2 ; Run: 3160 ; Res: 3162 ; CLC: 44.4
1: ASh #01., R0 Evt: 1 ; Run: 2898 ; Res: 2899 ; CLC: 48.4
1: ASh #02., R0 Evt: 1 ; Run: 2670 ; Res: 2671 ; CLC: 52.6
1: ASh #03., R0 Evt: 1 ; Run: 2473 ; Res: 2474 ; CLC: 56.8
1: ASh #04., R0 Evt: 1 ; Run: 2314 ; Res: 2315 ; CLC: 60.6
1: ASh #05., R0 Evt: 1 ; Run: 2198 ; Res: 2199 ; CLC: 63.8
1: ASh #06., R0 Evt: 0 ; Run: 2041 ; Res: 2041 ; CLC: 68.8
1: ASh #07., R0 Evt: 0 ; Run: 1924 ; Res: 1924 ; CLC: 73.0
1: ASh #08., R0 Evt: 0 ; Run: 1832 ; Res: 1832 ; CLC: 76.6
1: ASh #09., R0 Evt: 0 ; Run: 1736 ; Res: 1736 ; CLC: 80.9
1: ASh #10., R0 Evt: 0 ; Run: 1649 ; Res: 1649 ; CLC: 85.1
1: ASh #11., R0 Evt: 0 ; Run: 1577 ; Res: 1577 ; CLC: 89.0
1: ASh #12., R0 Evt: 0 ; Run: 1508 ; Res: 1508 ; CLC: 93.1
1: ASh #13., R0 Evt: 0 ; Run: 1446 ; Res: 1446 ; CLC: 97.1
1: ASh #14., R0 Evt: 0 ; Run: 1387 ; Res: 1387 ; CLC: 101.2
1: ASh #15., R0 Evt: 0 ; Run: 1335 ; Res: 1335 ; CLC: 105.2
1: ASh #16., R0 Evt: 0 ; Run: 1283 ; Res: 1283 ; CLC: 109.4
1: ASh #17., R0 Evt: 0 ; Run: 1237 ; Res: 1237 ; CLC: 113.5
1: ASh #20., R0 Evt: 0 ; Run: 1100 ; Res: 1100 ; CLC: 127.6
1: ASh #30., R0 Evt: 0 ; Run: 850 ; Res: 850 ; CLC: 165.#
1: ASh #31., R0 Evt: 0 ; Run: 825 ; Res: 825 ; CLC: 170.#

.RUN HX2:ASH3
ASH3 - v1.1
Memory Top: 131072
BUF words: 20987
CPU KHz: 7020 >
1: 0: ASh R2,R0 Evt: 0 ; Run: 5870 ; Res: 5870 ; CLC: 23.9
1: 1: ASh R2,R0 Evt: 0 ; Run: 5024 ; Res: 5024 ; CLC: 27.9
1: 2: ASh R2,R0 Evt: 0 ; Run: 4396 ; Res: 4396 ; CLC: 31.9
1: 3: ASh R2,R0 Evt: 0 ; Run: 3908 ; Res: 3908 ; CLC: 35.9
1: 4: ASh R2,R0 Evt: 0 ; Run: 3517 ; Res: 3517 ; CLC: 39.9
1: 5: ASh R2,R0 Evt: 0 ; Run: 3197 ; Res: 3197 ; CLC: 43.9
1: 6: ASh R2,R0 Evt: 0 ; Run: 2931 ; Res: 2931 ; CLC: 47.9
1: 7: ASh R2,R0 Evt: 0 ; Run: 2706 ; Res: 2706 ; CLC: 51.9
1: 8: ASh R2,R0 Evt: 0 ; Run: 2512 ; Res: 2512 ; CLC: 55.9
1: 9: ASh R2,R0 Evt: 0 ; Run: 2345 ; Res: 2345 ; CLC: 59.9
1: 10: ASh R2,R0 Evt: 0 ; Run: 2199 ; Res: 2199 ; CLC: 63.8
1: 11: ASh R2,R0 Evt: 0 ; Run: 2069 ; Res: 2069 ; CLC: 67.9
1: 12: ASh R2,R0 Evt: 0 ; Run: 1954 ; Res: 1954 ; CLC: 71.9
1: 13: ASh R2,R0 Evt: 0 ; Run: 1851 ; Res: 1851 ; CLC: 75.9
1: 14: ASh R2,R0 Evt: 0 ; Run: 1759 ; Res: 1759 ; CLC: 79.8
1: 15: ASh R2,R0 Evt: 0 ; Run: 1675 ; Res: 1675 ; CLC: 83.8
1: 16: ASh R2,R0 Evt: 0 ; Run: 1599 ; Res: 1599 ; CLC: 87.8
1: 17: ASh R2,R0 Evt: 0 ; Run: 1530 ; Res: 1530 ; CLC: 91.8
1: 20: ASh R2,R0 Evt: 0 ; Run: 1353 ; Res: 1353 ; CLC: 103.8
1: 30: ASh R2,R0 Evt: 0 ; Run: 977 ; Res: 977 ; CLC: 144.#
1: 31: ASh R2,R0 Evt: 0 ; Run: 951 ; Res: 951 ; CLC: 148.#

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

1: Nop Evt: 13 ; Run: 11713 ; Res: 11726 ; CLC: 12.0
R2 = 0
1: AShC R2, R0 Evt: 1 ; Run: 4400 ; Res: 4401 ; CLC: 31.9
1: AShC R2, R1 Evt: 1 ; Run: 4401 ; Res: 4402 ; CLC: 31.9
R2 = 1
1: AShC R2, R0 Evt: 1 ; Run: 3911 ; Res: 3912 ; CLC: 35.9
1: AShC R2, R1 Evt: 0 ; Run: 3911 ; Res: 3911 ; CLC: 35.9
R2 = 8
1: AShC R2, R0 Evt: 1 ; Run: 2199 ; Res: 2200 ; CLC: 63.8
1: AShC R2, R1 Evt: 1 ; Run: 2199 ; Res: 2200 ; CLC: 63.8
R2 = -1
1: AShC R2, R0 Evt: 1 ; Run: 4401 ; Res: 4402 ; CLC: 31.9
1: AShC R2, R1 Evt: 0 ; Run: 4401 ; Res: 4401 ; CLC: 31.9
R2 = -8
1: AShC R2, R0 Evt: 0 ; Run: 2345 ; Res: 2345 ; CLC: 59.9
1: AShC R2, R1 Evt: 0 ; Run: 2345 ; Res: 2345 ; CLC: 59.9

Program completed.

.RUN HX2:ASHC2
ASHC2 - v1.1
Memory Top: 131072
BUF words: 20988
CPU KHz: 7020 >
1: AShC #000., R0 Evt: 1 ; Run: 2671 ; Res: 2672 ; CLC: 52.5
1: AShC #-01., R0 Evt: 1 ; Run: 2670 ; Res: 2671 ; CLC: 52.6
1: AShC #-02., R0 Evt: 1 ; Run: 2473 ; Res: 2474 ; CLC: 56.8
1: AShC #-03., R0 Evt: 1 ; Run: 2314 ; Res: 2315 ; CLC: 60.6
1: AShC #-04., R0 Evt: 0 ; Run: 2198 ; Res: 2198 ; CLC: 63.9
1: AShC #-05., R0 Evt: 0 ; Run: 2041 ; Res: 2041 ; CLC: 68.8
1: AShC #-06., R0 Evt: 0 ; Run: 1923 ; Res: 1923 ; CLC: 73.0
1: AShC #-07., R0 Evt: 0 ; Run: 1832 ; Res: 1832 ; CLC: 76.6
1: AShC #-08., R0 Evt: 0 ; Run: 1736 ; Res: 1736 ; CLC: 80.9
1: AShC #-09., R0 Evt: 0 ; Run: 1649 ; Res: 1649 ; CLC: 85.1
1: AShC #-10., R0 Evt: 0 ; Run: 1577 ; Res: 1577 ; CLC: 89.0
1: AShC #-11., R0 Evt: 0 ; Run: 1508 ; Res: 1508 ; CLC: 93.1
1: AShC #-12., R0 Evt: 0 ; Run: 1446 ; Res: 1446 ; CLC: 97.1
1: AShC #-13., R0 Evt: 0 ; Run: 1387 ; Res: 1387 ; CLC: 101.2
1: AShC #-14., R0 Evt: 0 ; Run: 1335 ; Res: 1335 ; CLC: 105.2
1: AShC #-15., R0 Evt: 0 ; Run: 1282 ; Res: 1282 ; CLC: 109.5
1: AShC #-16., R0 Evt: 0 ; Run: 1237 ; Res: 1237 ; CLC: 113.5
1: AShC #-17., R0 Evt: 0 ; Run: 1196 ; Res: 1196 ; CLC: 117.4
1: AShC #-20., R0 Evt: 0 ; Run: 1099 ; Res: 1099 ; CLC: 127.8
1: AShC #-30., R0 Evt: 0 ; Run: 825 ; Res: 825 ; CLC: 170.#
1: AShC #-31., R0 Evt: 0 ; Run: 810 ; Res: 810 ; CLC: 174.#

.RUN HX2:ASHC4
ASHC4 - v1.1
Memory Top: 131072
BUF words: 20980
CPU KHz: 7020 > 7020
CPU KHz: 7020
1: 0: AShC R2,R0 Evt: 0 ; Run: 4399 ; Res: 4399 ; CLC: 31.9
1: -1: AShC R2,R0 Evt: 0 ; Run: 4400 ; Res: 4400 ; CLC: 31.9
1: -2: AShC R2,R0 Evt: 0 ; Run: 3910 ; Res: 3910 ; CLC: 35.9
1: -3: AShC R2,R0 Evt: 0 ; Run: 3517 ; Res: 3517 ; CLC: 39.9
1: -4: AShC R2,R0 Evt: 1 ; Run: 3198 ; Res: 3199 ; CLC: 43.9
1: -5: AShC R2,R0 Evt: 1 ; Run: 2931 ; Res: 2932 ; CLC: 47.9
1: -6: AShC R2,R0 Evt: 0 ; Run: 2706 ; Res: 2706 ; CLC: 51.9
1: -7: AShC R2,R0 Evt: 0 ; Run: 2512 ; Res: 2512 ; CLC: 55.9
1: -8: AShC R2,R0 Evt: 0 ; Run: 2345 ; Res: 2345 ; CLC: 59.9
1: -9: AShC R2,R0 Evt: 1 ; Run: 2198 ; Res: 2199 ; CLC: 63.8
1: -10: AShC R2,R0 Evt: 1 ; Run: 2069 ; Res: 2070 ; CLC: 67.8
1: -11: AShC R2,R0 Evt: 0 ; Run: 1954 ; Res: 1954 ; CLC: 71.9
1: -12: AShC R2,R0 Evt: 1 ; Run: 1851 ; Res: 1852 ; CLC: 75.8
1: -13: AShC R2,R0 Evt: 1 ; Run: 1759 ; Res: 1760 ; CLC: 79.8
1: -14: AShC R2,R0 Evt: 1 ; Run: 1675 ; Res: 1676 ; CLC: 83.8
1: -15: AShC R2,R0 Evt: 1 ; Run: 1599 ; Res: 1600 ; CLC: 87.8
1: -16: AShC R2,R0 Evt: 0 ; Run: 1529 ; Res: 1529 ; CLC: 91.8
1: -17: AShC R2,R0 Evt: 0 ; Run: 1466 ; Res: 1466 ; CLC: 95.8
1: -20: AShC R2,R0 Evt: 0 ; Run: 1303 ; Res: 1303 ; CLC: 107.8
1: -30: AShC R2,R0 Evt: 0 ; Run: 951 ; Res: 951 ; CLC: 148.#
1: -31: AShC R2,R0 Evt: 0 ; Run: 926 ; Res: 926 ; CLC: 152.#

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

SOB Loops: 5420 ; CLC: 25.9
Br Loops: 3026 ; CLC: 20.5
Jmp (R0) Loops: 2594 ; CLC: 28.2
Jmp (PC) Loops: 2596 ; CLC: 28.2
Jmp (PC)+ Loops: 2593 ; CLC: 28.2
Mov R0, PC Loops: 3017 ; CLC: 20.6
Add R0, PC Loops: 3019 ; CLC: 20.6
Jmp LABEL Loops: 2419 ; CLC: 32.1
Jmp @#Addr Loops: 2417 ; CLC: 32.2
Jmp @(R0)+ Loops: 2060 ; CLC: 42.3
Jmp @-(R0) Loops: 2060 ; CLC: 42.3
Jmp xx(R0) Loops: 2417 ; CLC: 32.2
Jmp @x(R0) Loops: 2007 ; CLC: 44.1
Jmp @Var Loops: 2006 ; CLC: 44.1

Program completed.

.RUN HX2:MOVPC1
MovPC - v1.2
CPU KHz: 7020 >

Mov (PC), (PC)+ 58.5
MovB (PC), (PC)+ 66.5
Mov (PC), R0 34.2
MovB (PC), R0 34.2
Mov (PC), (PC) 58.6
MovB (PC), (PC) 66.6
Mov (PC)+, R0 24.2
MovB (PC)+, R0 34.3
Mov R0, (PC)+ 34.3
MovB R0, (PC)+ 42.6

Program completed.

palsw
13.03.2014, 14:18
продолжение вторая часть диска TSTSAV

.RUN HX2:mul
MUL - v1.1
Memory Top: 131072
BUF words: 21102
CPU KHz: 7020 >

1: Nop Evt: 12 ; Run: 11711 ; Res: 11723 ; CLC: 12.0
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 0 ; Run: 1466 ; Res: 1466 ; CLC: 95.8
1: Mul R2, R1 Evt: 0 ; Run: 1466 ; Res: 1466 ; CLC: 95.8
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 0 ; Run: 1466 ; Res: 1466 ; CLC: 95.8
1: Mul R2, R1 Evt: 0 ; Run: 1466 ; Res: 1466 ; CLC: 95.8
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1466 ; Res: 1466 ; CLC: 95.8
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1466 ; Res: 1466 ; CLC: 95.8
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1466 ; Res: 1466 ; CLC: 95.8
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1466 ; Res: 1466 ; CLC: 95.8
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1466 ; Res: 1466 ; CLC: 95.8

.RUN HX2:ADD
Add - v1.1
CPU KHz: 7020 >

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) 47 70 70 82 70 82 82 80 93

Program completed.

.RUN HX2:BISB
BiSB - v1.1
CPU KHz: 7020 >

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) 47 70 71 82 71 82 82 80 94

Program completed.

.RUN HX2:CMPB
CmpB - v1.1
CPU KHz: 7020 >

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

CmpB R1 10 24 24 36 24 36 36 34 47
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 63 62 62 74
CmpB -(R1) 24 38 38 50 40 52 50 50 62
CmpB @-(R3) 36 50 50 62 52 63 62 62 74
CmpB Addr 36 50 50 62 50 62 62 60 74
CmpB @Tab(R3) 47 62 62 73 62 73 73 72 85

Program completed.

.RUN HX2:MOVB
MovB - v1.1
CPU KHz: 7020 >

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 47 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) 47 70 71 82 71 82 82 80 94

Program completed.

MiX
13.03.2014, 14:33
Буду переделывать, ну а эти тесты для сравнения (раз уж сделал).


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

1: Nop Evt: 32 ; Run: 18392 ; Res: 18424 ; CLC: 5.8
1: RtS PC Evt: 4 ; Run: 2535 ; Res: 2539 ; CLC: 41.7
1: RtS R0 Evt: 4 ; Run: 2533 ; Res: 2537 ; CLC: 41.8
1: RtS R1 Evt: 4 ; Run: 2533 ; Res: 2537 ; CLC: 41.8
1: RtI Evt: 3 ; Run: 1857 ; Res: 1860 ; CLC: 57.0
1: RtT Evt: 3 ; Run: 1856 ; Res: 1859 ; CLC: 57.0

Program completed.

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

CPU KHz: 3927

Program completed.

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

SOB : 24 ! Last SOB : 11 ! Br : 20 ! BCS : 9 ! BCC : 20 ! SeC : 5

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

Tst 5 17 19 28 19 31 20 15 31
TstB 5 17 19 28 18 31 20 15 31
Inc 5 23 24 34 24 35 29 29 40
IncB 5 29 29 38 29 40 37 37 47
Clr 5 17 19 32 19 31 24 24 34
ClrB 5 25 25 37 25 34 31 31 41
MTPS 33 47 53 60 49 62 52 43 62
MFPS 24 34 35 49 35 46 38 38 48
XOr 5 27 28 38 28 40 31 31 42
SwaB 12 31 37 42 32 43 37 37 48
SXt 12 26 31 41 27 37 32 32 42

Program completed.

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

1: Nop Evt: 20 ; Run: 18398 ; Res: 18418 ; CLC: 5.8
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 81.0
1: Mul R2, R1 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 81.0
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 81.0
1: Mul R2, R1 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 81.0
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 81.0
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 81.0
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 81.0
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 81.0
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 81.0

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

1: Nop Evt: 32 ; Run: 18391 ; Res: 18423 ; CLC: 5.8
1: Mov R0, R0 Evt: 31 ; Run: 18459 ; Res: 18490 ; CLC: 5.7
1: Mov R0, (PC) Evt: 6 ; Run: 3231 ; Res: 3237 ; CLC: 32.7
1: MovB R0, (PC) Evt: 6 ; Run: 3216 ; Res: 3222 ; CLC: 32.9
1: Mov (PC), R0 Evt: 10 ; Run: 5938 ; Res: 5948 ; CLC: 17.8
1: MovB (PC), R0 Evt: 7 ; Run: 4092 ; Res: 4099 ; CLC: 25.9
::: SP = PC :::
1: Mov R0, (SP)+ Evt: 6 ; Run: 3111 ; Res: 3117 ; CLC: 34.0
1: MovB R0, (SP)+ Evt: 6 ; Run: 3084 ; Res: 3090 ; CLC: 34.3
1: Mov (SP),(SP)+ Evt: 3 ; Run: 2233 ; Res: 2236 ; CLC: 47.4
1: MovB (SP),(SP)+ Evt: 4 ; Run: 2196 ; Res: 2200 ; CLC: 48.2

Program completed.

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

Mov (PC), (PC)+ 35.6
MovB (PC), (PC)+ 41.5
Mov (PC), R0 17.9
MovB (PC), R0 25.9
Mov (PC), (PC) 46.9
MovB (PC), (PC) 46.8
Mov (PC)+, R0 15.7
MovB (PC)+, R0 21.7
Mov R0, (PC)+ 24.8
MovB R0, (PC)+ 31.3

Program completed.

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

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

MovB R1 12 25 25 37 25 34 31 31 41
MovB (R1) 26 37 38 52 38 50 41 41 51
MovB (R4)+ 31 41 43 57 43 54 46 46 55
MovB (PC)+ 21 35 37 50 37 48 41 41 51
MovB @(R2)+ 36 47 48 63 48 62 50 50 62
MovB -(R1) 27 37 38 52 38 50 41 41 51
MovB @-(R3) 36 47 48 63 48 61 51 51 62
MovB Addr 31 44 46 60 46 57 48 48 58
MovB @Tab(R3) 40 54 55 69 55 65 58 58 67

Program completed.

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

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

Mov R1 5 18 19 32 23 34 24 24 34
Mov (R1) 17 31 32 47 32 44 35 35 45
Mov (R2)+ 23 37 37 52 37 49 41 41 50
Mov (PC)+ 15 28 31 43 31 42 34 34 43
Mov @(R2)+ 28 42 43 57 43 54 47 47 56
Mov -(R1) 18 32 34 47 34 47 37 37 47
Mov @-(R1) 28 42 43 57 43 54 47 47 55
Mov Addr 20 37 38 52 38 49 41 41 51
Mov @Tab(R1) 31 47 48 62 48 61 51 50 62

Program completed.

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

SOB Loops: 4329 ; CLC: 24.5
Loop Loops: 1698 ; CLC: 37.9
Loop +Interrupt Loops: 656 ; CLC: 137.1
IOT Loops: 942 ; CLC: 88.0
Trap Loops: 942 ; CLC: 88.0
JSR PC, (R0) Loops: 1712 ; CLC: 37.4
JSR R0, (PC) Loops: 1713 ; CLC: 37.4
JSR PC, (PC) Loops: 1712 ; CLC: 37.4
JSR PC, (PC)+ Loops: 1622 ; CLC: 40.9
JSR PC,@(PC)+ Loops: 1624 ; CLC: 40.8
JSR PC,@(R0)+ Loops: 1363 ; CLC: 53.3
JSR PC,@(SP)+ Loops: 1362 ; CLC: 53.3
JSR PC,@-(R0) Loops: 1436 ; CLC: 49.3
JSR R1,@-(R0) Loops: 1434 ; CLC: 49.4
JSR PC, Label Loops: 1625 ; CLC: 40.8
JSR PC,@Var Loops: 1388 ; CLC: 51.9
JSR R1,@x(R0) Loops: 1387 ; CLC: 51.9

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

SOB Loops: 4316 ; CLC: 24.6
Br Loops: 2371 ; CLC: 20.2
Jmp (R0) Loops: 2443 ; CLC: 18.8
Jmp (PC) Loops: 2446 ; CLC: 18.8
Jmp (PC)+ Loops: 2261 ; CLC: 22.3
Mov R0, PC Loops: 2374 ; CLC: 20.1
Add R0, PC Loops: 2380 ; CLC: 20.0
Jmp LABEL Loops: 2268 ; CLC: 22.2
Jmp @#Addr Loops: 2268 ; CLC: 22.2
Jmp @(R0)+ Loops: 1777 ; CLC: 35.1
Jmp @-(R0) Loops: 1939 ; CLC: 30.1
Jmp xx(R0) Loops: 2264 ; CLC: 22.3
Jmp @x(R0) Loops: 1828 ; CLC: 33.4
Jmp @Var Loops: 1818 ; CLC: 33.8

Program completed.

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

1: Nop Evt: 20 ; Run: 18400 ; Res: 18420 ; CLC: 5.8
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 845 ; Res: 845 ; CLC: 126.#
1: Div R2, R1 Evt: 0 ; Run: 844 ; Res: 844 ; CLC: 126.#
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 818 ; Res: 818 ; CLC: 130.#
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 845 ; Res: 845 ; CLC: 126.#
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 5247 ; Res: 5247 ; CLC: 20.2

Program completed.

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

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

CmpB R1 5 17 19 28 23 31 20 15 31
CmpB (R1) 17 31 32 42 32 43 34 28 44
CmpB (R4)+ 23 36 38 47 38 50 40 34 50
CmpB (PC)+ 15 26 27 37 27 38 31 24 41
CmpB @(R2)+ 28 42 43 53 43 54 44 39 56
CmpB -(R1) 19 32 34 43 34 44 35 31 46
CmpB @-(R3) 28 42 43 53 43 54 44 39 56
CmpB Addr 20 34 35 45 35 47 37 32 47
CmpB @Tab(R3) 31 44 46 55 46 56 47 42 57

Program completed.

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

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

Cmp R1 5 17 19 28 23 34 20 15 31
Cmp (R1) 17 31 32 42 32 44 34 27 44
Cmp (R2)+ 23 36 38 47 38 50 40 32 50
Cmp (PC)+ 15 25 27 37 27 38 31 24 41
Cmp @(R2)+ 28 42 43 53 43 54 44 37 56
Cmp -(R1) 19 32 34 43 34 44 35 28 46
Cmp @-(R1) 28 42 43 53 43 54 44 38 56
Cmp Addr 20 34 35 45 35 47 37 31 47
Cmp @Tab(R1) 31 44 46 55 46 56 47 41 57

Program completed.

MiX
13.03.2014, 14:48
Новый тест.


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

CPU KHz: 3930

Program completed.

.RUN ASH
ASH - v1.1
Memory Top: 126370
BUF words: 20508
CPU KHz: 5300 > 3930
CPU KHz: 3930

1: Nop Evt: 19 ; Run: 18402 ; Res: 18421 ; CLC: 4.3
R2 = 0
1: ASh R2, R0 Evt: 0 ; Run: 3744 ; Res: 3744 ; CLC: 21.0
R2 = 1
1: ASh R2, R0 Evt: 0 ; Run: 3744 ; Res: 3744 ; CLC: 21.0
R2 = 8
1: ASh R2, R0 Evt: 0 ; Run: 1871 ; Res: 1871 ; CLC: 42.0
R2 = -1
1: ASh R2, R0 Evt: 0 ; Run: 2911 ; Res: 2911 ; CLC: 27.0
R2 = -8
1: ASh R2, R0 Evt: 0 ; Run: 1637 ; Res: 1637 ; CLC: 48.0

Program completed.

.RUN ASH1
ASH1 - v1.1
Memory Top: 126370
BUF words: 20311
CPU KHz: 5300 > 3930
CPU KHz: 3930
1: ASh #00., R0 Evt: 1 ; Run: 2802 ; Res: 2803 ; CLC: 28.0
1: ASh #01., R0 Evt: 1 ; Run: 2802 ; Res: 2803 ; CLC: 28.0
1: ASh #02., R0 Evt: 1 ; Run: 2535 ; Res: 2536 ; CLC: 31.0
1: ASh #03., R0 Evt: 1 ; Run: 2312 ; Res: 2313 ; CLC: 34.0
1: ASh #04., R0 Evt: 1 ; Run: 2124 ; Res: 2125 ; CLC: 37.0
1: ASh #05., R0 Evt: 0 ; Run: 1965 ; Res: 1965 ; CLC: 40.0
1: ASh #06., R0 Evt: 0 ; Run: 1827 ; Res: 1827 ; CLC: 43.0
1: ASh #07., R0 Evt: 0 ; Run: 1709 ; Res: 1709 ; CLC: 46.0
1: ASh #08., R0 Evt: 0 ; Run: 1604 ; Res: 1604 ; CLC: 49.0
1: ASh #09., R0 Evt: 0 ; Run: 1511 ; Res: 1511 ; CLC: 52.0
1: ASh #10., R0 Evt: 0 ; Run: 1428 ; Res: 1428 ; CLC: 55.0
1: ASh #11., R0 Evt: 0 ; Run: 1355 ; Res: 1355 ; CLC: 58.0
1: ASh #12., R0 Evt: 0 ; Run: 1288 ; Res: 1288 ; CLC: 61.0
1: ASh #13., R0 Evt: 0 ; Run: 1228 ; Res: 1228 ; CLC: 64.0
1: ASh #14., R0 Evt: 0 ; Run: 1173 ; Res: 1173 ; CLC: 67.0
1: ASh #15., R0 Evt: 0 ; Run: 1123 ; Res: 1123 ; CLC: 70.0
1: ASh #16., R0 Evt: 0 ; Run: 1076 ; Res: 1076 ; CLC: 73.0
1: ASh #17., R0 Evt: 0 ; Run: 1034 ; Res: 1034 ; CLC: 76.0
1: ASh #20., R0 Evt: 0 ; Run: 924 ; Res: 924 ; CLC: 85.#
1: ASh #30., R0 Evt: 0 ; Run: 684 ; Res: 684 ; CLC: 115.#
1: ASh #31., R0 Evt: 0 ; Run: 666 ; Res: 666 ; CLC: 118.#

.RUN ASH2
ASH2 - v1.1
Memory Top: 126370
BUF words: 20307
CPU KHz: 5300 > 3930
CPU KHz: 3930
1: ASh #000., R0 Evt: 1 ; Run: 2801 ; Res: 2802 ; CLC: 28.1
1: ASh #-01., R0 Evt: 1 ; Run: 2296 ; Res: 2297 ; CLC: 34.2
1: ASh #-02., R0 Evt: 1 ; Run: 2124 ; Res: 2125 ; CLC: 37.0
1: ASh #-03., R0 Evt: 0 ; Run: 1965 ; Res: 1965 ; CLC: 40.0
1: ASh #-04., R0 Evt: 0 ; Run: 1828 ; Res: 1828 ; CLC: 43.0
1: ASh #-05., R0 Evt: 0 ; Run: 1708 ; Res: 1708 ; CLC: 46.0
1: ASh #-06., R0 Evt: 0 ; Run: 1603 ; Res: 1603 ; CLC: 49.0
1: ASh #-07., R0 Evt: 0 ; Run: 1511 ; Res: 1511 ; CLC: 52.0
1: ASh #-08., R0 Evt: 0 ; Run: 1428 ; Res: 1428 ; CLC: 55.0
1: ASh #-09., R0 Evt: 0 ; Run: 1355 ; Res: 1355 ; CLC: 58.0
1: ASh #-10., R0 Evt: 0 ; Run: 1288 ; Res: 1288 ; CLC: 61.0
1: ASh #-11., R0 Evt: 0 ; Run: 1228 ; Res: 1228 ; CLC: 64.0
1: ASh #-12., R0 Evt: 0 ; Run: 1173 ; Res: 1173 ; CLC: 67.0
1: ASh #-13., R0 Evt: 0 ; Run: 1123 ; Res: 1123 ; CLC: 70.0
1: ASh #-14., R0 Evt: 0 ; Run: 1076 ; Res: 1076 ; CLC: 73.0
1: ASh #-15., R0 Evt: 0 ; Run: 1034 ; Res: 1034 ; CLC: 76.0
1: ASh #-16., R0 Evt: 0 ; Run: 995 ; Res: 995 ; CLC: 79.#
1: ASh #-17., R0 Evt: 0 ; Run: 958 ; Res: 958 ; CLC: 82.#
1: ASh #-20., R0 Evt: 0 ; Run: 864 ; Res: 864 ; CLC: 91.#
1: ASh #-30., R0 Evt: 0 ; Run: 650 ; Res: 650 ; CLC: 121.#
1: ASh #-31., R0 Evt: 0 ; Run: 634 ; Res: 634 ; CLC: 124.#

.RUN ASH3
ASH3 - v1.1
Memory Top: 126370
BUF words: 20314
CPU KHz: 5300 > 3930
CPU KHz: 3930
1: 0: ASh R2,R0 Evt: 0 ; Run: 3744 ; Res: 3744 ; CLC: 21.0
1: 1: ASh R2,R0 Evt: 0 ; Run: 3744 ; Res: 3744 ; CLC: 21.0
1: 2: ASh R2,R0 Evt: 0 ; Run: 3275 ; Res: 3275 ; CLC: 24.0
1: 3: ASh R2,R0 Evt: 0 ; Run: 2911 ; Res: 2911 ; CLC: 27.0
1: 4: ASh R2,R0 Evt: 0 ; Run: 2619 ; Res: 2619 ; CLC: 30.0
1: 5: ASh R2,R0 Evt: 0 ; Run: 2381 ; Res: 2381 ; CLC: 33.0
1: 6: ASh R2,R0 Evt: 0 ; Run: 2182 ; Res: 2182 ; CLC: 36.0
1: 7: ASh R2,R0 Evt: 0 ; Run: 2015 ; Res: 2015 ; CLC: 39.0
1: 8: ASh R2,R0 Evt: 0 ; Run: 1871 ; Res: 1871 ; CLC: 42.0
1: 9: ASh R2,R0 Evt: 0 ; Run: 1746 ; Res: 1746 ; CLC: 45.0
1: 10: ASh R2,R0 Evt: 0 ; Run: 1637 ; Res: 1637 ; CLC: 48.0
1: 11: ASh R2,R0 Evt: 0 ; Run: 1540 ; Res: 1540 ; CLC: 51.0
1: 12: ASh R2,R0 Evt: 0 ; Run: 1455 ; Res: 1455 ; CLC: 54.0
1: 13: ASh R2,R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 57.0
1: 14: ASh R2,R0 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 60.0
1: 15: ASh R2,R0 Evt: 0 ; Run: 1247 ; Res: 1247 ; CLC: 63.0
1: 16: ASh R2,R0 Evt: 0 ; Run: 1190 ; Res: 1190 ; CLC: 66.1
1: 17: ASh R2,R0 Evt: 0 ; Run: 1139 ; Res: 1139 ; CLC: 69.0
1: 20: ASh R2,R0 Evt: 0 ; Run: 1007 ; Res: 1007 ; CLC: 78.1
1: 30: ASh R2,R0 Evt: 0 ; Run: 728 ; Res: 728 ; CLC: 108.#
1: 31: ASh R2,R0 Evt: 0 ; Run: 708 ; Res: 708 ; CLC: 111.#

.RUN ASH4
ASH4 - v1.1
Memory Top: 126370
BUF words: 20308
CPU KHz: 5300 > 3930
CPU KHz: 3930
1: 0: ASh R2,R0 Evt: 0 ; Run: 3743 ; Res: 3743 ; CLC: 21.0
1: -1: ASh R2,R0 Evt: 0 ; Run: 2910 ; Res: 2910 ; CLC: 27.0
1: -2: ASh R2,R0 Evt: 0 ; Run: 2619 ; Res: 2619 ; CLC: 30.0
1: -3: ASh R2,R0 Evt: 0 ; Run: 2381 ; Res: 2381 ; CLC: 33.0
1: -4: ASh R2,R0 Evt: 0 ; Run: 2182 ; Res: 2182 ; CLC: 36.0
1: -5: ASh R2,R0 Evt: 0 ; Run: 2014 ; Res: 2014 ; CLC: 39.0
1: -6: ASh R2,R0 Evt: 0 ; Run: 1870 ; Res: 1870 ; CLC: 42.0
1: -7: ASh R2,R0 Evt: 0 ; Run: 1746 ; Res: 1746 ; CLC: 45.0
1: -8: ASh R2,R0 Evt: 0 ; Run: 1637 ; Res: 1637 ; CLC: 48.0
1: -9: ASh R2,R0 Evt: 0 ; Run: 1540 ; Res: 1540 ; CLC: 51.0
1: -10: ASh R2,R0 Evt: 0 ; Run: 1455 ; Res: 1455 ; CLC: 54.0
1: -11: ASh R2,R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 57.0
1: -12: ASh R2,R0 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 60.0
1: -13: ASh R2,R0 Evt: 0 ; Run: 1247 ; Res: 1247 ; CLC: 63.0
1: -14: ASh R2,R0 Evt: 0 ; Run: 1190 ; Res: 1190 ; CLC: 66.1
1: -15: ASh R2,R0 Evt: 0 ; Run: 1139 ; Res: 1139 ; CLC: 69.0
1: -16: ASh R2,R0 Evt: 0 ; Run: 1091 ; Res: 1091 ; CLC: 72.0
1: -17: ASh R2,R0 Evt: 0 ; Run: 1048 ; Res: 1048 ; CLC: 75.0
1: -20: ASh R2,R0 Evt: 0 ; Run: 935 ; Res: 935 ; CLC: 84.#
1: -30: ASh R2,R0 Evt: 0 ; Run: 690 ; Res: 690 ; CLC: 114.#
1: -31: ASh R2,R0 Evt: 0 ; Run: 672 ; Res: 672 ; CLC: 117.#

MiX
13.03.2014, 15:08
ASHC



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

1: Nop Evt: 20 ; Run: 18394 ; Res: 18414 ; CLC: 4.3
R2 = 0
1: AShC R2, R0 Evt: 0 ; Run: 3274 ; Res: 3274 ; CLC: 24.0
1: AShC R2, R1 Evt: 0 ; Run: 3274 ; Res: 3274 ; CLC: 24.0
R2 = 1
1: AShC R2, R0 Evt: 0 ; Run: 3274 ; Res: 3274 ; CLC: 24.0
1: AShC R2, R1 Evt: 0 ; Run: 3274 ; Res: 3274 ; CLC: 24.0
R2 = 8
1: AShC R2, R0 Evt: 0 ; Run: 1745 ; Res: 1745 ; CLC: 45.0
1: AShC R2, R1 Evt: 0 ; Run: 1745 ; Res: 1745 ; CLC: 45.0
R2 = -1
1: AShC R2, R0 Evt: 0 ; Run: 2619 ; Res: 2619 ; CLC: 30.0
1: AShC R2, R1 Evt: 0 ; Run: 2618 ; Res: 2618 ; CLC: 30.0
R2 = -8
1: AShC R2, R0 Evt: 0 ; Run: 1540 ; Res: 1540 ; CLC: 51.0
1: AShC R2, R1 Evt: 0 ; Run: 1540 ; Res: 1540 ; CLC: 51.0

Program completed.

.RUN ASHC1
ASHC1 - v1.1
Memory Top: 126370
BUF words: 20318
CPU KHz: 5300 > 3930
CPU KHz: 3930
1: AShC #00., R0 Evt: 1 ; Run: 2519 ; Res: 2520 ; CLC: 31.2
1: AShC #01., R0 Evt: 1 ; Run: 2511 ; Res: 2512 ; CLC: 31.3
1: AShC #02., R0 Evt: 1 ; Run: 2311 ; Res: 2312 ; CLC: 34.0
1: AShC #03., R0 Evt: 1 ; Run: 2123 ; Res: 2124 ; CLC: 37.0
1: AShC #04., R0 Evt: 0 ; Run: 1964 ; Res: 1964 ; CLC: 40.0
1: AShC #05., R0 Evt: 0 ; Run: 1827 ; Res: 1827 ; CLC: 43.0
1: AShC #06., R0 Evt: 0 ; Run: 1708 ; Res: 1708 ; CLC: 46.0
1: AShC #07., R0 Evt: 0 ; Run: 1603 ; Res: 1603 ; CLC: 49.0
1: AShC #08., R0 Evt: 0 ; Run: 1511 ; Res: 1511 ; CLC: 52.0
1: AShC #09., R0 Evt: 0 ; Run: 1428 ; Res: 1428 ; CLC: 55.0
1: AShC #10., R0 Evt: 0 ; Run: 1354 ; Res: 1354 ; CLC: 58.1
1: AShC #11., R0 Evt: 0 ; Run: 1288 ; Res: 1288 ; CLC: 61.0
1: AShC #12., R0 Evt: 0 ; Run: 1227 ; Res: 1227 ; CLC: 64.1
1: AShC #13., R0 Evt: 0 ; Run: 1173 ; Res: 1173 ; CLC: 67.0
1: AShC #14., R0 Evt: 0 ; Run: 1122 ; Res: 1122 ; CLC: 70.1
1: AShC #15., R0 Evt: 0 ; Run: 1076 ; Res: 1076 ; CLC: 73.0
1: AShC #16., R0 Evt: 0 ; Run: 1034 ; Res: 1034 ; CLC: 76.0
1: AShC #17., R0 Evt: 0 ; Run: 994 ; Res: 994 ; CLC: 79.#
1: AShC #20., R0 Evt: 0 ; Run: 893 ; Res: 893 ; CLC: 88.#
1: AShC #30., R0 Evt: 0 ; Run: 666 ; Res: 666 ; CLC: 118.#
1: AShC #31., R0 Evt: 0 ; Run: 650 ; Res: 650 ; CLC: 121.#

.RUN ASHC2
ASHC2 - v1.1
Memory Top: 126370
BUF words: 20315
CPU KHz: 5300 > 3930
CPU KHz: 3930
1: AShC #000., R0 Evt: 1 ; Run: 2531 ; Res: 2532 ; CLC: 31.0
1: AShC #-01., R0 Evt: 0 ; Run: 2120 ; Res: 2120 ; CLC: 37.1
1: AShC #-02., R0 Evt: 0 ; Run: 1964 ; Res: 1964 ; CLC: 40.0
1: AShC #-03., R0 Evt: 0 ; Run: 1827 ; Res: 1827 ; CLC: 43.0
1: AShC #-04., R0 Evt: 0 ; Run: 1708 ; Res: 1708 ; CLC: 46.0
1: AShC #-05., R0 Evt: 0 ; Run: 1603 ; Res: 1603 ; CLC: 49.0
1: AShC #-06., R0 Evt: 0 ; Run: 1511 ; Res: 1511 ; CLC: 52.0
1: AShC #-07., R0 Evt: 0 ; Run: 1428 ; Res: 1428 ; CLC: 55.0
1: AShC #-08., R0 Evt: 0 ; Run: 1355 ; Res: 1355 ; CLC: 58.0
1: AShC #-09., R0 Evt: 0 ; Run: 1288 ; Res: 1288 ; CLC: 61.0
1: AShC #-10., R0 Evt: 0 ; Run: 1228 ; Res: 1228 ; CLC: 64.0
1: AShC #-11., R0 Evt: 0 ; Run: 1173 ; Res: 1173 ; CLC: 67.0
1: AShC #-12., R0 Evt: 0 ; Run: 1123 ; Res: 1123 ; CLC: 70.0
1: AShC #-13., R0 Evt: 0 ; Run: 1076 ; Res: 1076 ; CLC: 73.0
1: AShC #-14., R0 Evt: 0 ; Run: 1034 ; Res: 1034 ; CLC: 76.0
1: AShC #-15., R0 Evt: 0 ; Run: 995 ; Res: 995 ; CLC: 79.#
1: AShC #-16., R0 Evt: 0 ; Run: 958 ; Res: 958 ; CLC: 82.#
1: AShC #-17., R0 Evt: 0 ; Run: 925 ; Res: 925 ; CLC: 85.#
1: AShC #-20., R0 Evt: 0 ; Run: 836 ; Res: 836 ; CLC: 94.#
1: AShC #-30., R0 Evt: 0 ; Run: 634 ; Res: 634 ; CLC: 124.#
1: AShC #-31., R0 Evt: 0 ; Run: 619 ; Res: 619 ; CLC: 127.#

.RUN ASHC3
ASHC3 - v1.1
Memory Top: 126370
BUF words: 20313
CPU KHz: 5300 > 3930
CPU KHz: 3930
1: 0: AShC R2,R0 Evt: 0 ; Run: 3274 ; Res: 3274 ; CLC: 24.0
1: 1: AShC R2,R0 Evt: 0 ; Run: 3274 ; Res: 3274 ; CLC: 24.0
1: 2: AShC R2,R0 Evt: 0 ; Run: 2910 ; Res: 2910 ; CLC: 27.0
1: 3: AShC R2,R0 Evt: 0 ; Run: 2619 ; Res: 2619 ; CLC: 30.0
1: 4: AShC R2,R0 Evt: 0 ; Run: 2380 ; Res: 2380 ; CLC: 33.0
1: 5: AShC R2,R0 Evt: 0 ; Run: 2182 ; Res: 2182 ; CLC: 36.0
1: 6: AShC R2,R0 Evt: 0 ; Run: 2014 ; Res: 2014 ; CLC: 39.0
1: 7: AShC R2,R0 Evt: 0 ; Run: 1870 ; Res: 1870 ; CLC: 42.0
1: 8: AShC R2,R0 Evt: 0 ; Run: 1745 ; Res: 1745 ; CLC: 45.0
1: 9: AShC R2,R0 Evt: 0 ; Run: 1636 ; Res: 1636 ; CLC: 48.0
1: 10: AShC R2,R0 Evt: 0 ; Run: 1540 ; Res: 1540 ; CLC: 51.0
1: 11: AShC R2,R0 Evt: 0 ; Run: 1454 ; Res: 1454 ; CLC: 54.1
1: 12: AShC R2,R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 57.0
1: 13: AShC R2,R0 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 60.0
1: 14: AShC R2,R0 Evt: 0 ; Run: 1247 ; Res: 1247 ; CLC: 63.0
1: 15: AShC R2,R0 Evt: 0 ; Run: 1190 ; Res: 1190 ; CLC: 66.1
1: 16: AShC R2,R0 Evt: 0 ; Run: 1138 ; Res: 1138 ; CLC: 69.1
1: 17: AShC R2,R0 Evt: 0 ; Run: 1091 ; Res: 1091 ; CLC: 72.0
1: 20: AShC R2,R0 Evt: 0 ; Run: 970 ; Res: 970 ; CLC: 81.#
1: 30: AShC R2,R0 Evt: 0 ; Run: 708 ; Res: 708 ; CLC: 111.#
1: 31: AShC R2,R0 Evt: 0 ; Run: 689 ; Res: 689 ; CLC: 114.#

.RUN ASHC4
ASHC4 - v1.1
Memory Top: 126370
BUF words: 20307
CPU KHz: 5300 > 3930
CPU KHz: 3930
1: 0: AShC R2,R0 Evt: 0 ; Run: 3274 ; Res: 3274 ; CLC: 24.0
1: -1: AShC R2,R0 Evt: 0 ; Run: 2618 ; Res: 2618 ; CLC: 30.0
1: -2: AShC R2,R0 Evt: 0 ; Run: 2380 ; Res: 2380 ; CLC: 33.0
1: -3: AShC R2,R0 Evt: 0 ; Run: 2182 ; Res: 2182 ; CLC: 36.0
1: -4: AShC R2,R0 Evt: 0 ; Run: 2014 ; Res: 2014 ; CLC: 39.0
1: -5: AShC R2,R0 Evt: 0 ; Run: 1870 ; Res: 1870 ; CLC: 42.0
1: -6: AShC R2,R0 Evt: 0 ; Run: 1745 ; Res: 1745 ; CLC: 45.0
1: -7: AShC R2,R0 Evt: 0 ; Run: 1636 ; Res: 1636 ; CLC: 48.0
1: -8: AShC R2,R0 Evt: 0 ; Run: 1540 ; Res: 1540 ; CLC: 51.0
1: -9: AShC R2,R0 Evt: 0 ; Run: 1454 ; Res: 1454 ; CLC: 54.1
1: -10: AShC R2,R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 57.0
1: -11: AShC R2,R0 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 60.0
1: -12: AShC R2,R0 Evt: 0 ; Run: 1247 ; Res: 1247 ; CLC: 63.0
1: -13: AShC R2,R0 Evt: 0 ; Run: 1190 ; Res: 1190 ; CLC: 66.1
1: -14: AShC R2,R0 Evt: 0 ; Run: 1138 ; Res: 1138 ; CLC: 69.1
1: -15: AShC R2,R0 Evt: 0 ; Run: 1091 ; Res: 1091 ; CLC: 72.0
1: -16: AShC R2,R0 Evt: 0 ; Run: 1047 ; Res: 1047 ; CLC: 75.1
1: -17: AShC R2,R0 Evt: 0 ; Run: 1007 ; Res: 1007 ; CLC: 78.1
1: -20: AShC R2,R0 Evt: 0 ; Run: 903 ; Res: 903 ; CLC: 87.#
1: -30: AShC R2,R0 Evt: 0 ; Run: 672 ; Res: 672 ; CLC: 117.#
1: -31: AShC R2,R0 Evt: 0 ; Run: 655 ; Res: 655 ; CLC: 120.#

MiX
13.03.2014, 15:23
Далее...

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

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

Add R1 4 17 18 25 21 29 21 21 30
Add (R1) 13 27 28 35 28 36 30 30 37
Add (R2)+ 17 30 32 39 32 40 33 33 41
Add (PC)+ 11 25 26 33 26 34 28 28 36
Add @(R2)+ 21 35 36 45 36 45 37 37 46
Add -(R1) 13 27 29 36 29 36 30 30 38
Add @-(R1) 21 35 36 45 36 45 36 36 45
Add Addr 15 31 32 39 32 40 33 33 41
Add @Tab(R1) 23 38 39 45 39 46 40 40 48

Program completed.

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

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

BiS R1 4 17 18 25 21 29 21 21 30
BiS (R1) 13 27 28 35 28 36 30 30 37
BiS (R2)+ 17 30 32 39 32 40 33 33 41
BiS (PC)+ 11 25 26 33 26 34 28 28 36
BiS @(R2)+ 21 35 36 45 36 45 37 37 46
BiS -(R1) 13 27 29 36 29 36 30 30 38
BiS @-(R1) 21 35 36 45 36 45 36 36 45
BiS Addr 15 31 32 39 32 40 33 33 41
BiS @Tab(R1) 23 38 39 45 39 46 40 40 48

Program completed.

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

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

BiSB R1 4 21 22 28 21 29 27 27 34
BiSB (R1) 13 31 34 39 32 41 34 34 42
BiSB (R4)+ 17 34 36 43 36 45 36 36 45
BiSB (PC)+ 11 30 30 38 30 39 33 33 42
BiSB @(R2)+ 21 38 40 46 40 46 41 41 48
BiSB -(R1) 13 31 33 39 33 41 34 34 42
BiSB @-(R3) 21 39 40 46 40 47 40 40 48
BiSB Addr 15 36 37 46 37 46 38 38 46
BiSB @Tab(R3) 23 44 45 52 45 53 45 45 53

Program completed.

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

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

Cmp R1 4 13 14 21 17 25 15 11 23
Cmp (R1) 13 23 24 30 24 32 25 20 33
Cmp (R2)+ 17 27 28 35 28 36 29 23 37
Cmp (PC)+ 11 19 20 27 20 28 22 18 30
Cmp @(R2)+ 21 30 32 39 32 40 33 27 41
Cmp -(R1) 14 24 25 32 25 33 26 20 34
Cmp @-(R1) 21 30 32 39 32 40 33 27 41
Cmp Addr 15 25 26 33 26 34 27 23 35
Cmp @Tab(R1) 23 32 33 40 33 41 34 30 42

Program completed.

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

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

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

Program completed.

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

1: Nop Evt: 20 ; Run: 18389 ; Res: 18409 ; CLC: 4.3
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 844 ; Res: 844 ; CLC: 93.#
1: Div R2, R1 Evt: 0 ; Run: 844 ; Res: 844 ; CLC: 93.#
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 818 ; Res: 818 ; CLC: 96.#
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 844 ; Res: 844 ; CLC: 93.#
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 5244 ; Res: 5244 ; CLC: 15.0

Program completed.

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

SOB Loops: 4308 ; CLC: 18.2
Br Loops: 2372 ; CLC: 14.9
Jmp (R0) Loops: 2444 ; CLC: 13.9
Jmp (PC) Loops: 2445 ; CLC: 13.9
Jmp (PC)+ Loops: 2263 ; CLC: 16.5
Mov R0, PC Loops: 2372 ; CLC: 14.9
Add R0, PC Loops: 2375 ; CLC: 14.9
Jmp LABEL Loops: 2268 ; CLC: 16.4
Jmp @#Addr Loops: 2268 ; CLC: 16.4
Jmp @(R0)+ Loops: 1769 ; CLC: 26.2
Jmp @-(R0) Loops: 1941 ; CLC: 22.3
Jmp xx(R0) Loops: 2267 ; CLC: 16.4
Jmp @x(R0) Loops: 1827 ; CLC: 24.8
Jmp @Var Loops: 1819 ; CLC: 25.0

Program completed.

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

SOB Loops: 4325 ; CLC: 18.2
Loop Loops: 1681 ; CLC: 28.6
Loop +Interrupt Loops: 656 ; CLC: 101.6
IOT Loops: 943 ; CLC: 65.2
Trap Loops: 943 ; CLC: 65.2
JSR PC, (R0) Loops: 1712 ; CLC: 27.7
JSR R0, (PC) Loops: 1713 ; CLC: 27.7
JSR PC, (PC) Loops: 1712 ; CLC: 27.7
JSR PC, (PC)+ Loops: 1621 ; CLC: 30.3
JSR PC,@(PC)+ Loops: 1623 ; CLC: 30.3
JSR PC,@(R0)+ Loops: 1360 ; CLC: 39.6
JSR PC,@(SP)+ Loops: 1359 ; CLC: 39.7
JSR PC,@-(R0) Loops: 1432 ; CLC: 36.7
JSR R1,@-(R0) Loops: 1431 ; CLC: 36.8
JSR PC, Label Loops: 1624 ; CLC: 30.2
JSR PC,@Var Loops: 1387 ; CLC: 38.5
JSR R1,@x(R0) Loops: 1387 ; CLC: 38.5

MiX
13.03.2014, 15:46
Далее 2 ...

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

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

Mov R1 4 13 14 24 17 25 18 18 25
Mov (R1) 13 23 24 34 24 32 26 26 33
Mov (R2)+ 17 27 27 38 27 36 30 30 37
Mov (PC)+ 11 21 23 32 22 30 25 25 32
Mov @(R2)+ 21 30 32 42 32 40 34 34 41
Mov -(R1) 13 24 25 35 25 34 27 27 34
Mov @-(R1) 21 30 32 42 32 40 34 34 41
Mov Addr 15 27 28 38 28 36 30 30 37
Mov @Tab(R1) 22 34 35 46 35 45 37 37 46

Program completed.

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

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

MovB R1 8 18 18 27 18 25 23 23 30
MovB (R1) 19 27 28 38 28 36 30 30 37
MovB (R4)+ 22 30 31 42 31 39 34 34 40
MovB (PC)+ 16 26 27 37 27 35 30 30 37
MovB @(R2)+ 27 34 35 46 35 45 37 37 45
MovB -(R1) 20 27 28 38 28 36 30 30 37
MovB @-(R3) 27 34 35 46 35 45 37 37 46
MovB Addr 23 32 33 44 33 42 35 35 43
MovB @Tab(R3) 29 39 41 51 41 48 43 43 49

Program completed.

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

Mov (PC), (PC)+ 26.2
MovB (PC), (PC)+ 30.4
Mov (PC), R0 13.1
MovB (PC), R0 19.1
Mov (PC), (PC) 34.5
MovB (PC), (PC) 34.4
Mov (PC)+, R0 11.5
MovB (PC)+, R0 16.0
Mov R0, (PC)+ 18.2
MovB R0, (PC)+ 23.0

Program completed.

.RUN MOVPC2
MovPC2 - v1.2
Memory Top: 126370
BUF words: 20501
CPU KHz: 5300 > 3930
CPU KHz: 3930

1: Nop Evt: 32 ; Run: 18388 ; Res: 18420 ; CLC: 4.3
1: Mov R0, R0 Evt: 32 ; Run: 18474 ; Res: 18506 ; CLC: 4.2
1: Mov R0, (PC) Evt: 6 ; Run: 3231 ; Res: 3237 ; CLC: 24.3
1: MovB R0, (PC) Evt: 6 ; Run: 3218 ; Res: 3224 ; CLC: 24.4
1: Mov (PC), R0 Evt: 10 ; Run: 5944 ; Res: 5954 ; CLC: 13.2
1: MovB (PC), R0 Evt: 7 ; Run: 4094 ; Res: 4101 ; CLC: 19.2
::: SP = PC :::
1: Mov R0, (SP)+ Evt: 6 ; Run: 3111 ; Res: 3117 ; CLC: 25.2
1: MovB R0, (SP)+ Evt: 6 ; Run: 3085 ; Res: 3091 ; CLC: 25.4
1: Mov (SP),(SP)+ Evt: 3 ; Run: 2233 ; Res: 2236 ; CLC: 35.2
1: MovB (SP),(SP)+ Evt: 4 ; Run: 2193 ; Res: 2197 ; CLC: 35.8

Program completed.

.RUN MUL
MUL - v1.1
Memory Top: 126370
BUF words: 20429
CPU KHz: 5300 > 3930
CPU KHz: 3930

1: Nop Evt: 20 ; Run: 18392 ; Res: 18412 ; CLC: 4.3
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 0 ; Run: 1308 ; Res: 1308 ; CLC: 60.1
1: Mul R2, R1 Evt: 0 ; Run: 1308 ; Res: 1308 ; CLC: 60.1
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 0 ; Run: 1308 ; Res: 1308 ; CLC: 60.1
1: Mul R2, R1 Evt: 0 ; Run: 1308 ; Res: 1308 ; CLC: 60.1
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1308 ; Res: 1308 ; CLC: 60.1
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1308 ; Res: 1308 ; CLC: 60.1
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1308 ; Res: 1308 ; CLC: 60.1
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1308 ; Res: 1308 ; CLC: 60.1
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1308 ; Res: 1308 ; CLC: 60.1

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

SOB : 18 ! Last SOB : 9 ! Br : 15 ! BCS : 6 ! BCC : 15 ! SeC : 4

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

Tst 4 13 14 21 14 23 15 11 23
TstB 4 13 14 21 13 23 15 11 23
Inc 4 17 18 25 18 26 21 21 30
IncB 4 21 21 28 21 29 27 27 34
Clr 4 13 14 24 14 23 18 18 25
ClrB 4 18 18 27 18 25 23 23 30
MTPS 24 35 39 45 36 46 38 32 45
MFPS 17 25 26 36 26 34 28 28 35
XOr 4 19 21 28 21 29 22 22 30
SwaB 8 23 27 31 24 32 27 27 35
SXt 8 19 23 30 20 27 24 24 31

Program completed.

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

1: Nop Evt: 31 ; Run: 18385 ; Res: 18416 ; CLC: 4.3
1: RtS PC Evt: 4 ; Run: 2535 ; Res: 2539 ; CLC: 31.0
1: RtS R0 Evt: 4 ; Run: 2533 ; Res: 2537 ; CLC: 31.0
1: RtS R1 Evt: 4 ; Run: 2533 ; Res: 2537 ; CLC: 31.0
1: RtI Evt: 3 ; Run: 1858 ; Res: 1861 ; CLC: 42.2
1: RtT Evt: 3 ; Run: 1857 ; Res: 1860 ; CLC: 42.3

Program completed.

bigral
13.03.2014, 16:59
Cдается мне что тестирование на платах МС1201.0x-xx дает кучу разнобойных результатов (изза плавающей частоты), наверно надо вводить стандарт на частоты в тестовой системе, т.е. определить какие нужно ставить кварцы на задающий генератор процессора и генератор refresh-а RAM-a.

MiX
13.03.2014, 22:57
Если кому интересно, тесты для PDP:

palsw
13.03.2014, 23:18
MiX, а что за тесты и как запустить?


FPTON .SAV 22 13-Mar-2014 FPTOFF.SAV 22 13-Mar-2014
T1173 .MAC 5 13-Mar-2014 SPDCPU.MAC 33 13-Mar-2014
ASHTST.MAC 19 13-Mar-2014 FPT .F77 7 13-Mar-2014
SPDCPU.DOC 47 13-Mar-2014
7 Files, 155 Blocks
1431 Free blocks

MiX
13.03.2014, 23:23
командой RUN

palsw
13.03.2014, 23:30
MiX, )))

так материться и не работает

form
13.03.2014, 23:31
MiX, )))

так материться и не работает

Ничего удивительного - в "тесты" видимо даже не заглядывали :D


.MAC SPDCPU
U 16 .MCALL QIOW$S, EXIT$S, ENAR$S, SREX$S, GTIM$S
OQ 130 001114 SREX$S #ABOAST ; specify abort AST point
O 131 001114 ENAR$S ; AST's should be enabled already
OQ 180 001332 GTIM$S #STRTIM ; time test starts


вот это например для RSX написано :)

MiX
13.03.2014, 23:40
Я думаю form всё разъяснит, сам я не могу точно сказать что к чему. Я с сетевыми операционками не работал ещё.

form
13.03.2014, 23:51
Я думаю form всё разъяснит, сам я не могу точно сказать что к чему.

SPDCPU видимо считает время выполнения инструкций, сейчас соберу, посмотрю. Остальные должны в RT собираться.

---------- Post added at 02:44 ---------- Previous post was at 02:41 ----------

Не сильно информативно :)


>FLX /RS/FA=DU3:SPDCPU.MAC/RT:5
>DCL MAC SPDCPU
>DCL L SPDCPU
>RUN SPDCPU
31250 Instructions per loop.
320 Passes through loop.
TST Instruction
17-MAR-14 02:41:50.1 started
17-MAR-14 02:41:56.3 ended
ROR Instruction
17-MAR-14 02:41:56.5 started
17-MAR-14 02:42:02.7 ended
SWAB Instruction
17-MAR-14 02:42:02.9 started
17-MAR-14 02:42:09.1 ended
MOV Instruction
17-MAR-14 02:42:09.3 started
17-MAR-14 02:42:15.5 ended
MOVB Instruction
17-MAR-14 02:42:15.7 started
17-MAR-14 02:42:21.9 ended
CMP Instruction
17-MAR-14 02:42:22.1 started
17-MAR-14 02:42:28.3 ended
ADD Instruction
17-MAR-14 02:42:28.5 started
17-MAR-14 02:42:34.8 ended
BIT Instruction
17-MAR-14 02:42:34.9 started
17-MAR-14 02:42:41.2 ended
TST 1 Instruction
17-MAR-14 02:42:41.4 started
17-MAR-14 02:42:52.1 ended
CMP 1 Instruction
17-MAR-14 02:42:52.3 started
17-MAR-14 02:43:09.8 ended
MOV 42 Instruction
MCR>ABO
>
17-MAR-14 02:43:10.0 started
17-MAR-14 02:43:30.3 ended
Program ends.
>

---------- Post added at 02:51 ---------- Previous post was at 02:44 ----------

ASHTST видимо проверяет ошибки ASH/ASHC (сдвиг влево на 31 итд)...


.RU ASHTST

Testing ASH operation... ASH (R1),R2

(R1) PSW R2
Initial values are: 177737 000017 177777
Correct returns are: 177737 000006 000000
Expected values are: 177737 000006 000000
Returned values were: 177737 000006 000000
The PSW and results are correct!!
This CPU's returns and PSW matches a new style J11!!

Testing ASHC operation.. ASHC (R1),R2

(R1) PSW R2 R3
Initial values are: 177737 000017 177777 177774
Correct returns are: 177737 000006 000000 000000
Expected values are: 177737 000006 000000 000000
Returned values were: 177737 000006 000000 000000
The PSW and results are correct!!
This CPU's returns and PSW matches a new style J11!!

.

palsw
13.03.2014, 23:55
А есть образ родного диска с тестами ,который упоминается в книге "ПО ДВК Книга 7 - Тест-мониторная система (1988)" и может посвежее есть что то?

form
13.03.2014, 23:57
А есть образ родного диска с тестами ,который упоминается в книге "ПО ДВК Книга 7 - Тест-мониторная система (1988)" и может посвежее есть что то?

ТМОС какой-то тут выкладывали - не смотрел. Есть полный DECовский XXDP+ 2.5, но его и грузить надо с DECовских (или совместимых) устройств, а на ДВК таких в оригинале нету :)

bigral
14.03.2014, 00:04
ТМОС какой-то тут выкладывали - не смотрел. Есть полный DECовский XXDP+ 2.5, но его и грузить надо с DECовских (или совместимых) устройств, а на ДВК таких в оригинале нету :)

К стати! А есть ли какие-либо препятствия для использования эмуля TU58 на мс1201.02 ?

form
14.03.2014, 00:06
К стати! А есть ли какие-либо препятствия для использования эмуля TU58 на мс1201.02 ?

Да никаких - TU58 на обычный DL(V)11 подключается.
Единственное требование - правильная отработка BREAK хотя бы со стороны компа внаружу.

bigral
14.03.2014, 00:15
Да никаких - TU58 на обычный DL(V)11 подключается.
Единственное требование - правильная отработка BREAK хотя бы со стороны компа внаружу.

Сдесь как-то Patron смутно намекал на возможные проблемы изза отличия ВП1-35/ВП1-65 от DL(V)11. Якобы есть чехарда с битами статуса которая и в самих оригинальных SLU есть.

А что по поводу BREAK? Это возможность генерить TRAP по принятому char-у через SLU? Или о чем это? Платы мс1201.0x такое могут возможно?

form
14.03.2014, 00:19
Сдесь как-то Patron смутно намекал на возможные проблемы изза отличия ВП1-35/ВП1-65 от DL(V)11. Якобы есть чехарда с битами статуса которая и в самих оригинальных SLU есть.

А что по поводу BREAK? Это возможность генерить TRAP по принятому char-у через SLU? Или о чем это? Платы мс1201.0x такое могут возможно?

Могу ошибаться, но на УКНЦ вроде подключали эмулятор TU58.

---------- Post added at 03:19 ---------- Previous post was at 03:17 ----------

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

palsw
14.03.2014, 00:20
form, я грузил УКНЦ c TU58 еще до HX сервера.

bigral
14.03.2014, 00:25
form, я грузил УКНЦ c TU58 еще до HX сервера.

вот тут есть ленты с xxdp http://ak6dn.dyndns.org/PDP-11/TU58/

а тут какие-то диски TMOC-a http://archive.pdp-11.org.ru/ukdwk_archive/dwkwebcomplekt/kldyh_all/

form
14.03.2014, 00:27
вот тут есть ленты с xxdp http://ak6dn.dyndns.org/PDP-11/TU58/

Ну это проще самостоятельно сделать, скопировав нужное :)
Я себе так делал когда только начинал 11/83 собирать - это был тогда единственный способ заставить голые Seagate опознаваться как RD32.

MiX
15.03.2014, 19:30
SPDCPU видимо считает время выполнения инструкций, сейчас соберу, посмотрю. Остальные должны в RT собираться.

form По возможности собери в rt11 и здесь выложи, хочу погонять их.

Patron MC1203 с отключенным ВЖ1 прогонять надо?

form
15.03.2014, 19:32
form По возможности собери в rt11 и здесь выложи, хочу погонять их.

Patron MC1203 с отключенным ВЖ1 прогонять надо?

SPDCPU будет непросто собрать в RT-11 - он завязан на директивы RSX, но даже если портировать в том виде в каком есть толку от этого немного ибо замер времени системными директивами в подобных тестах мягко говоря малоинформативен :)

Patron
15.03.2014, 20:24
MC1203 с отключенным ВЖ1 прогонять надо?Само собой.

Но можно не запускать тесты ASH1, ASH2, ASH3, ASH4, ASHC1, ASHC2, ASHC3, ASHC4.

MiX
15.03.2014, 20:42
А вот интересно SET EM ON как влияет на тесты. У меня он включен, и в прошлый раз был включен.

form
15.03.2014, 20:45
А вот интересно SET EM ON как влияет на тесты. У меня он включен, и в прошлый раз был включен.

Не должен по идее если только не тестируются инструкции которые процессор не поддерживает, и они эмулируются этим самым EM :)

MiX
15.03.2014, 22:42
Тест МС1201.03 с отключенным К555ВЖ1

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

CPU KHz: 3954

Program completed.

.RUN ASH
ASH - v1.1
Memory Top: 126370
BUF words: 20508
CPU KHz: 3930 > 3954
CPU KHz: 3954

1: Nop Evt: 20 ; Run: 18546 ; Res: 18566 ; CLC: 4.3
R2 = 0
1: ASh R2, R0 Evt: 0 ; Run: 3756 ; Res: 3756 ; CLC: 21.1
R2 = 1
1: ASh R2, R0 Evt: 0 ; Run: 3756 ; Res: 3756 ; CLC: 21.1
R2 = 8
1: ASh R2, R0 Evt: 0 ; Run: 1879 ; Res: 1879 ; CLC: 42.1
R2 = -1
1: ASh R2, R0 Evt: 0 ; Run: 2922 ; Res: 2922 ; CLC: 27.1
R2 = -8
1: ASh R2, R0 Evt: 0 ; Run: 1644 ; Res: 1644 ; CLC: 48.1

Program completed.

.RUN ASHC
ASHC - v1.1
Memory Top: 126370
BUF words: 20469
CPU KHz: 3930 > 3954
CPU KHz: 3954

1: Nop Evt: 19 ; Run: 18541 ; Res: 18560 ; CLC: 4.3
R2 = 0
1: AShC R2, R0 Evt: 0 ; Run: 3285 ; Res: 3285 ; CLC: 24.1
1: AShC R2, R1 Evt: 0 ; Run: 3286 ; Res: 3286 ; CLC: 24.1
R2 = 1
1: AShC R2, R0 Evt: 0 ; Run: 3285 ; Res: 3285 ; CLC: 24.1
1: AShC R2, R1 Evt: 0 ; Run: 3286 ; Res: 3286 ; CLC: 24.1
R2 = 8
1: AShC R2, R0 Evt: 0 ; Run: 1753 ; Res: 1753 ; CLC: 45.1
1: AShC R2, R1 Evt: 0 ; Run: 1753 ; Res: 1753 ; CLC: 45.1
R2 = -1
1: AShC R2, R0 Evt: 0 ; Run: 2628 ; Res: 2628 ; CLC: 30.1
1: AShC R2, R1 Evt: 0 ; Run: 2628 ; Res: 2628 ; CLC: 30.1
R2 = -8
1: AShC R2, R0 Evt: 0 ; Run: 1546 ; Res: 1546 ; CLC: 51.2
1: AShC R2, R1 Evt: 0 ; Run: 1546 ; Res: 1546 ; CLC: 51.2

Program completed.

.RUN DIV
DIV - v1.1
Memory Top: 126370
BUF words: 20513
CPU KHz: 3930 > 3954
CPU KHz: 3954

1: Nop Evt: 20 ; Run: 18541 ; Res: 18561 ; CLC: 4.3
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 847 ; Res: 847 ; CLC: 93.#
1: Div R2, R1 Evt: 0 ; Run: 847 ; Res: 847 ; CLC: 93.#
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 821 ; Res: 821 ; CLC: 96.#
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 847 ; Res: 847 ; CLC: 93.#
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 5250 ; Res: 5250 ; CLC: 15.1

Program completed.

.RUN JSR
JSR - v1.2
Memory Top: 126370
BUF words: 20459
CPU KHz: 3930 > 3954
CPU KHz: 3954

SOB Loops: 4350 ; CLC: 18.2
Loop Loops: 1696 ; CLC: 28.5
Loop +Interrupt Loops: 660 ; CLC: 101.6
IOT Loops: 944 ; CLC: 65.6
Trap Loops: 943 ; CLC: 65.7
JSR PC, (R0) Loops: 1683 ; CLC: 28.8
JSR R0, (PC) Loops: 1706 ; CLC: 28.2
JSR PC, (PC) Loops: 1684 ; CLC: 28.8
JSR PC, (PC)+ Loops: 1632 ; CLC: 30.3
JSR PC,@(PC)+ Loops: 1633 ; CLC: 30.3
JSR PC,@(R0)+ Loops: 1374 ; CLC: 39.4
JSR PC,@(SP)+ Loops: 1373 ; CLC: 39.4
JSR PC,@-(R0) Loops: 1441 ; CLC: 36.7
JSR R1,@-(R0) Loops: 1444 ; CLC: 36.6
JSR PC, Label Loops: 1634 ; CLC: 30.2
JSR PC,@Var Loops: 1394 ; CLC: 38.6
JSR R1,@x(R0) Loops: 1393 ; CLC: 38.6

.RUN MOVPC2
MovPC2 - v1.2
Memory Top: 126370
BUF words: 20501
CPU KHz: 3930 > 3954
CPU KHz: 3954

1: Nop Evt: 31 ; Run: 18538 ; Res: 18569 ; CLC: 4.3
1: Mov R0, R0 Evt: 31 ; Run: 18540 ; Res: 18571 ; CLC: 4.3
1: Mov R0, (PC) Evt: 6 ; Run: 3241 ; Res: 3247 ; CLC: 24.4
1: MovB R0, (PC) Evt: 6 ; Run: 3210 ; Res: 3216 ; CLC: 24.6
1: Mov (PC), R0 Evt: 10 ; Run: 5952 ; Res: 5962 ; CLC: 13.3
1: MovB (PC), R0 Evt: 7 ; Run: 4101 ; Res: 4108 ; CLC: 19.3
::: SP = PC :::
1: Mov R0, (SP)+ Evt: 6 ; Run: 3111 ; Res: 3117 ; CLC: 25.4
1: MovB R0, (SP)+ Evt: 6 ; Run: 3083 ; Res: 3089 ; CLC: 25.6
1: Mov (SP),(SP)+ Evt: 3 ; Run: 2236 ; Res: 2239 ; CLC: 35.3
1: MovB (SP),(SP)+ Evt: 4 ; Run: 2202 ; Res: 2206 ; CLC: 35.8

Program completed.

.RUN RTS
RTS - v1.1
Memory Top: 126370
BUF words: 20545
CPU KHz: 3930 > 3954
CPU KHz: 3954

1: Nop Evt: 32 ; Run: 18536 ; Res: 18568 ; CLC: 4.3
1: RtS PC Evt: 4 ; Run: 2520 ; Res: 2524 ; CLC: 31.3
1: RtS R0 Evt: 4 ; Run: 2517 ; Res: 2521 ; CLC: 31.4
1: RtS R1 Evt: 4 ; Run: 2518 ; Res: 2522 ; CLC: 31.4
1: RtI Evt: 3 ; Run: 1861 ; Res: 1864 ; CLC: 42.4
1: RtT Evt: 3 ; Run: 1860 ; Res: 1863 ; CLC: 42.4

Program completed.

.RUN BIS
BiS - v1.1
CPU KHz: 3930 > 3954
CPU KHz: 3954

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

BiS R1 4 17 18 25 21 29 21 22 30
BiS (R1) 13 27 28 35 28 36 30 30 37
BiS (R2)+ 17 31 32 39 32 40 34 34 41
BiS (PC)+ 11 25 26 33 26 35 29 29 37
BiS @(R2)+ 21 35 37 45 37 46 37 37 46
BiS -(R1) 14 28 29 37 29 37 31 31 39
BiS @-(R1) 21 35 37 44 37 46 37 37 46
BiS Addr 15 31 33 40 33 41 33 33 42
BiS @Tab(R1) 23 39 40 46 40 47 41 41 49

Program completed.

.RUN CMP
Cmp - v1.1
CPU KHz: 3930 > 3954
CPU KHz: 3954

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

Cmp R1 4 13 14 21 17 25 15 11 23
Cmp (R1) 13 23 24 31 24 32 25 20 33
Cmp (R2)+ 17 27 28 35 28 36 29 24 37
Cmp (PC)+ 11 19 20 27 20 28 22 18 30
Cmp @(R2)+ 21 31 32 39 32 40 33 28 41
Cmp -(R1) 14 24 25 32 25 33 26 21 34
Cmp @-(R1) 21 31 32 39 32 40 33 28 41
Cmp Addr 15 25 26 33 26 35 27 23 35
Cmp @Tab(R1) 23 32 34 41 34 41 35 31 42

Program completed.

.RUN MOV
Mov - v1.1
CPU KHz: 3930 > 3954
CPU KHz: 3954

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

Mov R1 4 13 14 24 17 25 18 18 25
Mov (R1) 13 23 24 35 24 32 26 26 34
Mov (R2)+ 17 27 28 38 28 36 30 30 37
Mov (PC)+ 11 21 23 32 23 31 25 25 32
Mov @(R2)+ 21 31 32 42 32 40 35 35 41
Mov -(R1) 14 24 25 35 25 35 27 27 35
Mov @-(R1) 21 31 32 42 32 40 35 35 41
Mov Addr 15 27 28 39 28 36 30 30 38
Mov @Tab(R1) 23 35 35 46 35 44 38 38 46

Program completed.

.RUN OP1
Op1 - v1.1
CPU KHz: 3930 > 3954
CPU KHz: 3954

SOB : 18 ! Last SOB : 9 ! Br : 15 ! BCS : 7 ! BCC : 15 ! SeC : 4

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

Tst 4 13 14 21 14 23 15 11 23
TstB 4 13 14 21 14 23 15 11 23
Inc 4 17 18 25 18 26 21 21 30
IncB 4 22 22 28 22 30 27 27 35
Clr 4 13 14 24 14 23 18 18 25
ClrB 4 18 18 28 18 25 23 23 31
MTPS 25 35 39 45 36 46 39 32 46
MFPS 18 25 26 37 26 34 28 28 36
XOr 4 20 21 28 21 29 23 23 31
SwaB 9 23 27 31 24 32 27 27 35
SXt 9 19 23 30 20 28 24 24 31

Program completed.

MiX
15.03.2014, 23:03
Продолжение

Тест МС1201.03 с отключенным К555ВЖ1

.RUN JMP
JMP - v1.4
Memory Top: 126370
BUF words: 20534
CPU KHz: 3930 > 3954
CPU KHz: 3954

SOB Loops: 4321 ; CLC: 18.3
Br Loops: 2371 ; CLC: 15.1
Jmp (R0) Loops: 2446 ; CLC: 14.0
Jmp (PC) Loops: 2446 ; CLC: 14.0
Jmp (PC)+ Loops: 2264 ; CLC: 16.6
Mov R0, PC Loops: 2370 ; CLC: 15.1
Add R0, PC Loops: 2375 ; CLC: 15.0
Jmp LABEL Loops: 2254 ; CLC: 16.8
Jmp @#Addr Loops: 2260 ; CLC: 16.7
Jmp @(R0)+ Loops: 1715 ; CLC: 27.8
Jmp @-(R0) Loops: 1945 ; CLC: 22.4
Jmp xx(R0) Loops: 2264 ; CLC: 16.6
Jmp @x(R0) Loops: 1828 ; CLC: 25.0
Jmp @Var Loops: 1823 ; CLC: 25.1

Program completed.

.RUN MOVPC1
MovPC - v1.2
CPU KHz: 3930 > 3954
CPU KHz: 3954

Mov (PC), (PC)+ 26.5
MovB (PC), (PC)+ 30.9
Mov (PC), R0 13.3
MovB (PC), R0 19.3
Mov (PC), (PC) 35.1
MovB (PC), (PC) 35.0
Mov (PC)+, R0 11.7
MovB (PC)+, R0 16.2
Mov R0, (PC)+ 18.4
MovB R0, (PC)+ 23.3

Program completed.

.RUN MUL
MUL - v1.1
Memory Top: 126370
BUF words: 20429
CPU KHz: 3930 > 3954
CPU KHz: 3954

1: Nop Evt: 18 ; Run: 18527 ; Res: 18545 ; CLC: 4.3
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 60.4
1: Mul R2, R1 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 60.4
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 60.4
1: Mul R2, R1 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 60.4
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 60.4
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 60.4
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 60.4
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 60.4
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1309 ; Res: 1309 ; CLC: 60.4

.RUN ADD
Add - v1.1
CPU KHz: 3930 > 3954
CPU KHz: 3954

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

Add R1 4 17 18 25 21 29 22 22 30
Add (R1) 13 28 28 35 28 36 30 30 37
Add (R2)+ 17 31 32 39 32 40 34 34 41
Add (PC)+ 11 25 26 33 26 35 29 29 37
Add @(R2)+ 21 35 37 46 37 46 37 37 46
Add -(R1) 14 28 29 37 29 37 31 31 39
Add @-(R1) 21 35 37 46 37 46 37 37 46
Add Addr 15 32 33 40 33 41 34 34 42
Add @Tab(R1) 23 39 40 46 40 47 41 41 49

Program completed.

.RUN BISB
BiSB - v1.1
CPU KHz: 3930 > 3954
CPU KHz: 3954

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

BiSB R1 4 22 22 28 22 30 27 27 35
BiSB (R1) 13 32 33 40 33 41 34 34 42
BiSB (R4)+ 17 35 36 43 36 46 37 37 46
BiSB (PC)+ 11 31 31 38 31 39 34 34 42
BiSB @(R2)+ 21 39 40 46 40 47 41 41 49
BiSB -(R1) 14 32 33 40 33 41 34 34 42
BiSB @-(R3) 21 39 40 46 40 47 41 41 49
BiSB Addr 15 37 38 46 38 47 39 39 46
BiSB @Tab(R3) 23 45 46 53 46 54 46 46 54

Program completed.

.RUN CMPB
CmpB - v1.1
CPU KHz: 3930 > 3954
CPU KHz: 3954

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

CmpB R1 4 13 14 21 17 23 15 11 23
CmpB (R1) 13 23 24 31 24 32 25 21 33
CmpB (R4)+ 17 27 28 35 28 36 29 25 37
CmpB (PC)+ 11 19 20 27 20 28 23 18 30
CmpB @(R2)+ 21 31 32 39 32 40 33 29 41
CmpB -(R1) 14 24 25 32 25 33 26 23 34
CmpB @-(R3) 21 31 32 39 32 40 33 29 41
CmpB Addr 15 25 26 34 26 35 27 24 35
CmpB @Tab(R3) 23 32 34 41 34 42 35 31 43

Program completed.

.RUN MOVB
MovB - v1.1
CPU KHz: 3930 > 3954
CPU KHz: 3954

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

MovB R1 9 18 18 28 18 25 23 23 31
MovB (R1) 19 27 28 39 28 37 31 31 38
MovB (R4)+ 23 31 32 42 32 40 34 34 41
MovB (PC)+ 16 26 27 37 27 35 31 31 38
MovB @(R2)+ 27 35 36 46 36 46 37 37 46
MovB -(R1) 20 27 28 39 28 37 31 31 38
MovB @-(R3) 27 35 36 46 36 46 38 38 46
MovB Addr 23 33 34 45 34 42 36 36 43
MovB @Tab(R3) 30 40 41 51 41 49 43 43 50

Program completed.

Patron
15.03.2014, 23:08
А вот интересно SET EM ON как влияет на тесты.Никак не влияет, потому что процессор ВМ3 сам выполняет команды умножения и деления.

MiX
15.03.2014, 23:12
Не я думал выполняет дважды - аппаратным и программным способом.

Patron
15.03.2014, 23:20
Не я думал выполняет дважды - аппаратным и программным способом.Чтобы драйвер EM мог узнать, что пора эмулировать команду ( например ) умножения - процессор при попытке выполнить код этой команды должен выдать прерывание по вктору 010.

Так ведёт себя только ВМ1 - остальные процессоры выполняют умножение сами, поэтому драйвер EM им не нужен.

MiX
15.03.2014, 23:31
А по 004 вектору что не делает процессор ВМ1?

form
29.05.2014, 16:23
Итак, начнем мучить 11/73...
Не знаю правильно ли я пишу частоту. В инете упоминается только 15MHz. Кварц на плате 8MHz, PDPCLK по умолчанию показывает примерно такую же частоту, что похоже на правду... Но я запускал все тесты исходя из 15 и уже лень запускать по новой, так, что надо делать поправки :)

В конфиге ничего кроме проца, памяти и 4-портового DLV11:
+----------+----------+
| KDJ11-A | |
+----------+----------+
| MSV11-JD |
+----------+----------+
| DVL11-J | |
~~~~~~~~~~~~~~~~~~~~~~~




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

CPU KHz: 7900

Program completed.


---------- Post added at 19:23 ---------- Previous post was at 19:22 ----------


.RU ASH
ASH - v1.1
Memory Top: 131072
BUF words: 21181
CPU KHz: 15000 >

1: Nop Evt: 6 ; Run: 6146 ; Res: 6152 ; CLC: 48.8
R2 = 0
1: ASh R2, R0 Evt: 1 ; Run: 5327 ; Res: 5328 ; CLC: 56.3
R2 = 1
1: ASh R2, R0 Evt: 1 ; Run: 4700 ; Res: 4701 ; CLC: 63.8
R2 = 8
1: ASh R2, R0 Evt: 1 ; Run: 2578 ; Res: 2579 ; CLC: 116.3
R2 = -1
1: ASh R2, R0 Evt: 1 ; Run: 4700 ; Res: 4701 ; CLC: 63.8
R2 = -8
1: ASh R2, R0 Evt: 1 ; Run: 2578 ; Res: 2579 ; CLC: 116.3

Program completed.

.RU ASH1
ASH1 - v1.1
Memory Top: 131072
BUF words: 20984
CPU KHz: 5300 > 15000
CPU KHz: 15000
1: ASh #00., R0 Evt: 3 ; Run: 3329 ; Res: 3332 ; CLC: 90.0
1: ASh #01., R0 Evt: 3 ; Run: 3073 ; Res: 3076 ; CLC: 97.5
1: ASh #02., R0 Evt: 3 ; Run: 2854 ; Res: 2857 ; CLC: 105.0
1: ASh #03., R0 Evt: 2 ; Run: 2664 ; Res: 2666 ; CLC: 112.5
1: ASh #04., R0 Evt: 2 ; Run: 2497 ; Res: 2499 ; CLC: 120.0
1: ASh #05., R0 Evt: 1 ; Run: 2350 ; Res: 2351 ; CLC: 127.6
1: ASh #06., R0 Evt: 1 ; Run: 2220 ; Res: 2221 ; CLC: 135.1
1: ASh #07., R0 Evt: 1 ; Run: 2103 ; Res: 2104 ; CLC: 142.6
1: ASh #08., R0 Evt: 1 ; Run: 1998 ; Res: 1999 ; CLC: 150.1
1: ASh #09., R0 Evt: 0 ; Run: 1903 ; Res: 1903 ; CLC: 157.6
1: ASh #10., R0 Evt: 0 ; Run: 1816 ; Res: 1816 ; CLC: 165.2
1: ASh #11., R0 Evt: 0 ; Run: 1737 ; Res: 1737 ; CLC: 172.7
1: ASh #12., R0 Evt: 1 ; Run: 1665 ; Res: 1666 ; CLC: 180.1
1: ASh #13., R0 Evt: 0 ; Run: 1598 ; Res: 1598 ; CLC: 187.7
1: ASh #14., R0 Evt: 0 ; Run: 1537 ; Res: 1537 ; CLC: 195.2
1: ASh #15., R0 Evt: 0 ; Run: 1480 ; Res: 1480 ; CLC: 202.7
1: ASh #16., R0 Evt: 0 ; Run: 1427 ; Res: 1427 ; CLC: 210.2
1: ASh #17., R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 217.7
1: ASh #20., R0 Evt: 0 ; Run: 1249 ; Res: 1249 ; CLC: 240.2
1: ASh #30., R0 Evt: 0 ; Run: 927 ; Res: 927 ; CLC: 324.#
1: ASh #31., R0 Evt: 0 ; Run: 903 ; Res: 903 ; CLC: 333.#

.RU ASH2
ASH2 - v1.1
Memory Top: 131072
BUF words: 20980
CPU KHz: 5300 > 15000
CPU KHz: 15000
1: ASh #000., R0 Evt: 2 ; Run: 3329 ; Res: 3331 ; CLC: 90.1
1: ASh #-01., R0 Evt: 2 ; Run: 3073 ; Res: 3075 ; CLC: 97.6
1: ASh #-02., R0 Evt: 2 ; Run: 2854 ; Res: 2856 ; CLC: 105.0
1: ASh #-03., R0 Evt: 1 ; Run: 2664 ; Res: 2665 ; CLC: 112.6
1: ASh #-04., R0 Evt: 2 ; Run: 2497 ; Res: 2499 ; CLC: 120.0
1: ASh #-05., R0 Evt: 2 ; Run: 2350 ; Res: 2352 ; CLC: 127.6
1: ASh #-06., R0 Evt: 1 ; Run: 2220 ; Res: 2221 ; CLC: 135.1
1: ASh #-07., R0 Evt: 1 ; Run: 2103 ; Res: 2104 ; CLC: 142.6
1: ASh #-08., R0 Evt: 2 ; Run: 1998 ; Res: 2000 ; CLC: 150.0
1: ASh #-09., R0 Evt: 1 ; Run: 1903 ; Res: 1904 ; CLC: 157.6
1: ASh #-10., R0 Evt: 1 ; Run: 1816 ; Res: 1817 ; CLC: 165.1
1: ASh #-11., R0 Evt: 0 ; Run: 1737 ; Res: 1737 ; CLC: 172.7
1: ASh #-12., R0 Evt: 1 ; Run: 1665 ; Res: 1666 ; CLC: 180.1
1: ASh #-13., R0 Evt: 0 ; Run: 1598 ; Res: 1598 ; CLC: 187.7
1: ASh #-14., R0 Evt: 0 ; Run: 1537 ; Res: 1537 ; CLC: 195.2
1: ASh #-15., R0 Evt: 1 ; Run: 1480 ; Res: 1481 ; CLC: 202.6
1: ASh #-16., R0 Evt: 0 ; Run: 1427 ; Res: 1427 ; CLC: 210.2
1: ASh #-17., R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 217.7
1: ASh #-20., R0 Evt: 0 ; Run: 1249 ; Res: 1249 ; CLC: 240.2
1: ASh #-30., R0 Evt: 0 ; Run: 927 ; Res: 927 ; CLC: 324.#
1: ASh #-31., R0 Evt: 0 ; Run: 923 ; Res: 923 ; CLC: 325.#

.RU ASH3
ASH3 - v1.1
Memory Top: 131072
BUF words: 20987
CPU KHz: 5300 > 15000
CPU KHz: 15000
1: 0: ASh R2,R0 Evt: 1 ; Run: 5327 ; Res: 5328 ; CLC: 56.3
1: 1: ASh R2,R0 Evt: 1 ; Run: 4700 ; Res: 4701 ; CLC: 63.8
1: 2: ASh R2,R0 Evt: 1 ; Run: 4206 ; Res: 4207 ; CLC: 71.3
1: 3: ASh R2,R0 Evt: 1 ; Run: 3805 ; Res: 3806 ; CLC: 78.8
1: 4: ASh R2,R0 Evt: 1 ; Run: 3474 ; Res: 3475 ; CLC: 86.3
1: 5: ASh R2,R0 Evt: 1 ; Run: 3196 ; Res: 3197 ; CLC: 93.8
1: 6: ASh R2,R0 Evt: 1 ; Run: 2960 ; Res: 2961 ; CLC: 101.3
1: 7: ASh R2,R0 Evt: 1 ; Run: 2756 ; Res: 2757 ; CLC: 108.8
1: 8: ASh R2,R0 Evt: 1 ; Run: 2578 ; Res: 2579 ; CLC: 116.3
1: 9: ASh R2,R0 Evt: 1 ; Run: 2422 ; Res: 2423 ; CLC: 123.8
1: 10: ASh R2,R0 Evt: 1 ; Run: 2283 ; Res: 2284 ; CLC: 131.3
1: 11: ASh R2,R0 Evt: 1 ; Run: 2160 ; Res: 2161 ; CLC: 138.8
1: 12: ASh R2,R0 Evt: 1 ; Run: 2049 ; Res: 2050 ; CLC: 146.3
1: 13: ASh R2,R0 Evt: 1 ; Run: 1949 ; Res: 1950 ; CLC: 153.8
1: 14: ASh R2,R0 Evt: 1 ; Run: 1859 ; Res: 1860 ; CLC: 161.3
1: 15: ASh R2,R0 Evt: 1 ; Run: 1776 ; Res: 1777 ; CLC: 168.8
1: 16: ASh R2,R0 Evt: 1 ; Run: 1700 ; Res: 1701 ; CLC: 176.4
1: 17: ASh R2,R0 Evt: 1 ; Run: 1631 ; Res: 1632 ; CLC: 183.8
1: 20: ASh R2,R0 Evt: 1 ; Run: 1453 ; Res: 1454 ; CLC: 206.3
1: 30: ASh R2,R0 Evt: 1 ; Run: 1048 ; Res: 1049 ; CLC: 286.0
1: 31: ASh R2,R0 Evt: 1 ; Run: 1003 ; Res: 1004 ; CLC: 298.8

.RU ASH4
ASH4 - v1.1
Memory Top: 131072
BUF words: 20981
CPU KHz: 5300 > 15000
CPU KHz: 15000
1: 0: ASh R2,R0 Evt: 1 ; Run: 5327 ; Res: 5328 ; CLC: 56.3
1: -1: ASh R2,R0 Evt: 1 ; Run: 4700 ; Res: 4701 ; CLC: 63.8
1: -2: ASh R2,R0 Evt: 1 ; Run: 4206 ; Res: 4207 ; CLC: 71.3
1: -3: ASh R2,R0 Evt: 1 ; Run: 3805 ; Res: 3806 ; CLC: 78.8
1: -4: ASh R2,R0 Evt: 1 ; Run: 3474 ; Res: 3475 ; CLC: 86.3
1: -5: ASh R2,R0 Evt: 1 ; Run: 3196 ; Res: 3197 ; CLC: 93.8
1: -6: ASh R2,R0 Evt: 1 ; Run: 2960 ; Res: 2961 ; CLC: 101.3
1: -7: ASh R2,R0 Evt: 1 ; Run: 2756 ; Res: 2757 ; CLC: 108.8
1: -8: ASh R2,R0 Evt: 1 ; Run: 2578 ; Res: 2579 ; CLC: 116.3
1: -9: ASh R2,R0 Evt: 1 ; Run: 2422 ; Res: 2423 ; CLC: 123.8
1: -10: ASh R2,R0 Evt: 1 ; Run: 2283 ; Res: 2284 ; CLC: 131.3
1: -11: ASh R2,R0 Evt: 1 ; Run: 2160 ; Res: 2161 ; CLC: 138.8
1: -12: ASh R2,R0 Evt: 1 ; Run: 2049 ; Res: 2050 ; CLC: 146.3
1: -13: ASh R2,R0 Evt: 1 ; Run: 1949 ; Res: 1950 ; CLC: 153.8
1: -14: ASh R2,R0 Evt: 1 ; Run: 1858 ; Res: 1859 ; CLC: 161.4
1: -15: ASh R2,R0 Evt: 1 ; Run: 1776 ; Res: 1777 ; CLC: 168.8
1: -16: ASh R2,R0 Evt: 1 ; Run: 1700 ; Res: 1701 ; CLC: 176.4
1: -17: ASh R2,R0 Evt: 1 ; Run: 1631 ; Res: 1632 ; CLC: 183.8
1: -20: ASh R2,R0 Evt: 1 ; Run: 1453 ; Res: 1454 ; CLC: 206.3
1: -30: ASh R2,R0 Evt: 1 ; Run: 1048 ; Res: 1049 ; CLC: 286.0
1: -31: ASh R2,R0 Evt: 1 ; Run: 1038 ; Res: 1039 ; CLC: 288.7

form
29.05.2014, 16:24
.RU ASHC
ASHC - v1.1
Memory Top: 131072
BUF words: 21142
CPU KHz: 5300 > 15000
CPU KHz: 15000

1: Nop Evt: 6 ; Run: 6146 ; Res: 6152 ; CLC: 48.8
R2 = 0
1: AShC R2, R0 Evt: 0 ; Run: 4700 ; Res: 4700 ; CLC: 63.8
1: AShC R2, R1 Evt: 0 ; Run: 4700 ; Res: 4700 ; CLC: 63.8
R2 = 1
1: AShC R2, R0 Evt: 0 ; Run: 3805 ; Res: 3805 ; CLC: 78.8
1: AShC R2, R1 Evt: 0 ; Run: 3805 ; Res: 3805 ; CLC: 78.8
R2 = 8
1: AShC R2, R0 Evt: 0 ; Run: 2283 ; Res: 2283 ; CLC: 131.4
1: AShC R2, R1 Evt: 0 ; Run: 2283 ; Res: 2283 ; CLC: 131.4
R2 = -1
1: AShC R2, R0 Evt: 0 ; Run: 3805 ; Res: 3805 ; CLC: 78.8
1: AShC R2, R1 Evt: 0 ; Run: 3805 ; Res: 3805 ; CLC: 78.8
R2 = -8
1: AShC R2, R0 Evt: 0 ; Run: 2160 ; Res: 2160 ; CLC: 138.9
1: AShC R2, R1 Evt: 0 ; Run: 2160 ; Res: 2160 ; CLC: 138.9

Program completed.

.RU ASHC1
ASHC1 - v1.1
Memory Top: 131072
BUF words: 20991
CPU KHz: 5300 > 15000
CPU KHz: 15000
1: AShC #00., R0 Evt: 2 ; Run: 3073 ; Res: 3075 ; CLC: 97.6
1: AShC #01., R0 Evt: 1 ; Run: 2664 ; Res: 2665 ; CLC: 112.6
1: AShC #02., R0 Evt: 2 ; Run: 2497 ; Res: 2499 ; CLC: 120.0
1: AShC #03., R0 Evt: 2 ; Run: 2350 ; Res: 2352 ; CLC: 127.6
1: AShC #04., R0 Evt: 2 ; Run: 2220 ; Res: 2222 ; CLC: 135.0
1: AShC #05., R0 Evt: 1 ; Run: 2103 ; Res: 2104 ; CLC: 142.6
1: AShC #06., R0 Evt: 0 ; Run: 1998 ; Res: 1998 ; CLC: 150.2
1: AShC #07., R0 Evt: 1 ; Run: 1903 ; Res: 1904 ; CLC: 157.6
1: AShC #08., R0 Evt: 1 ; Run: 1816 ; Res: 1817 ; CLC: 165.1
1: AShC #09., R0 Evt: 1 ; Run: 1737 ; Res: 1738 ; CLC: 172.6
1: AShC #10., R0 Evt: 1 ; Run: 1665 ; Res: 1666 ; CLC: 180.1
1: AShC #11., R0 Evt: 0 ; Run: 1598 ; Res: 1598 ; CLC: 187.7
1: AShC #12., R0 Evt: 0 ; Run: 1537 ; Res: 1537 ; CLC: 195.2
1: AShC #13., R0 Evt: 0 ; Run: 1480 ; Res: 1480 ; CLC: 202.7
1: AShC #14., R0 Evt: 0 ; Run: 1427 ; Res: 1427 ; CLC: 210.2
1: AShC #15., R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 217.7
1: AShC #16., R0 Evt: 0 ; Run: 1332 ; Res: 1332 ; CLC: 225.2
1: AShC #17., R0 Evt: 0 ; Run: 1289 ; Res: 1289 ; CLC: 232.7
1: AShC #20., R0 Evt: 0 ; Run: 1172 ; Res: 1172 ; CLC: 256.0
1: AShC #30., R0 Evt: 0 ; Run: 903 ; Res: 903 ; CLC: 333.#
1: AShC #31., R0 Evt: 0 ; Run: 881 ; Res: 881 ; CLC: 341.#

.RU ASHC2
ASHC2 - v1.1
Memory Top: 131072
BUF words: 20988
CPU KHz: 5300 > 15000
CPU KHz: 15000
1: AShC #000., R0 Evt: 3 ; Run: 3073 ; Res: 3076 ; CLC: 97.5
1: AShC #-01., R0 Evt: 2 ; Run: 2664 ; Res: 2666 ; CLC: 112.5
1: AShC #-02., R0 Evt: 1 ; Run: 2350 ; Res: 2351 ; CLC: 127.6
1: AShC #-03., R0 Evt: 2 ; Run: 2220 ; Res: 2222 ; CLC: 135.0
1: AShC #-04., R0 Evt: 1 ; Run: 2103 ; Res: 2104 ; CLC: 142.6
1: AShC #-05., R0 Evt: 1 ; Run: 1998 ; Res: 1999 ; CLC: 150.1
1: AShC #-06., R0 Evt: 0 ; Run: 1903 ; Res: 1903 ; CLC: 157.6
1: AShC #-07., R0 Evt: 0 ; Run: 1816 ; Res: 1816 ; CLC: 165.2
1: AShC #-08., R0 Evt: 0 ; Run: 1737 ; Res: 1737 ; CLC: 172.7
1: AShC #-09., R0 Evt: 1 ; Run: 1665 ; Res: 1666 ; CLC: 180.1
1: AShC #-10., R0 Evt: 0 ; Run: 1598 ; Res: 1598 ; CLC: 187.7
1: AShC #-11., R0 Evt: 0 ; Run: 1537 ; Res: 1537 ; CLC: 195.2
1: AShC #-12., R0 Evt: 0 ; Run: 1480 ; Res: 1480 ; CLC: 202.7
1: AShC #-13., R0 Evt: 0 ; Run: 1427 ; Res: 1427 ; CLC: 210.2
1: AShC #-14., R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 217.7
1: AShC #-15., R0 Evt: 0 ; Run: 1332 ; Res: 1332 ; CLC: 225.2
1: AShC #-16., R0 Evt: 0 ; Run: 1289 ; Res: 1289 ; CLC: 232.7
1: AShC #-17., R0 Evt: 0 ; Run: 1249 ; Res: 1249 ; CLC: 240.2
1: AShC #-20., R0 Evt: 0 ; Run: 1134 ; Res: 1134 ; CLC: 264.6
1: AShC #-30., R0 Evt: 0 ; Run: 881 ; Res: 881 ; CLC: 341.#
1: AShC #-31., R0 Evt: 0 ; Run: 862 ; Res: 862 ; CLC: 348.#

.RU ASHC3
ASHC3 - v1.1
Memory Top: 131072
BUF words: 20986
CPU KHz: 5300 > 15000
CPU KHz: 15000
1: 0: AShC R2,R0 Evt: 0 ; Run: 4700 ; Res: 4700 ; CLC: 63.8
1: 1: AShC R2,R0 Evt: 0 ; Run: 3805 ; Res: 3805 ; CLC: 78.8
1: 2: AShC R2,R0 Evt: 2 ; Run: 3474 ; Res: 3476 ; CLC: 86.3
1: 3: AShC R2,R0 Evt: 0 ; Run: 3196 ; Res: 3196 ; CLC: 93.9
1: 4: AShC R2,R0 Evt: 0 ; Run: 2960 ; Res: 2960 ; CLC: 101.4
1: 5: AShC R2,R0 Evt: 1 ; Run: 2755 ; Res: 2756 ; CLC: 108.9
1: 6: AShC R2,R0 Evt: 0 ; Run: 2578 ; Res: 2578 ; CLC: 116.4
1: 7: AShC R2,R0 Evt: 0 ; Run: 2421 ; Res: 2421 ; CLC: 123.9
1: 8: AShC R2,R0 Evt: 0 ; Run: 2283 ; Res: 2283 ; CLC: 131.4
1: 9: AShC R2,R0 Evt: 0 ; Run: 2160 ; Res: 2160 ; CLC: 138.9
1: 10: AShC R2,R0 Evt: 1 ; Run: 2049 ; Res: 2050 ; CLC: 146.3
1: 11: AShC R2,R0 Evt: 0 ; Run: 1949 ; Res: 1949 ; CLC: 153.9
1: 12: AShC R2,R0 Evt: 0 ; Run: 1858 ; Res: 1858 ; CLC: 161.5
1: 13: AShC R2,R0 Evt: 0 ; Run: 1776 ; Res: 1776 ; CLC: 168.9
1: 14: AShC R2,R0 Evt: 0 ; Run: 1700 ; Res: 1700 ; CLC: 176.5
1: 15: AShC R2,R0 Evt: 0 ; Run: 1631 ; Res: 1631 ; CLC: 183.9
1: 16: AShC R2,R0 Evt: 1 ; Run: 1567 ; Res: 1568 ; CLC: 191.3
1: 17: AShC R2,R0 Evt: 0 ; Run: 1508 ; Res: 1508 ; CLC: 198.9
1: 20: AShC R2,R0 Evt: 0 ; Run: 1354 ; Res: 1354 ; CLC: 221.6
1: 30: AShC R2,R0 Evt: 1 ; Run: 1003 ; Res: 1004 ; CLC: 298.8
1: 31: AShC R2,R0 Evt: 1 ; Run: 972 ; Res: 973 ; CLC: 309.#

.RU ASHC4
ASHC4 - v1.1
Memory Top: 131072
BUF words: 20980
CPU KHz: 5300 > 15000
CPU KHz: 15000
1: 0: AShC R2,R0 Evt: 0 ; Run: 4700 ; Res: 4700 ; CLC: 63.8
1: -1: AShC R2,R0 Evt: 0 ; Run: 3805 ; Res: 3805 ; CLC: 78.8
1: -2: AShC R2,R0 Evt: 0 ; Run: 3196 ; Res: 3196 ; CLC: 93.9
1: -3: AShC R2,R0 Evt: 0 ; Run: 2960 ; Res: 2960 ; CLC: 101.4
1: -4: AShC R2,R0 Evt: 1 ; Run: 2756 ; Res: 2757 ; CLC: 108.8
1: -5: AShC R2,R0 Evt: 0 ; Run: 2578 ; Res: 2578 ; CLC: 116.4
1: -6: AShC R2,R0 Evt: 0 ; Run: 2422 ; Res: 2422 ; CLC: 123.9
1: -7: AShC R2,R0 Evt: 1 ; Run: 2283 ; Res: 2284 ; CLC: 131.3
1: -8: AShC R2,R0 Evt: 0 ; Run: 2160 ; Res: 2160 ; CLC: 138.9
1: -9: AShC R2,R0 Evt: 0 ; Run: 2049 ; Res: 2049 ; CLC: 146.4
1: -10: AShC R2,R0 Evt: 0 ; Run: 1949 ; Res: 1949 ; CLC: 153.9
1: -11: AShC R2,R0 Evt: 0 ; Run: 1858 ; Res: 1858 ; CLC: 161.5
1: -12: AShC R2,R0 Evt: 0 ; Run: 1776 ; Res: 1776 ; CLC: 168.9
1: -13: AShC R2,R0 Evt: 1 ; Run: 1700 ; Res: 1701 ; CLC: 176.4
1: -14: AShC R2,R0 Evt: 0 ; Run: 1631 ; Res: 1631 ; CLC: 183.9
1: -15: AShC R2,R0 Evt: 0 ; Run: 1567 ; Res: 1567 ; CLC: 191.4
1: -16: AShC R2,R0 Evt: 0 ; Run: 1508 ; Res: 1508 ; CLC: 198.9
1: -17: AShC R2,R0 Evt: 0 ; Run: 1453 ; Res: 1453 ; CLC: 206.5
1: -20: AShC R2,R0 Evt: 0 ; Run: 1306 ; Res: 1306 ; CLC: 229.7
1: -30: AShC R2,R0 Evt: 2 ; Run: 972 ; Res: 974 ; CLC: 308.#
1: -31: AShC R2,R0 Evt: 0 ; Run: 947 ; Res: 947 ; CLC: 317.#

form
29.05.2014, 16:25
.RU DIV
DIV - v1.1
Memory Top: 131072
BUF words: 21186
CPU KHz: 5300 > 15000
CPU KHz: 15000

1: Nop Evt: 7 ; Run: 6146 ; Res: 6153 ; CLC: 48.8
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 972 ; Res: 972 ; CLC: 309.#
1: Div R2, R1 Evt: 0 ; Run: 972 ; Res: 972 ; CLC: 309.#
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 1038 ; Res: 1038 ; CLC: 289.0
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 972 ; Res: 972 ; CLC: 309.#
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 4700 ; Res: 4700 ; CLC: 63.8

Program completed.

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

SOB Loops: 7994 ; CLC: 37.5
Br Loops: 4441 ; CLC: 30.0
Jmp (R0) Loops: 4441 ; CLC: 30.0
Jmp (PC) Loops: 4441 ; CLC: 30.0
Jmp (PC)+ Loops: 3634 ; CLC: 45.0
Mov R0, PC Loops: 3635 ; CLC: 45.0
Add R0, PC Loops: 3635 ; CLC: 45.0
Jmp LABEL Loops: 3998 ; CLC: 37.5
Jmp @#Addr Loops: 3998 ; CLC: 37.5
Jmp @(R0)+ Loops: 2960 ; CLC: 63.8
Jmp @-(R0) Loops: 2755 ; CLC: 71.4
Jmp xx(R0) Loops: 3634 ; CLC: 45.0
Jmp @x(R0) Loops: 3331 ; CLC: 52.5
Jmp @Var Loops: 3330 ; CLC: 52.6

Program completed.

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

SOB Loops: 7994 ; CLC: 37.5
Loop Loops: 1816 ; CLC: 127.7
Loop +InterruptOverrun
IOT Loops: 1249 ; CLC: 202.7
Trap Loops: 1249 ; CLC: 202.7
JSR PC, (R0) Loops: 2422 ; CLC: 86.3
JSR R0, (PC) Loops: 2284 ; CLC: 93.8
JSR PC, (PC) Loops: 2423 ; CLC: 86.3
JSR PC, (PC)+ Loops: 2284 ; CLC: 93.8
JSR PC,@(PC)+ Loops: 2421 ; CLC: 86.4
JSR PC,@(R0)+ Loops: 1903 ; CLC: 120.1
JSR PC,@(SP)+ Loops: 2284 ; CLC: 93.8
JSR PC,@-(R0) Loops: 2154 ; CLC: 101.8
JSR R1,@-(R0) Loops: 2044 ; CLC: 109.3
JSR PC, Label Loops: 2422 ; CLC: 86.3
JSR PC,@Var Loops: 2050 ; CLC: 108.8
JSR R1,@x(R0) Loops: 1950 ; CLC: 116.3


---------- Post added at 19:25 ---------- Previous post was at 19:25 ----------


.RU MOVPC1
MovPC - v1.2
CPU KHz: 5300 > 15000
CPU KHz: 15000

Mov (PC), (PC)+ 94.0
MovB (PC), (PC)+ 94.0
Mov (PC), R0 22.6
MovB (PC), R0 22.6
Mov (PC), (PC) 94.0
MovB (PC), (PC) 94.0
Mov (PC)+, R0 15.1
MovB (PC)+, R0 15.1
Mov R0, (PC)+ 78.9
MovB R0, (PC)+ 78.9

Program completed.

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

1: Nop Evt: 10 ; Run: 6145 ; Res: 6155 ; CLC: 48.7
1: Mov R0, R0 Evt: 13 ; Run: 8876 ; Res: 8889 ; CLC: 33.7
1: Mov R0, (PC) Evt: 4 ; Run: 2853 ; Res: 2857 ; CLC: 105.0
1: MovB R0, (PC) Evt: 5 ; Run: 2853 ; Res: 2858 ; CLC: 105.0
1: Mov (PC), R0 Evt: 9 ; Run: 6145 ; Res: 6154 ; CLC: 48.7
1: MovB (PC), R0 Evt: 9 ; Run: 6145 ; Res: 6154 ; CLC: 48.7
::: SP = PC :::
1: Mov R0, (SP)+ Evt: 4 ; Run: 2854 ; Res: 2858 ; CLC: 105.0
1: MovB R0, (SP)+ Evt: 5 ; Run: 2854 ; Res: 2859 ; CLC: 104.9
1: Mov (SP),(SP)+ Evt: 4 ; Run: 2498 ; Res: 2502 ; CLC: 119.9
1: MovB (SP),(SP)+ Evt: 4 ; Run: 2497 ; Res: 2501 ; CLC: 120.0

Program completed.

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

1: Nop Evt: 5 ; Run: 6146 ; Res: 6151 ; CLC: 48.8
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 1 ; Run: 1508 ; Res: 1509 ; CLC: 198.8
1: Mul R2, R1 Evt: 0 ; Run: 1508 ; Res: 1508 ; CLC: 198.9
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 1 ; Run: 1508 ; Res: 1509 ; CLC: 198.8
1: Mul R2, R1 Evt: 0 ; Run: 1508 ; Res: 1508 ; CLC: 198.9
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 1 ; Run: 1567 ; Res: 1568 ; CLC: 191.3
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1567 ; Res: 1567 ; CLC: 191.4
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 1 ; Run: 1567 ; Res: 1568 ; CLC: 191.3
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1567 ; Res: 1567 ; CLC: 191.4
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1567 ; Res: 1567 ; CLC: 191.4

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

1: Nop Evt: 9 ; Run: 6146 ; Res: 6155 ; CLC: 48.7
1: RtS PC Evt: 4 ; Run: 3330 ; Res: 3334 ; CLC: 90.0
1: RtS R0 Evt: 4 ; Run: 3074 ; Res: 3078 ; CLC: 97.5
1: RtS R1 Evt: 4 ; Run: 3074 ; Res: 3078 ; CLC: 97.5
1: RtI Evt: 3 ; Run: 1949 ; Res: 1952 ; CLC: 153.7
1: RtT Evt: 3 ; Run: 1949 ; Res: 1952 ; CLC: 153.7

Program completed.

form
29.05.2014, 16:27
.RU ADD
Add - v1.1
CPU KHz: 5300 > 15000
CPU KHz: 15000

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

Add R1 7 57 56 72 112 126 74 86 86
Add (R1) 22 72 71 87 127 141 89 101 101
Add (R2)+ 22 72 72 87 133 147 89 101 101
Add (PC)+ 15 65 65 79 125 139 146 94 95
Add @(R2)+ 37 87 87 102 148 162 104 116 116
Add -(R1) 76 126 131 147 140 155 149 161 161
Add @-(R1) 91 141 146 162 155 170 164 176 176
Add Addr 40 91 90 104 150 164 205 153 154
Add @Tab(R1) 52 103 102 116 162 176 183 132 132

Program completed.

.RU BIS
BiS - v1.1
CPU KHz: 5300 > 15000
CPU KHz: 15000

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

BiS R1 7 57 56 72 112 126 74 86 86
BiS (R1) 22 72 71 87 127 141 89 101 101
BiS (R2)+ 22 72 72 87 133 147 89 101 101
BiS (PC)+ 15 65 65 79 125 139 146 94 95
BiS @(R2)+ 37 87 87 102 148 162 104 116 116
BiS -(R1) 76 126 131 147 140 155 149 161 161
BiS @-(R1) 91 141 146 162 155 170 164 176 176
BiS Addr 40 91 90 104 150 164 205 153 154
BiS @Tab(R1) 52 103 102 116 162 176 183 132 132

Program completed.

.RU BISB
BiSB - v1.1
CPU KHz: 5300 > 15000
CPU KHz: 15000

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

BiSB R1 7 57 57 72 85 126 74 86 88
BiSB (R1) 22 72 72 87 100 141 89 101 103
BiSB (R4)+ 22 72 71 87 106 147 89 101 103
BiSB (PC)+ 15 64 65 81 98 141 146 94 95
BiSB @(R2)+ 37 87 87 102 121 162 104 116 118
BiSB -(R1) 50 100 106 121 133 149 123 135 137
BiSB @-(R3) 92 141 147 162 149 170 164 176 178
BiSB Addr 40 89 90 106 124 166 206 153 154
BiSB @Tab(R3) 52 101 102 118 136 178 184 132 133

Program completed.

.RU CMP
Cmp - v1.1
CPU KHz: 5300 > 15000
CPU KHz: 15000

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

Cmp R1 7 30 30 45 83 99 48 22 60
Cmp (R1) 22 45 45 60 99 114 63 37 75
Cmp (R2)+ 22 45 45 60 105 120 63 37 75
Cmp (PC)+ 15 37 37 53 97 112 89 30 68
Cmp @(R2)+ 37 60 60 75 120 135 78 53 90
Cmp -(R1) 76 99 105 120 113 128 123 97 135
Cmp @-(R1) 91 114 120 135 128 143 138 112 150
Cmp Addr 40 63 63 78 123 138 149 89 127
Cmp @Tab(R1) 52 75 75 90 135 150 127 68 105

Program completed.

.RU MOV
Mov - v1.1
CPU KHz: 5300 > 15000
CPU KHz: 15000

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

Mov R1 7 49 49 65 81 118 65 79 79
Mov (R1) 22 64 64 80 96 133 80 94 94
Mov (R2)+ 22 65 65 80 99 139 80 94 94
Mov (PC)+ 15 58 57 71 91 131 120 86 87
Mov @(R2)+ 37 80 80 95 114 154 95 109 109
Mov -(R1) 76 118 120 139 119 147 140 154 154
Mov @-(R1) 91 133 135 154 134 162 155 169 169
Mov Addr 40 83 83 97 116 157 179 146 147
Mov @Tab(R1) 52 96 95 109 129 169 157 124 125

Program completed.

.RU OP1
Op1 - v1.1
CPU KHz: 5300 > 15000
CPU KHz: 15000

SOB : 37 ! Last SOB : 22 ! Br : 30 ! BCS : 15 ! BCC : 30 ! SeC : 22

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

Tst 7 22 22 37 82 97 40 15 52
TstB 7 22 22 37 56 97 40 15 52
Inc 7 57 56 72 118 132 74 86 86
IncB 7 57 57 72 91 132 74 86 86
Clr 7 49 49 65 84 124 65 79 79
ClrB 7 49 49 65 57 124 64 79 79
MTPS 60 75 75 90 108 150 93 67 105
MFPS 7 49 49 65 57 124 64 79 79
XOr 7 57 56 72 118 132 74 86 86
SwaB 7 57 56 72 118 132 74 86 86
SXt 7 49 49 65 84 124 65 79 79

Program completed.


---------- Post added at 19:27 ---------- Previous post was at 19:26 ----------

И JSR11 который...


.RU JSR
JSR - v1.1
Memory Top: 131030
BUF words: 21132
CPU KHz: 5300 > 15000
CPU KHz: 15000

SOB Loops: 7995 ; CLC: 37.5
Loop Loops: 1816 ; CLC: 127.7
Loop +InterruptOverrun
IOT Loops: 1249 ; CLC: 202.7
Trap Loops: 1249 ; CLC: 202.7
JSR PC, (R0) Loops: 2422 ; CLC: 86.3
JSR R0, (PC) Loops: 2284 ; CLC: 93.8
JSR PC, (PC) Loops: 2423 ; CLC: 86.3
JSR PC, (PC)+ Loops: 2284 ; CLC: 93.8
JSR PC,@(PC)+ Loops: 2421 ; CLC: 86.4
JSR PC,@(R0)+ Loops: 1903 ; CLC: 120.1
JSR PC,@(SP)+ Loops: 2284 ; CLC: 93.8
JSR PC,@-(R0) Loops: 2154 ; CLC: 101.8
JSR R1,@-(R0) Loops: 2044 ; CLC: 109.3
JSR PC, Label Loops: 2422 ; CLC: 86.3
JSR PC,@Var Loops: 2050 ; CLC: 108.8
JSR R1,@x(R0) Loops: 1950 ; CLC: 116.3


Может пропустил чего, но уже сил нет :)

Patron
29.05.2014, 16:51
надо делать поправкиВ первом приближении - делить измеренное количество тактов на 2

( а точнее - на 150/79 = 1.9 ).

form
29.05.2014, 16:54
В первом приближении - делить измеренное количество тактов на 2

( а точнее - на 150/79 = 1.9 ).

Попозже соберусь с силами и прогоню с правильной частотой. Заодно если еще есть какие идеи - сразу можно предлагать, а то все пока собрано на соплях и запускается с 10го раза (пуск БП не защищен от дребезга [свою вчерашнюю плату пускателя испортил], да и вообще в нем все болтается) :D

---------- Post added at 19:54 ---------- Previous post was at 19:52 ----------

Надежность BENVT не проверял, но судя по тестам, в пределах нормы. BEVNT генерится на 11/83 выключением светодиода индикаторной панели и включением его через 2 нопа :D

Patron
29.05.2014, 17:00
В приницпе, те тесты, где выводится значение Res, можно не перезапускать, потому что Res - это количество команд в цепочке, которое выполнилось между двумя прерываниями таймера и этого вполне достаточно для определения и быстродействия, и таймингов.

А вот "табличные" тесты - это другое дело ( кроме MOV надо ещё MOVB не забыть - у некоторых процессоров тайминги у них отличаются ).

form
29.05.2014, 18:14
Кстати предложение по этим тестам - предусмотреть пакетный режим запуска. Что-нибудь вроде
.GET TEST

.D 1000=freq

.ST

чтобы один раз сделать запуск всего подряд и не мучиться :)

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

Отдохнул немного...
Поехали с правильной частотой :)
.RU ASH
ASH - v1.1
Memory Top: 131072
BUF words: 21181
CPU KHz: 15000 > 8000
CPU KHz: 8000

1: Nop Evt: 7 ; Run: 6146 ; Res: 6153 ; CLC: 26.0
R2 = 0
1: ASh R2, R0 Evt: 1 ; Run: 5327 ; Res: 5328 ; CLC: 30.0
R2 = 1
1: ASh R2, R0 Evt: 1 ; Run: 4700 ; Res: 4701 ; CLC: 34.0
R2 = 8
1: ASh R2, R0 Evt: 1 ; Run: 2578 ; Res: 2579 ; CLC: 62.0
R2 = -1
1: ASh R2, R0 Evt: 1 ; Run: 4700 ; Res: 4701 ; CLC: 34.0
R2 = -8
1: ASh R2, R0 Evt: 1 ; Run: 2578 ; Res: 2579 ; CLC: 62.0

Program completed.

.RU ASH1
ASH1 - v1.1
Memory Top: 131072
BUF words: 20984
CPU KHz: 15000 > 8000
CPU KHz: 8000
1: ASh #00., R0 Evt: 3 ; Run: 3329 ; Res: 3332 ; CLC: 48.0
1: ASh #01., R0 Evt: 3 ; Run: 3073 ; Res: 3076 ; CLC: 52.0
1: ASh #02., R0 Evt: 2 ; Run: 2854 ; Res: 2856 ; CLC: 56.0
1: ASh #03., R0 Evt: 2 ; Run: 2664 ; Res: 2666 ; CLC: 60.0
1: ASh #04., R0 Evt: 2 ; Run: 2497 ; Res: 2499 ; CLC: 64.0
1: ASh #05., R0 Evt: 1 ; Run: 2350 ; Res: 2351 ; CLC: 68.1
1: ASh #06., R0 Evt: 1 ; Run: 2220 ; Res: 2221 ; CLC: 72.0
1: ASh #07., R0 Evt: 1 ; Run: 2103 ; Res: 2104 ; CLC: 76.0
1: ASh #08., R0 Evt: 1 ; Run: 1998 ; Res: 1999 ; CLC: 80.0
1: ASh #09., R0 Evt: 1 ; Run: 1903 ; Res: 1904 ; CLC: 84.0
1: ASh #10., R0 Evt: 0 ; Run: 1816 ; Res: 1816 ; CLC: 88.1
1: ASh #11., R0 Evt: 0 ; Run: 1737 ; Res: 1737 ; CLC: 92.1
1: ASh #12., R0 Evt: 1 ; Run: 1665 ; Res: 1666 ; CLC: 96.0
1: ASh #13., R0 Evt: 0 ; Run: 1598 ; Res: 1598 ; CLC: 100.1
1: ASh #14., R0 Evt: 0 ; Run: 1537 ; Res: 1537 ; CLC: 104.1
1: ASh #15., R0 Evt: 0 ; Run: 1480 ; Res: 1480 ; CLC: 108.1
1: ASh #16., R0 Evt: 0 ; Run: 1427 ; Res: 1427 ; CLC: 112.1
1: ASh #17., R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 116.1
1: ASh #20., R0 Evt: 0 ; Run: 1249 ; Res: 1249 ; CLC: 128.1
1: ASh #30., R0 Evt: 0 ; Run: 927 ; Res: 927 ; CLC: 173.#
1: ASh #31., R0 Evt: 0 ; Run: 903 ; Res: 903 ; CLC: 177.#

.RU ASH2
ASH2 - v1.1
Memory Top: 131072
BUF words: 20980
CPU KHz: 15000 > 8000
CPU KHz: 8000
1: ASh #000., R0 Evt: 2 ; Run: 3329 ; Res: 3331 ; CLC: 48.0
1: ASh #-01., R0 Evt: 3 ; Run: 3073 ; Res: 3076 ; CLC: 52.0
1: ASh #-02., R0 Evt: 2 ; Run: 2854 ; Res: 2856 ; CLC: 56.0
1: ASh #-03., R0 Evt: 2 ; Run: 2664 ; Res: 2666 ; CLC: 60.0
1: ASh #-04., R0 Evt: 2 ; Run: 2497 ; Res: 2499 ; CLC: 64.0
1: ASh #-05., R0 Evt: 1 ; Run: 2350 ; Res: 2351 ; CLC: 68.1
1: ASh #-06., R0 Evt: 2 ; Run: 2220 ; Res: 2222 ; CLC: 72.0
1: ASh #-07., R0 Evt: 1 ; Run: 2103 ; Res: 2104 ; CLC: 76.0
1: ASh #-08., R0 Evt: 1 ; Run: 1998 ; Res: 1999 ; CLC: 80.0
1: ASh #-09., R0 Evt: 1 ; Run: 1903 ; Res: 1904 ; CLC: 84.0
1: ASh #-10., R0 Evt: 0 ; Run: 1816 ; Res: 1816 ; CLC: 88.1
1: ASh #-11., R0 Evt: 0 ; Run: 1737 ; Res: 1737 ; CLC: 92.1
1: ASh #-12., R0 Evt: 1 ; Run: 1665 ; Res: 1666 ; CLC: 96.0
1: ASh #-13., R0 Evt: 0 ; Run: 1598 ; Res: 1598 ; CLC: 100.1
1: ASh #-14., R0 Evt: 0 ; Run: 1537 ; Res: 1537 ; CLC: 104.1
1: ASh #-15., R0 Evt: 0 ; Run: 1480 ; Res: 1480 ; CLC: 108.1
1: ASh #-16., R0 Evt: 0 ; Run: 1427 ; Res: 1427 ; CLC: 112.1
1: ASh #-17., R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 116.1
1: ASh #-20., R0 Evt: 0 ; Run: 1249 ; Res: 1249 ; CLC: 128.1
1: ASh #-30., R0 Evt: 0 ; Run: 927 ; Res: 927 ; CLC: 173.#
1: ASh #-31., R0 Evt: 0 ; Run: 923 ; Res: 923 ; CLC: 174.#

.RU ASH3
ASH3 - v1.1
Memory Top: 131072
BUF words: 20987
CPU KHz: 15000 > 8000
CPU KHz: 8000
1: 0: ASh R2,R0 Evt: 1 ; Run: 5327 ; Res: 5328 ; CLC: 30.0
1: 1: ASh R2,R0 Evt: 1 ; Run: 4700 ; Res: 4701 ; CLC: 34.0
1: 2: ASh R2,R0 Evt: 1 ; Run: 4206 ; Res: 4207 ; CLC: 38.0
1: 3: ASh R2,R0 Evt: 1 ; Run: 3805 ; Res: 3806 ; CLC: 42.0
1: 4: ASh R2,R0 Evt: 1 ; Run: 3474 ; Res: 3475 ; CLC: 46.0
1: 5: ASh R2,R0 Evt: 1 ; Run: 3196 ; Res: 3197 ; CLC: 50.0
1: 6: ASh R2,R0 Evt: 1 ; Run: 2960 ; Res: 2961 ; CLC: 54.0
1: 7: ASh R2,R0 Evt: 1 ; Run: 2756 ; Res: 2757 ; CLC: 58.0
1: 8: ASh R2,R0 Evt: 1 ; Run: 2578 ; Res: 2579 ; CLC: 62.0
1: 9: ASh R2,R0 Evt: 1 ; Run: 2421 ; Res: 2422 ; CLC: 66.1
1: 10: ASh R2,R0 Evt: 1 ; Run: 2283 ; Res: 2284 ; CLC: 70.1
1: 11: ASh R2,R0 Evt: 1 ; Run: 2160 ; Res: 2161 ; CLC: 74.0
1: 12: ASh R2,R0 Evt: 1 ; Run: 2049 ; Res: 2050 ; CLC: 78.0
1: 13: ASh R2,R0 Evt: 1 ; Run: 1949 ; Res: 1950 ; CLC: 82.1
1: 14: ASh R2,R0 Evt: 1 ; Run: 1858 ; Res: 1859 ; CLC: 86.1
1: 15: ASh R2,R0 Evt: 1 ; Run: 1776 ; Res: 1777 ; CLC: 90.0
1: 16: ASh R2,R0 Evt: 1 ; Run: 1700 ; Res: 1701 ; CLC: 94.1
1: 17: ASh R2,R0 Evt: 1 ; Run: 1631 ; Res: 1632 ; CLC: 98.0
1: 20: ASh R2,R0 Evt: 1 ; Run: 1453 ; Res: 1454 ; CLC: 110.0
1: 30: ASh R2,R0 Evt: 1 ; Run: 1047 ; Res: 1048 ; CLC: 152.7
1: 31: ASh R2,R0 Evt: 1 ; Run: 1003 ; Res: 1004 ; CLC: 159.4

.RU ASH4
ASH4 - v1.1
Memory Top: 131072
BUF words: 20981
CPU KHz: 15000 > 8000
CPU KHz: 8000
1: 0: ASh R2,R0 Evt: 1 ; Run: 5327 ; Res: 5328 ; CLC: 30.0
1: -1: ASh R2,R0 Evt: 1 ; Run: 4700 ; Res: 4701 ; CLC: 34.0
1: -2: ASh R2,R0 Evt: 1 ; Run: 4205 ; Res: 4206 ; CLC: 38.0
1: -3: ASh R2,R0 Evt: 1 ; Run: 3805 ; Res: 3806 ; CLC: 42.0
1: -4: ASh R2,R0 Evt: 1 ; Run: 3474 ; Res: 3475 ; CLC: 46.0
1: -5: ASh R2,R0 Evt: 1 ; Run: 3196 ; Res: 3197 ; CLC: 50.0
1: -6: ASh R2,R0 Evt: 1 ; Run: 2960 ; Res: 2961 ; CLC: 54.0
1: -7: ASh R2,R0 Evt: 1 ; Run: 2755 ; Res: 2756 ; CLC: 58.1
1: -8: ASh R2,R0 Evt: 1 ; Run: 2578 ; Res: 2579 ; CLC: 62.0
1: -9: ASh R2,R0 Evt: 1 ; Run: 2422 ; Res: 2423 ; CLC: 66.0
1: -10: ASh R2,R0 Evt: 1 ; Run: 2283 ; Res: 2284 ; CLC: 70.1
1: -11: ASh R2,R0 Evt: 1 ; Run: 2160 ; Res: 2161 ; CLC: 74.0
1: -12: ASh R2,R0 Evt: 1 ; Run: 2049 ; Res: 2050 ; CLC: 78.0
1: -13: ASh R2,R0 Evt: 1 ; Run: 1949 ; Res: 1950 ; CLC: 82.1
1: -14: ASh R2,R0 Evt: 1 ; Run: 1858 ; Res: 1859 ; CLC: 86.1
1: -15: ASh R2,R0 Evt: 1 ; Run: 1776 ; Res: 1777 ; CLC: 90.0
1: -16: ASh R2,R0 Evt: 1 ; Run: 1700 ; Res: 1701 ; CLC: 94.1
1: -17: ASh R2,R0 Evt: 1 ; Run: 1631 ; Res: 1632 ; CLC: 98.0
1: -20: ASh R2,R0 Evt: 1 ; Run: 1453 ; Res: 1454 ; CLC: 110.0
1: -30: ASh R2,R0 Evt: 1 ; Run: 1048 ; Res: 1049 ; CLC: 152.5
1: -31: ASh R2,R0 Evt: 1 ; Run: 1038 ; Res: 1039 ; CLC: 154.0

form
29.05.2014, 18:22
.RU ASHC
ASHC - v1.1
Memory Top: 131072
BUF words: 21142
CPU KHz: 15000 > 8000
CPU KHz: 8000

1: Nop Evt: 7 ; Run: 6146 ; Res: 6153 ; CLC: 26.0
R2 = 0
1: AShC R2, R0 Evt: 0 ; Run: 4700 ; Res: 4700 ; CLC: 34.0
1: AShC R2, R1 Evt: 1 ; Run: 4700 ; Res: 4701 ; CLC: 34.0
R2 = 1
1: AShC R2, R0 Evt: 0 ; Run: 3805 ; Res: 3805 ; CLC: 42.0
1: AShC R2, R1 Evt: 0 ; Run: 3805 ; Res: 3805 ; CLC: 42.0
R2 = 8
1: AShC R2, R0 Evt: 0 ; Run: 2283 ; Res: 2283 ; CLC: 70.1
1: AShC R2, R1 Evt: 0 ; Run: 2283 ; Res: 2283 ; CLC: 70.1
R2 = -1
1: AShC R2, R0 Evt: 0 ; Run: 3805 ; Res: 3805 ; CLC: 42.0
1: AShC R2, R1 Evt: 0 ; Run: 3805 ; Res: 3805 ; CLC: 42.0
R2 = -8
1: AShC R2, R0 Evt: 1 ; Run: 2160 ; Res: 2161 ; CLC: 74.0
1: AShC R2, R1 Evt: 0 ; Run: 2160 ; Res: 2160 ; CLC: 74.1

Program completed.

.RU ASHC1
ASHC1 - v1.1
Memory Top: 131072
BUF words: 20991
CPU KHz: 15000 > 8000
CPU KHz: 8000
1: AShC #00., R0 Evt: 2 ; Run: 3073 ; Res: 3075 ; CLC: 52.0
1: AShC #01., R0 Evt: 2 ; Run: 2664 ; Res: 2666 ; CLC: 60.0
1: AShC #02., R0 Evt: 2 ; Run: 2497 ; Res: 2499 ; CLC: 64.0
1: AShC #03., R0 Evt: 1 ; Run: 2350 ; Res: 2351 ; CLC: 68.1
1: AShC #04., R0 Evt: 1 ; Run: 2220 ; Res: 2221 ; CLC: 72.0
1: AShC #05., R0 Evt: 1 ; Run: 2103 ; Res: 2104 ; CLC: 76.0
1: AShC #06., R0 Evt: 1 ; Run: 1998 ; Res: 1999 ; CLC: 80.0
1: AShC #07., R0 Evt: 0 ; Run: 1903 ; Res: 1903 ; CLC: 84.1
1: AShC #08., R0 Evt: 0 ; Run: 1816 ; Res: 1816 ; CLC: 88.1
1: AShC #09., R0 Evt: 0 ; Run: 1737 ; Res: 1737 ; CLC: 92.1
1: AShC #10., R0 Evt: 1 ; Run: 1665 ; Res: 1666 ; CLC: 96.0
1: AShC #11., R0 Evt: 0 ; Run: 1598 ; Res: 1598 ; CLC: 100.1
1: AShC #12., R0 Evt: 0 ; Run: 1537 ; Res: 1537 ; CLC: 104.1
1: AShC #13., R0 Evt: 0 ; Run: 1480 ; Res: 1480 ; CLC: 108.1
1: AShC #14., R0 Evt: 0 ; Run: 1427 ; Res: 1427 ; CLC: 112.1
1: AShC #15., R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 116.1
1: AShC #16., R0 Evt: 0 ; Run: 1332 ; Res: 1332 ; CLC: 120.1
1: AShC #17., R0 Evt: 0 ; Run: 1289 ; Res: 1289 ; CLC: 124.1
1: AShC #20., R0 Evt: 0 ; Run: 1172 ; Res: 1172 ; CLC: 136.5
1: AShC #30., R0 Evt: 0 ; Run: 903 ; Res: 903 ; CLC: 177.#
1: AShC #31., R0 Evt: 0 ; Run: 881 ; Res: 881 ; CLC: 182.#

.RU ASHC2
ASHC2 - v1.1
Memory Top: 131072
BUF words: 20988
CPU KHz: 15000 > 8000
CPU KHz: 8000
1: AShC #000., R0 Evt: 3 ; Run: 3073 ; Res: 3076 ; CLC: 52.0
1: AShC #-01., R0 Evt: 2 ; Run: 2663 ; Res: 2665 ; CLC: 60.0
1: AShC #-02., R0 Evt: 2 ; Run: 2350 ; Res: 2352 ; CLC: 68.0
1: AShC #-03., R0 Evt: 1 ; Run: 2220 ; Res: 2221 ; CLC: 72.0
1: AShC #-04., R0 Evt: 1 ; Run: 2103 ; Res: 2104 ; CLC: 76.0
1: AShC #-05., R0 Evt: 2 ; Run: 1998 ; Res: 2000 ; CLC: 80.0
1: AShC #-06., R0 Evt: 1 ; Run: 1903 ; Res: 1904 ; CLC: 84.0
1: AShC #-07., R0 Evt: 0 ; Run: 1816 ; Res: 1816 ; CLC: 88.1
1: AShC #-08., R0 Evt: 1 ; Run: 1737 ; Res: 1738 ; CLC: 92.1
1: AShC #-09., R0 Evt: 1 ; Run: 1665 ; Res: 1666 ; CLC: 96.0
1: AShC #-10., R0 Evt: 0 ; Run: 1598 ; Res: 1598 ; CLC: 100.1
1: AShC #-11., R0 Evt: 0 ; Run: 1537 ; Res: 1537 ; CLC: 104.1
1: AShC #-12., R0 Evt: 0 ; Run: 1480 ; Res: 1480 ; CLC: 108.1
1: AShC #-13., R0 Evt: 0 ; Run: 1427 ; Res: 1427 ; CLC: 112.1
1: AShC #-14., R0 Evt: 0 ; Run: 1378 ; Res: 1378 ; CLC: 116.1
1: AShC #-15., R0 Evt: 0 ; Run: 1332 ; Res: 1332 ; CLC: 120.1
1: AShC #-16., R0 Evt: 0 ; Run: 1289 ; Res: 1289 ; CLC: 124.1
1: AShC #-17., R0 Evt: 0 ; Run: 1249 ; Res: 1249 ; CLC: 128.1
1: AShC #-20., R0 Evt: 0 ; Run: 1134 ; Res: 1134 ; CLC: 141.1
1: AShC #-30., R0 Evt: 0 ; Run: 881 ; Res: 881 ; CLC: 182.#
1: AShC #-31., R0 Evt: 0 ; Run: 863 ; Res: 863 ; CLC: 186.#

.RU ASHC3
ASHC3 - v1.1
Memory Top: 131072
BUF words: 20986
CPU KHz: 15000 > 8000
CPU KHz: 8000
1: 0: AShC R2,R0 Evt: 0 ; Run: 4700 ; Res: 4700 ; CLC: 34.0
1: 1: AShC R2,R0 Evt: 1 ; Run: 3805 ; Res: 3806 ; CLC: 42.0
1: 2: AShC R2,R0 Evt: 0 ; Run: 3474 ; Res: 3474 ; CLC: 46.1
1: 3: AShC R2,R0 Evt: 1 ; Run: 3196 ; Res: 3197 ; CLC: 50.0
1: 4: AShC R2,R0 Evt: 1 ; Run: 2960 ; Res: 2961 ; CLC: 54.0
1: 5: AShC R2,R0 Evt: 0 ; Run: 2756 ; Res: 2756 ; CLC: 58.1
1: 6: AShC R2,R0 Evt: 0 ; Run: 2578 ; Res: 2578 ; CLC: 62.1
1: 7: AShC R2,R0 Evt: 0 ; Run: 2422 ; Res: 2422 ; CLC: 66.1
1: 8: AShC R2,R0 Evt: 0 ; Run: 2283 ; Res: 2283 ; CLC: 70.1
1: 9: AShC R2,R0 Evt: 0 ; Run: 2160 ; Res: 2160 ; CLC: 74.1
1: 10: AShC R2,R0 Evt: 0 ; Run: 2049 ; Res: 2049 ; CLC: 78.1
1: 11: AShC R2,R0 Evt: 0 ; Run: 1949 ; Res: 1949 ; CLC: 82.1
1: 12: AShC R2,R0 Evt: 0 ; Run: 1859 ; Res: 1859 ; CLC: 86.1
1: 13: AShC R2,R0 Evt: 0 ; Run: 1776 ; Res: 1776 ; CLC: 90.1
1: 14: AShC R2,R0 Evt: 1 ; Run: 1700 ; Res: 1701 ; CLC: 94.1
1: 15: AShC R2,R0 Evt: 0 ; Run: 1631 ; Res: 1631 ; CLC: 98.1
1: 16: AShC R2,R0 Evt: 0 ; Run: 1567 ; Res: 1567 ; CLC: 102.1
1: 17: AShC R2,R0 Evt: 0 ; Run: 1508 ; Res: 1508 ; CLC: 106.1
1: 20: AShC R2,R0 Evt: 0 ; Run: 1354 ; Res: 1354 ; CLC: 118.2
1: 30: AShC R2,R0 Evt: 0 ; Run: 1003 ; Res: 1003 ; CLC: 159.5
1: 31: AShC R2,R0 Evt: 0 ; Run: 972 ; Res: 972 ; CLC: 165.#

.RU ASHC4
ASHC4 - v1.1
Memory Top: 131072
BUF words: 20980
CPU KHz: 15000 > 8000
CPU KHz: 8000
1: 0: AShC R2,R0 Evt: 0 ; Run: 4700 ; Res: 4700 ; CLC: 34.0
1: -1: AShC R2,R0 Evt: 0 ; Run: 3805 ; Res: 3805 ; CLC: 42.0
1: -2: AShC R2,R0 Evt: 0 ; Run: 3196 ; Res: 3196 ; CLC: 50.1
1: -3: AShC R2,R0 Evt: 0 ; Run: 2960 ; Res: 2960 ; CLC: 54.1
1: -4: AShC R2,R0 Evt: 0 ; Run: 2756 ; Res: 2756 ; CLC: 58.1
1: -5: AShC R2,R0 Evt: 0 ; Run: 2578 ; Res: 2578 ; CLC: 62.1
1: -6: AShC R2,R0 Evt: 0 ; Run: 2422 ; Res: 2422 ; CLC: 66.1
1: -7: AShC R2,R0 Evt: 0 ; Run: 2283 ; Res: 2283 ; CLC: 70.1
1: -8: AShC R2,R0 Evt: 1 ; Run: 2160 ; Res: 2161 ; CLC: 74.0
1: -9: AShC R2,R0 Evt: 1 ; Run: 2049 ; Res: 2050 ; CLC: 78.0
1: -10: AShC R2,R0 Evt: 0 ; Run: 1949 ; Res: 1949 ; CLC: 82.1
1: -11: AShC R2,R0 Evt: 0 ; Run: 1859 ; Res: 1859 ; CLC: 86.1
1: -12: AShC R2,R0 Evt: 0 ; Run: 1776 ; Res: 1776 ; CLC: 90.1
1: -13: AShC R2,R0 Evt: 0 ; Run: 1700 ; Res: 1700 ; CLC: 94.1
1: -14: AShC R2,R0 Evt: 0 ; Run: 1631 ; Res: 1631 ; CLC: 98.1
1: -15: AShC R2,R0 Evt: 0 ; Run: 1567 ; Res: 1567 ; CLC: 102.1
1: -16: AShC R2,R0 Evt: 1 ; Run: 1508 ; Res: 1509 ; CLC: 106.0
1: -17: AShC R2,R0 Evt: 0 ; Run: 1453 ; Res: 1453 ; CLC: 110.1
1: -20: AShC R2,R0 Evt: 0 ; Run: 1306 ; Res: 1306 ; CLC: 122.5
1: -30: AShC R2,R0 Evt: 0 ; Run: 972 ; Res: 972 ; CLC: 165.#
1: -31: AShC R2,R0 Evt: 0 ; Run: 947 ; Res: 947 ; CLC: 169.#


---------- Post added at 21:22 ---------- Previous post was at 21:19 ----------


.RU MUL
MUL - v1.1
Memory Top: 131072
BUF words: 21102
CPU KHz: 15000 > 8000
CPU KHz: 8000

1: Nop Evt: 7 ; Run: 6146 ; Res: 6153 ; CLC: 26.0
R2/177777 ; R1/000377 ; R0/177777
1: Mul R2, R0 Evt: 0 ; Run: 1508 ; Res: 1508 ; CLC: 106.1
1: Mul R2, R1 Evt: 1 ; Run: 1508 ; Res: 1509 ; CLC: 106.0
R2/177777 ; R1/000000 ; R0/000000
1: Mul R2, R0 Evt: 0 ; Run: 1508 ; Res: 1508 ; CLC: 106.1
1: Mul R2, R1 Evt: 1 ; Run: 1508 ; Res: 1509 ; CLC: 106.0
R2/000001 ; R1/000377
1: Mul R2, R1 Evt: 1 ; Run: 1567 ; Res: 1568 ; CLC: 102.0
R2/000017 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1567 ; Res: 1567 ; CLC: 102.1
R2/000177 ; R1/000377
1: Mul R2, R1 Evt: 0 ; Run: 1567 ; Res: 1567 ; CLC: 102.1
R2/001777 ; R1/000377
1: Mul R2, R1 Evt: 1 ; Run: 1567 ; Res: 1568 ; CLC: 102.0
R2/017777 ; R1/000377
1: Mul R2, R1 Evt: 1 ; Run: 1567 ; Res: 1568 ; CLC: 102.0

.RU DIV
DIV - v1.1
Memory Top: 131072
BUF words: 21186
CPU KHz: 15000 > 8000
CPU KHz: 8000

1: Nop Evt: 6 ; Run: 6146 ; Res: 6152 ; CLC: 26.0
R2/177772 ; R1/000005 ; R0/000005
1: Div R2, R0 Evt: 0 ; Run: 972 ; Res: 972 ; CLC: 165.#
1: Div R2, R1 Evt: 0 ; Run: 972 ; Res: 972 ; CLC: 165.#
R2/177772 ; R1/000000 ; R0/000000
1: Div R2, R0 Evt: 0 ; Run: 1038 ; Res: 1038 ; CLC: 154.1
R2/000177 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 972 ; Res: 972 ; CLC: 165.#
R2/000000 ; R1/000000 ; R0/001777
1: Div R2, R0 Evt: 0 ; Run: 4700 ; Res: 4700 ; CLC: 34.0

Program completed.

form
29.05.2014, 18:33
.RU JMP
JMP - v1.4
Memory Top: 131072
BUF words: 21207
CPU KHz: 15000 > 8000
CPU KHz: 8000

SOB Loops: 7995 ; CLC: 20.0
Br Loops: 4440 ; CLC: 16.0
Jmp (R0) Loops: 4441 ; CLC: 16.0
Jmp (PC) Loops: 4442 ; CLC: 16.0
Jmp (PC)+ Loops: 3634 ; CLC: 24.0
Mov R0, PC Loops: 3635 ; CLC: 24.0
Add R0, PC Loops: 3635 ; CLC: 24.0
Jmp LABEL Loops: 3998 ; CLC: 20.0
Jmp @#Addr Loops: 3998 ; CLC: 20.0
Jmp @(R0)+ Loops: 2960 ; CLC: 34.0
Jmp @-(R0) Loops: 2755 ; CLC: 38.1
Jmp xx(R0) Loops: 3634 ; CLC: 24.0
Jmp @x(R0) Loops: 3330 ; CLC: 28.0
Jmp @Var Loops: 3330 ; CLC: 28.0

Program completed.

.RU HX2:JSR
JSR - v1.1
Memory Top: 131072
BUF words: 21149
CPU KHz: 15000 > 8000
CPU KHz: 8000

SOB Loops: 7994 ; CLC: 20.0
Loop Loops: 1816 ; CLC: 68.1
Loop +InterruptOverrun
IOT Loops: 1249 ; CLC: 108.1
Trap Loops: 1249 ; CLC: 108.1
JSR PC, (R0) Loops: 2422 ; CLC: 46.1
JSR R0, (PC) Loops: 2284 ; CLC: 50.0
JSR PC, (PC) Loops: 2423 ; CLC: 46.0
JSR PC, (PC)+ Loops: 2284 ; CLC: 50.0
JSR PC,@(PC)+ Loops: 2421 ; CLC: 46.1
JSR PC,@(R0)+ Loops: 1903 ; CLC: 64.1
JSR PC,@(SP)+ Loops: 2284 ; CLC: 50.0
JSR PC,@-(R0) Loops: 2154 ; CLC: 54.3
JSR R1,@-(R0) Loops: 2044 ; CLC: 58.3
JSR PC, Label Loops: 2422 ; CLC: 46.1
JSR PC,@Var Loops: 2050 ; CLC: 58.0
JSR R1,@x(R0) Loops: 1950 ; CLC: 62.0

.RU RTS
RTS - v1.1
Memory Top: 131072
BUF words: 21218
CPU KHz: 15000 > 8000
CPU KHz: 8000

1: Nop Evt: 9 ; Run: 6145 ; Res: 6154 ; CLC: 26.0
1: RtS PC Evt: 5 ; Run: 3330 ; Res: 3335 ; CLC: 48.0
1: RtS R0 Evt: 5 ; Run: 3074 ; Res: 3079 ; CLC: 52.0
1: RtS R1 Evt: 5 ; Run: 3073 ; Res: 3078 ; CLC: 52.0
1: RtI Evt: 3 ; Run: 1949 ; Res: 1952 ; CLC: 82.0
1: RtT Evt: 3 ; Run: 1949 ; Res: 1952 ; CLC: 82.0

Program completed.

.RU MOVPC1
MovPC - v1.2
CPU KHz: 15000 > 8000
CPU KHz: 8000

Mov (PC), (PC)+ 50.1
MovB (PC), (PC)+ 50.1
Mov (PC), R0 12.0
MovB (PC), R0 12.0
Mov (PC), (PC) 50.1
MovB (PC), (PC) 50.1
Mov (PC)+, R0 8.0
MovB (PC)+, R0 8.0
Mov R0, (PC)+ 42.1
MovB R0, (PC)+ 42.1

Program completed.

.RU MOVPC2
MovPC2 - v1.2
Memory Top: 131072
BUF words: 21174
CPU KHz: 15000 > 8000
CPU KHz: 8000

1: Nop Evt: 10 ; Run: 6145 ; Res: 6155 ; CLC: 26.0
1: Mov R0, R0 Evt: 16 ; Run: 8876 ; Res: 8892 ; CLC: 18.0
1: Mov R0, (PC) Evt: 3 ; Run: 2853 ; Res: 2856 ; CLC: 56.0
1: MovB R0, (PC) Evt: 4 ; Run: 2853 ; Res: 2857 ; CLC: 56.0
1: Mov (PC), R0 Evt: 9 ; Run: 6145 ; Res: 6154 ; CLC: 26.0
1: MovB (PC), R0 Evt: 10 ; Run: 6145 ; Res: 6155 ; CLC: 26.0
::: SP = PC :::
1: Mov R0, (SP)+ Evt: 5 ; Run: 2854 ; Res: 2859 ; CLC: 56.0
1: MovB R0, (SP)+ Evt: 4 ; Run: 2854 ; Res: 2858 ; CLC: 56.0
1: Mov (SP),(SP)+ Evt: 4 ; Run: 2498 ; Res: 2502 ; CLC: 63.9
1: MovB (SP),(SP)+ Evt: 3 ; Run: 2498 ; Res: 2501 ; CLC: 64.0

Program completed.

.RU OP1
Op1 - v1.1
CPU KHz: 15000 > 8000
CPU KHz: 8000

SOB : 20 ! Last SOB : 12 ! Br : 16 ! BCS : 8 ! BCC : 16 ! SeC : 12

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

Tst 4 12 12 20 43 51 21 8 28
TstB 4 12 12 20 30 51 21 8 28
Inc 4 30 30 38 63 70 39 46 46
IncB 4 30 30 38 48 70 39 46 46
Clr 4 26 26 34 45 66 35 42 42
ClrB 4 26 26 34 30 66 34 42 42
MTPS 32 40 40 48 58 80 49 36 56
MFPS 4 26 26 34 30 66 34 42 42
XOr 4 30 30 38 63 70 39 46 46
SwaB 4 30 30 38 63 70 39 46 46
SXt 4 26 26 34 45 66 35 42 42

Program completed.

.RU ADD
Add - v1.1
CPU KHz: 15000 > 8000
CPU KHz: 8000

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

Add R1 4 30 30 38 59 67 39 46 46
Add (R1) 12 38 38 46 67 75 47 54 54
Add (R2)+ 12 38 38 46 71 78 47 54 54
Add (PC)+ 8 35 34 42 66 74 78 50 50
Add @(R2)+ 20 46 46 54 79 86 56 62 62
Add -(R1) 40 67 70 78 74 82 79 86 86
Add @-(R1) 48 75 78 86 82 90 87 94 94
Add Addr 21 48 48 56 80 87 109 82 82
Add @Tab(R1) 28 55 54 62 86 94 98 70 71

Program completed.

form
29.05.2014, 20:19
.RU BIS
BiS - v1.1
CPU KHz: 15000 > 8000
CPU KHz: 8000

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

BiS R1 4 30 30 38 59 67 39 46 46
BiS (R1) 12 38 38 46 67 75 47 54 54
BiS (R2)+ 12 38 38 46 71 78 47 54 54
BiS (PC)+ 8 35 34 42 66 74 78 50 50
BiS @(R2)+ 20 46 46 54 79 86 56 62 62
BiS -(R1) 40 67 70 78 74 82 79 86 86
BiS @-(R1) 48 75 78 86 82 90 87 94 94
BiS Addr 21 48 48 56 80 87 109 82 82
BiS @Tab(R1) 28 55 54 62 86 94 98 70 71

Program completed.

.RU BISB
BiSB - v1.1
CPU KHz: 15000 > 8000
CPU KHz: 8000

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

BiSB R1 4 30 30 38 45 67 39 46 47
BiSB (R1) 12 38 38 46 53 75 48 54 55
BiSB (R4)+ 12 38 38 46 56 78 48 54 55
BiSB (PC)+ 8 34 34 43 52 75 78 50 50
BiSB @(R2)+ 20 46 46 54 64 86 56 62 63
BiSB -(R1) 27 53 56 64 71 79 65 72 73
BiSB @-(R3) 49 75 78 86 79 91 87 94 95
BiSB Addr 21 47 48 57 66 89 109 82 82
BiSB @Tab(R3) 28 54 54 63 72 95 98 70 71

Program completed.

.RUN CMP
Cmp - v1.1
CPU KHz: 15000 > 8000
CPU KHz: 8000

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

Cmp R1 4 16 16 24 44 52 25 12 32
Cmp (R1) 12 24 24 32 52 60 33 20 40
Cmp (R2)+ 12 24 24 32 56 64 33 20 40
Cmp (PC)+ 8 20 20 28 52 60 48 16 36
Cmp @(R2)+ 20 32 32 40 64 72 42 28 48
Cmp -(R1) 40 52 56 64 60 68 65 52 72
Cmp @-(R1) 48 60 64 72 68 76 73 60 80
Cmp Addr 21 33 33 42 65 73 79 48 68
Cmp @Tab(R1) 28 40 40 48 72 80 68 36 56

Program completed.

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

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

CmpB R1 4 16 16 24 31 53 25 12 32
CmpB (R1) 12 24 24 32 39 61 33 20 40
CmpB (R4)+ 12 24 24 32 42 64 33 20 40
CmpB (PC)+ 8 20 20 28 38 60 48 16 36
CmpB @(R2)+ 20 32 32 40 50 72 42 28 48
CmpB -(R1) 27 39 42 50 57 65 51 38 58
CmpB @-(R3) 49 61 64 72 65 76 73 60 80
CmpB Addr 21 33 33 42 51 73 79 48 68
CmpB @Tab(R3) 28 40 40 48 58 80 68 36 56

Program completed.

.RU MOV
Mov - v1.1
CPU KHz: 15000 > 8000
CPU KHz: 8000

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

Mov R1 4 26 26 34 43 63 35 42 42
Mov (R1) 12 34 34 42 51 71 43 50 50
Mov (R2)+ 12 34 34 42 53 74 43 50 50
Mov (PC)+ 8 31 30 38 48 70 64 46 46
Mov @(R2)+ 20 42 42 50 61 82 51 58 58
Mov -(R1) 40 63 64 74 63 78 75 82 82
Mov @-(R1) 48 71 72 82 71 86 83 90 90
Mov Addr 21 44 44 52 62 83 95 78 78
Mov @Tab(R1) 28 51 50 58 68 90 84 66 67

Program completed.

.RU MOVB
MovB - v1.1
CPU KHz: 5300 > 8000
CPU KHz: 8000

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

MovB R1 4 26 26 34 30 63 34 42 43
MovB (R1) 12 34 34 42 49 71 42 50 51
MovB (R4)+ 12 34 34 42 38 74 42 50 51
MovB (PC)+ 8 30 30 39 34 71 54 46 46
MovB @(R2)+ 20 42 42 50 46 82 50 58 59
MovB -(R1) 27 49 49 60 67 75 60 68 69
MovB @-(R3) 49 71 71 82 75 87 82 90 91
MovB Addr 21 43 44 53 48 84 86 78 78
MovB @Tab(R3) 28 50 50 59 54 91 74 66 67

Program completed.


---------- Post added at 23:19 ---------- Previous post was at 21:48 ----------

И еще одна идейка для теста: потестировать (R)+,(R)+ и -(R),-(R) операции на одной и той же команде с адресами кратными 4 и не кратными (словная адресация). Возможно при использовании PMI результат будет разный.

MiX
18.07.2014, 23:14
Последние версии всех универсальных тестов в одном архиве

Пишет:
.RUN PDPCLK
PDPCLK - Calculate CPU clocks - v1.0
Memory Top: 131064
BUF words: 21310
Turn LTC ON..

И всё, на клавиши не реагирует.

form
19.07.2014, 00:07
Пишет:
.RUN PDPCLK
PDPCLK - Calculate CPU clocks - v1.0
Memory Top: 131064
BUF words: 21310
Turn LTC ON..

И всё, на клавиши не реагирует.

На прошнике номер не пройдет. Там нет LTC.

---------- Post added at 02:42 ---------- Previous post was at 02:15 ----------

Сейчас попробую собрать вариант для прошника.

---------- Post added at 02:49 ---------- Previous post was at 02:42 ----------

Выложил сюда (http://form.pdp-11.org.ru/~form/files/rt11test/pdpclk.sav). Это вариант только для прошника. Не проверял.

---------- Post added at 03:07 ---------- Previous post was at 02:49 ----------

Алгоритм использования часов часов в RT-11. Упрощенный.

Прежде всего стоит проверить бит CLOCK$ (15) по смещению $CNFG1 (300) от начала RMON. Если бит не установлен, часы отсутствуют как класс. С оговоркой ниже. Бит CLK50$ (5) в этом же слово говорит о 50-герцовом таймере, иначе 60.

В слове $CNFG2 (370) нас интересуют биты PROS$ (13) и BUS$ (6). Если установлен только PROS$ - имеем прошник, в этом случае адрес вектора таймера - 230.

В противном случае проверяем вектор 104, если он установлен, то используем его - система использует программируемый таймер (бит KW11P$ (14) в $CNFG1 должен быть неустановлен), и наконец остается вектор 100.

Теперь об оговорках. Можно обмануть загрузчик RT-11, например на KDJ11-B/E процессорах запретить регистр часов на шине - в этом случае RT-11 определит отсутствие часов (независимо от наличия прерываний таймера). Но это особый случай.

Также установленный бит LKCS$ (13) в $CNFG1 говорит о наличии CSR у таймера, в этом случае нет смысла просить пользователя включить таймер.

Управление частотой таймера KDJ11-B/E и программируемый таймер наверное рассматривать не стоит здесь...

Patron
19.07.2014, 00:15
Turn LTC ON..У Pro350 нестандартный таймер - надо будет добавить в RT11SP эмуляцию LTC для Pro350.

form
19.07.2014, 00:18
У Pro350 нестандартный таймер - надо будет добавить в RT11SP эмуляцию LTC.

Не надо. Надо просто правильный вектор использовать.
RT-11 в отичие от RSX не использует другие частоты кроме 50 и 60 и потому достаточно просто выбрать нужный вектор как написал выше.

---------- Post added at 03:18 ---------- Previous post was at 03:16 ----------

Надо только оставить кусок кода который прошный таймер активирует.

Patron
19.07.2014, 00:20
Надо просто правильный вектор использовать.
Надо именно эмулировать LTC, как это делает ( если не ошибаюсь ) PI.SYS - тогда любая программа, устанавливающая свой вектор 100 - будет нормально работать.

form
19.07.2014, 00:24
Надо именно эмулировать LTC, как это делает ( если не ошибаюсь ) PI.SYS - тогда любая программа, устанавливающая свой вектор 100 - будет нормально работать.

Нет. PI.SYS этого не делает, просто устанавливается вектор 230 и ссылается на тот же адрес ISR куда и 100 (по 100 никаких прерываний не происхдит однако).

MiX
19.07.2014, 00:25
Да я попробую и тот и другой вариант. PDPCLK нужен в самом начале для определения частоты.

Patron
19.07.2014, 00:27
по 100 никаких прерываний не происхдит однако.А в RT11SP прерывания будут идти по вектору 100 - невозможно переписать для Pro350 все программы, напрямую устанавливающие этот вектор.

form
19.07.2014, 00:27
Да я попробую и тот и другой вариант. PDPCLK нужен в самом начале для определения частоты.

Мой вариант будет работать только в полноценном RT-11 который определит, что машина - прошник и включит таймер. Сама программа этог не делает.

Patron
19.07.2014, 00:28
PDPCLK нужен в самом начале для определения частоты.Без прерываний по вектору 100 ни один тест таймингов работать не будет.

form
19.07.2014, 00:31
А в RT11SP прерывания будут идти по вектору 100 - невозможно переписать для Pro350 все программы, напрямую устанавливающие этот вектор.

Не проще в программах определить всего три варианта вектора, которые однозначно выясняются? Или отдельно наделаем вариантов RT-11 который эмулирует прерывания по вектору 100 для стандартхых PDP-11 где используется не LTC? :)

Patron
19.07.2014, 00:31
Мой вариант будет работать только в полноценном RT-11 который определит, что машина - прошник и включит таймер.Судя по исходнику - "полноценный" RT11SJ не предполагает запуск на Pro350, поэтому все участки кода для работы с Pro при компиляции SJ исключаются.

form
19.07.2014, 00:33
Судя по исходнику - "полноценный" RT11SJ не предполагает запуск на Pro350, поэтому все участки кода для работы с Pro при компиляции SJ исключаются.

Не предполагает. Но коли уж лезть в дебри - никто не мешает...

Patron
19.07.2014, 00:35
Не предполагает. Но коли уж лезть в дебри - никто не мешает...Лезть в дебри излишне. SJ будет просто работать с LTC, который волшебным образом появится в Pro350.

form
19.07.2014, 00:41
Лезть в дебри излишне. SJ будет просто работать с LTC, который волшебным образом появится в Pro350.

Так это уже и есть дебри - придется конфигурить таймер и делать эмуляцию.

MiX
19.07.2014, 01:04
Может внешне с эмулятора VT52 подать 50гц на DTR а программа будет перехватывать. Правда вывод на экран замедлится но для тестов пойдет.

form
19.07.2014, 01:05
Может внешне с эмулятора VT52 подать 50гц на DTR а программа будет перехватывать. Правда вывод на экран замедлится но для тестов пойдет.

Зачем если можно включить родной таймер? И даже вектор 100 не эмулировать, а использовать по настоящему...

MiX
19.07.2014, 01:08
Так а родной таймер сколько герц?

form
19.07.2014, 01:22
Так а родной таймер сколько герц?

Программруется до 8000 вроде. RT-11 инитит под 60, просто скопировать этот код в RT-11SP.

---------- Post added at 04:22 ---------- Previous post was at 04:09 ----------

Вобщем делаем:
MOV #347,@#173202
MOV #100,@#173200
После чего инитим таймер как обычно (для прошника). Все.
Будет прерываться по вектору 100. Не сбрасывается по команде RESET.

MiX
19.07.2014, 01:22
form, Выложи PDPCLK образом, у меня Т.С. ругается на него.

form
19.07.2014, 01:24
form, Выложи PDPCLK образом, у меня Т.С. ругается на него.

Да смысла нет видимо - если RT-11SP сделан из SJ, значит там таймер не подключается. Сначала тайер надо сделать. А там если добавить код который я выше писал, то и переделывать програму не нужно.

MM
19.07.2014, 02:03
Временно имеется возможность выполнить с секундомером код ( восьмеричный текст ) крайне небольшого объема в адресе 170000 в 0-тактов СОЗУ процессора 1801ВМ3А - 6 мгц.
Размер - до 100 ( 8 ).
Предлагайте код здесь.
Примерный вид :
012737 000040 172516 - зажечь лампочку,
012737 000000 172516 - потушить лампочку.

Patron
19.07.2014, 13:53
Будет прерываться по вектору 100.Судя по исходникам RT-11 - не больше одного раза :



6$: MOV #16.,PCTIK ;;;Re-initialize PC tick counter
RTI ;;;Drop this tick on the floor

PICLOK::TST @#173030 ;;;Prime clock to interrupt on next tick
DEC (PC)+ ;;;Count off tick
PCTIK: .WORD 16.
BEQ 6$ ;;;Drop every 16th tick
LKINT = 0
JLKINT == . + 2
JMP @#LKINT ;;;Go do normal RT clock tick processing
; JLKINT is hooked with LKINT from RMON


Поэтому без кода эмуляции LTC ( похоже ) не обойтись.

Судя по коду - в RT-11 таймер Pro350 запрограммирован на 64 Гц и для получения 60 Гц приходится выбрасывать каждый 16-й тик.

---------- Post added at 12:53 ---------- Previous post was at 11:55 ----------

Кстати - вот даташит чипа таймера Pro350: MC146818 Real Time Clock (http://www.freescale.com/files/microcontrollers/doc/data_sheet/MC146818.pdf)

form
19.07.2014, 15:29
Судя по исходникам RT-11 - не больше одного раза

Нет. И судя и не судя будет постоянно прерываться по 100 и, как уже написал, RESET не сбросит эту настройку. К слову, также можно настроить прерваания терминала на принтерном порту на вектора 60/64, только вот управление будет отличаться. В 5.5 и новее это не проблема - там монитор вызывает хуки, в более старых нужна будет переделка или забить ибо полноценный функционал все-равно в системе невозможен если она не сообщает в словах конфига что работает на прошнике.


Поэтому без кода эмуляции LTC ( похоже ) не обойтись.

Зависит от того можно ли выставить делитель так, чтобы была нужная частота. Этого я не проверял.


Кстати - вот даташит чипа таймера Pro350

А зачем? В техописании подробно все расписано.

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

Посмотрел - да, точного совпадения не сделать. Можно выбрать только 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 и 8192. В RSXных системах все просто, а в RT придется приближать.

---------- Post added at 18:29 ---------- Previous post was at 17:56 ----------

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