Перед началом теста значение ячейки 0 сохраняется и обнуляется.
Можно помещать в R0 первое слово после буфера команд, а промежуток между концом буфера и верхом доступной памяти обнулять.
Посмотрел схему счетчиков. В нормальном режиме СК1 опережает СК2 на два. Так что получается, или СК1 уже опережает на четыре, или СК2 начинает отставать на два. А то как объяснить двойное выполнение команды.
---------- Post added at 00:32 ---------- Previous post was at 00:31 ----------
Без точки в конце - восьмеричные, с точкой - десятичные. Как в MACRO-11.
Больно мудрено. Команды задним числом исполняются, а адресация по PC уже бежит впереди паровоза.
По блок-схемам из СК1 есть вычитание 2, а прибавление 2 только к СК2.
Ну ладно, ночь на дворе, с утра лучше думаться будет.
---------- Post added at 00:56 ---------- Previous post was at 00:53 ----------
Так что внимательно читайте ТО на 1801ВМ2 и вникайте. Может чего и обнаружится, но наверное вряд ли. А то есть еще косяк с командой с кодом 030, которая должна исполняться как команда с кодом 020, но делает совершенно невообразимые действия. Тоже разработчики просчитались.
Новый тест MovPCy_v1.1 должен помочь лучше протестировать "стрёмные" команды.
При запуске теста можно задать следующие параметры:
Код:.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 .
...
Поскольку завтра вечером или послезавтра у меня должна появитсяКод: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.