Точно) Придет время) И все тесты делать надо будет заново)
---------- Post added at 00:27 ---------- Previous post was at 00:26 ----------
Ну что же, придется поддаться на уговоры Alex_K и самому сделать дробный тест)
Универсальный тест: MOVPC.SAV позволяет определить число тактов, затрачиваемых любым процессором архитектуры PDP-11 на выполнение команды MOV с различными способами адресации относительно PC.
При первом запуске теста нужно ввести правильное значение тактовой частоты тестируемого процессора в килогерцах.
Тест работает не быстро. Если (например) команда выполняется за 50 тактов - результата определния её продолжительности приходится ждать 10 сек.
...
На 1801ВМ2 весьма интересные результаты, пришлось даже УКНЦ поменять, чтобы проверить. Тестировался УКНЦ КВАНТ литеры 7 с 1515ХМ2-001. Смотрите и удивляйтесь:
Скрытый текст
https://thumb.cloud.mail.ru/weblink/...ER/MOVPC01.jpg
https://thumb.cloud.mail.ru/weblink/...EK/MOVPC02.jpg
https://thumb.cloud.mail.ru/weblink/...dH/MOVPC03.jpg
https://thumb.cloud.mail.ru/weblink/...2d/MOVPC04.jpg
https://thumb.cloud.mail.ru/weblink/...tz/MOVPC05.jpg
https://thumb.cloud.mail.ru/weblink/...tv/MOVPC06.jpg
https://thumb.cloud.mail.ru/weblink/...3m/MOVPC07.jpg
https://thumb.cloud.mail.ru/weblink/...S8/MOVPC08.jpg
https://thumb.cloud.mail.ru/weblink/...AD/MOVPC09.jpg
https://thumb.cloud.mail.ru/weblink/...Bd/MOVPC10.jpg
https://thumb.cloud.mail.ru/weblink/...1d/MOVPC11.jpg
https://thumb.cloud.mail.ru/weblink/...vb/MOVPC12.jpg
[свернуть]
Всё чудесатее и чудесатее..
Код там выполняется такой:
Код:010400 [000000]: MOV (PC), R0 ; 010402:011700 -> R0
010402 [000000]: MOV (PC), R0 ; 010404:011700 -> R0
010404 [000000]: MOV (PC), R0 ; 010406:011700 -> R0
010406 [000000]: MOV (PC), R0 ; 010410:011700 -> R0
010410 [000000]: MOV (PC), R0 ; 010412:011700 -> R0
010412 [000000]: MOV (PC), R0 ; 010414:011700 -> R0
010414 [000000]: MOV (PC), R0 ; 010416:011700 -> R0
010416 [000000]: MOV (PC), R0 ; 010420:000240 -> R0
010420 [000000]: NOP
010422 [000000]: NOP
010424 [000000]: NOP
010426 [000000]: DEC R5 ; R5 :002044
010430 [000000]: BEQ 010444
Код:010400 [000010]: MOVB (PC), R0 ; 010402: 300 -> R0
010402 [000010]: MOVB (PC), R0 ; 010404: 300 -> R0
010404 [000010]: MOVB (PC), R0 ; 010406: 300 -> R0
010406 [000010]: MOVB (PC), R0 ; 010410: 300 -> R0
010410 [000010]: MOVB (PC), R0 ; 010412: 300 -> R0
010412 [000010]: MOVB (PC), R0 ; 010414: 300 -> R0
010414 [000010]: MOVB (PC), R0 ; 010416: 300 -> R0
010416 [000010]: MOVB (PC), R0 ; 010420: 240 -> R0
010420 [000010]: NOP
010422 [000010]: NOP
010424 [000010]: NOP
010426 [000010]: DEC R5 ; R5 :002044
010430 [000000]: BEQ 010444
Чета все у вас плавает, господа)
Во-во!!! Сейчас загрузился на КВАНТ с 1515ХМ1-031 c IDE-Flash, так на MOV @PC,R0 все время TRAP4 по адресу 010416.
Сейчас загружусь с дисковода, там система немного другая.
---------- Post added at 00:21 ---------- Previous post was at 00:19 ----------
Titus, у Вас нарушение предвыборки тоже съедало неизвестно куда 52 такта, так что ждем тестов от Вас с большим нетерпением.
Я бы ещё понял, если бы глючила команда MovB (PC)+,(PC)
Она три завершающих NOPа плавно превращает вот в что:
Код:014322 [000010]: MOVB #-27185., (PC) ; 014324: 317 -> 014326
014326 [000010]: MOVB #-27185., (PC) ; 014330: 317 -> 014332
014332 [000010]: MOVB #-27185., (PC) ; 014334: 317 -> 014336
014336 [000010]: MOVB #-27185., (PC) ; 014340: 317 -> 014342
014342 [000010]: SWAB (PC) ; 014344:000240
014344 [000004]: CMPB R0, R0 ;
014346 [000004]: NOP
014350 [000004]: DEC R5 ; R5 :002044
014352 [000000]: BEQ 014366