
Сообщение от
Patron
Вполне возможно, что команда BR поможет радикально. Но диагноз это не опровергнет - алгоритмические ошибки микрокода процессора должны давать одинаковый эффект при каждом исполнении "целевого" кода на всех машинах с таким процессором.
Когда же разные прогоны теста дают разные глюки, когда холодная машина глючит меньше, а горячая больше, когда у разных машин на одном и том же коде глюки отличаются - это невозможно объяснить чисто цифровыми причинами.
Терпение, еще раз терпение. Могу сразу сказать, что перед тем как лечь спать, прогнал новый тест, все в полном порядке. А ошибки есть в микрокоде, да еще какие. А результаты разные потому, что еще работают прерывания по таймеру, и судя по всему они на условно работающей машине попадали куда надо. Т.к. вроде и УКНЦ с виду одинаковые и источник питания один, и грузится одна система, но быстродействие чуть-чуть может плавать, т.к. ЦП и сетевой таймер питаются от разных кварцев.
---------- Post added at 11:31 ---------- Previous post was at 11:25 ----------
Т.к. на сейчас на работе и УКНЦ нету тута, то привожу небольшой кусочек кода, хочется услышать ваше мнение о результатах исполнения.
Итак, начальные аргументы - R0 = R1 = R2 = R3 = R4 = 0. PSW = 0200. Ячейка 02000 = 0 (команда HALT).
А вот и код:
Код:
1000:011700 MOV @PC,R0
1002:005201 INC R1
1004:005202 INC R2
1006:005203 INC R3
1010:005204 INC R4
1012:000137 JMP @#1000
1014:001000 .WORD 2000
1016:002000
Ваши прогнозы, что получим на выходе?