PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Как я и говорил - чисто за одно команду не получится.
Если же вспомнить СМ-4 с памятью с контролем чётности, где нам было по барабану - что прописано, главное, что бы прописалось - то мы записывали в 157776 код 14747 и пускали с адреса 157776. Результат - все контрольные биты в памяти были проинициализированы.
да, наверное, это именно то. Не совсем в одну команду - сначала в стек заносится, наверное, конец памяти. Но потом (точно помню - одна команда).
Думаю в Вашем варианте - одна лишняя. А на каких именно машинах работало, а на каких - нет не помню. Даже пробовали типы процессоров таким "тестом" определять. Вроде - порядок выполнения (очередность действий "внутри" команды) у разных процессоров разная.
- - - Добавлено - - -
лишняя команда, наверное - HALT, в пульт можно и вручную переключить (и убедиться, что память обнулилась). Чем завершалось(каким событием) - не помню.
Машины были скорее всего : 100/25; 11/34; разные Воронежские на 1811(F-11); разные на J-11 и 1831; МС1201.01-02; самодельные на 1807ВМ1(T-11).
Можно и сейчас попробовать запускать на разных, но сначала интересно сократить "программку" именно до одной команды.
Последний раз редактировалось ra3qdp; 11.11.2019 в 16:56.
То, то! Просто в R6 заносишь 160000, по нулевому адресу пишешь 4747 и пускаешь машинку с нулевого адреса.
Работало на всех машинках без ДП. В частности, я это делал на Э-60 с процессором М2, на ДВК с 1801ВМ1 и ВМ2. А вот на ВМ3 - облом, вылетает куда-то по прерыванию (Trap to 4 ? - Не помню) с 000400 (376? 374? Тоже не помню...) в R6. То есть, очищена память 400-157776, а 0-376 - нет.
Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)
Ни одной лишней нету.
Разве что выставить регистры и содержимое ячейки 0 из пульта - тогда останется только сама одна команда
Вот на них как раз такой способ работать не будет - как только SP снизится ниже 400, возникнет прерывание по вектору 4.
...которой тут нету в принципе - она самогенерящаяся в конце![]()
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
с J-11 - понятно с М2 и 1201.01-02 - тоже.
на каких еще из перечисленных мной будет работать на каких нет ?
Вроде разбирались тогда и пришли к выводу, что порядок выполнения команд у разных процессоров - разный (что-то в процессе выполнения команды выполняется в разной очередности - сначала делается одно, потом другое - при одинаковом результате в итоге и в данном случае препятствует выполнению (обнулению памяти). Запустили бы на разных машинах (у кого какие есть) да и в разных эмуляторах при разных конфигах и сообщили бы о результате.
Последний раз редактировалось ra3qdp; 11.11.2019 в 17:27.
В советских не особо силен. У ВМ3 есть ненастраиваемое YSA прерывание.
Насчет Э100/25 не уверен, но либо в нем, либо в СМ1420 - в том что 22-битный - есть регистр SL (177774) в котором выставляется ограничение стека (скорее всего все-таки в СМ1420).
- - - Добавлено - - -
У разных процессоров разное поведение. В DECовском описании J11 в конце есть таблица различий. Опираясь на эти различия и прочие обвески DECовская программа автоконфигурации определяет тип процессора.
Многие подобные команды при компиляции выдают ошибку Z чтобы показать что они неоднозначны. Например JMP (R0)+, MOV R0,(R0)+ итд.
В каком-то драйвере для УК-НЦ видел MOV PC,LABEL - это тоже неоднозначная команда, и ее спасает только, что драйвер кроме как на УКНЦ нигде не работает![]()
Последний раз редактировалось form; 11.11.2019 в 17:38.
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
Так она сама собой организуется. Если смотреть на то, что предложил коллега form, лишние все команды, ибо действия на ДВК следующие
R6/xxxxxx 160000<Enter>
0/xxxxxx 4747<Enter>
0G
На УКНЦ действия примерно те же, только служебные кнопки другие. В частности, вместо G давят, вроде-бы, ИСП. Ну не помню я пультовой режим УКНЦ...
Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)
замораживаться должен регистр текущего значения (который 0177714).
=== ребята, у меня такой вопрос, как мне содержимое оттуда получить в переменную
в простой программе на Паскале для функции Random ? иначе при первом запуске всегда
одинаковое расположение псевдослучайных элементов ?
Загадайте число, быть может оно пригодится вам ТАМ... (с) Сталкер, или как его там...
Сколько лет Ваше Превосходительство рассчитывает находиться у власти? (с) Анчурия.
Оба числа используются для установки ГСЧ. Как в Сталкере - не знаю, а в Анчурии - банально: перед запуском игры делают
Ну, там перед этим огранияивают это N до 200 или что-то в том же духе, но это мелочи. Заодно можно считерить - набирай то число, которое ты запомнил с прошлого удачного раза и будет тебе счастье!..Код:1630 FOR I=1 TO N 1640 LET G2=RND(N) 1650 NEXT I
Последний раз редактировалось AFZ; 18.11.2019 в 09:55.
Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)
hobot(18.11.2019)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)