User Tag List

Страница 118 из 157 ПерваяПервая ... 114115116117118119120121122 ... ПоследняяПоследняя
Показано с 1,171 по 1,180 из 1564

Тема: Программирование на УКНЦ как?

  1. #1171

    Регистрация
    18.03.2011
    Адрес
    Воронеж
    Сообщений
    558
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    11 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    есть какой-то способ - "обнулить всю память за одну команду". Может кто знает ? (помню, что работает не на всех реализациях PDP-11)

  2. #1171
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #1172

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,506
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    За одну не получится. Но если подготовить регистры, то можно

  4. #1173

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ra3qdp Посмотреть сообщение
    есть какой-то способ - "обнулить всю память за одну команду". Может кто знает ? (помню, что работает не на всех реализациях PDP-11)
    Не совсем за одну.
    Есть способ обнулить память и чисто остановиться (речь разумеется идет о ситуации когда управление памятью выключено). Выглядит это так:
    Код:
            MOV     #160000,SP
            MOV     #4747,@#0
            CLR     PC
    Результатом будет непрерывное выполнение команды CALL -(PC) по адресу 0, что вызовет последовательную запись нулей вниз, начиная с адреса 157776. Конечным итгогом будет запись 0 - команды HALT - по адресу 0 и выполнение ее.
    Стоит отметить, что способ не сработает на процессорах с защитой стека - там раньше произойдет прерывание по границе стека.
    Есть еще вариант - команда MOV -(PC),-(PC) которая копирует сама себя вниз по памяти, но тут завершение не будет чистым
    Последний раз редактировалось form; 11.11.2019 в 10:30.
    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 за это полезное сообщение:

    hobot(11.11.2019)

  5. #1174

    Регистрация
    18.03.2011
    Адрес
    Воронеж
    Сообщений
    558
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    11 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    да, наверное, это именно то. Не совсем в одну команду - сначала в стек заносится, наверное, конец памяти. Но потом (точно помню - одна команда).
    Думаю в Вашем варианте - одна лишняя. А на каких именно машинах работало, а на каких - нет не помню. Даже пробовали типы процессоров таким "тестом" определять. Вроде - порядок выполнения (очередность действий "внутри" команды) у разных процессоров разная.

    - - - Добавлено - - -

    Цитата Сообщение от ra3qdp Посмотреть сообщение
    одна лишняя
    лишняя команда, наверное - HALT, в пульт можно и вручную переключить (и убедиться, что память обнулилась). Чем завершалось(каким событием) - не помню.

    Цитата Сообщение от ra3qdp Посмотреть сообщение
    порядок выполнения (очередность действий "внутри" команды) у разных процессоров разная.
    Машины были скорее всего : 100/25; 11/34; разные Воронежские на 1811(F-11); разные на J-11 и 1831; МС1201.01-02; самодельные на 1807ВМ1(T-11).
    Можно и сейчас попробовать запускать на разных, но сначала интересно сократить "программку" именно до одной команды.
    Последний раз редактировалось ra3qdp; 11.11.2019 в 16:56.

  6. #1175

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ra3qdp Посмотреть сообщение
    А на каких именно машинах работало, а на каких - нет не помню.
    То, то! Просто в R6 заносишь 160000, по нулевому адресу пишешь 4747 и пускаешь машинку с нулевого адреса.

    Цитата Сообщение от ra3qdp Посмотреть сообщение
    А на каких именно машинах работало, а на каких - нет не помню.
    Работало на всех машинках без ДП. В частности, я это делал на Э-60 с процессором М2, на ДВК с 1801ВМ1 и ВМ2. А вот на ВМ3 - облом, вылетает куда-то по прерыванию (Trap to 4 ? - Не помню) с 000400 (376? 374? Тоже не помню...) в R6. То есть, очищена память 400-157776, а 0-376 - нет.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  7. #1176

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ra3qdp Посмотреть сообщение
    одна лишняя
    Ни одной лишней нету.
    Разве что выставить регистры и содержимое ячейки 0 из пульта - тогда останется только сама одна команда


    Цитата Сообщение от ra3qdp Посмотреть сообщение
    J-11
    Вот на них как раз такой способ работать не будет - как только SP снизится ниже 400, возникнет прерывание по вектору 4.

    Цитата Сообщение от ra3qdp Посмотреть сообщение
    ишняя команда, наверное HALT
    ...которой тут нету в принципе - она самогенерящаяся в конце
    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

  8. #1177

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ra3qdp Посмотреть сообщение
    лишняя команда, наверное HALT - в пульт можно и вручную переключить
    Так она сама собой организуется. Если смотреть на то, что предложил коллега form, лишние все команды, ибо действия на ДВК следующие

    R6/xxxxxx 160000<Enter>
    0/xxxxxx 4747<Enter>
    0G

    На УКНЦ действия примерно те же, только служебные кнопки другие. В частности, вместо G давят, вроде-бы, ИСП. Ну не помню я пультовой режим УКНЦ...
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  9. #1178

    Регистрация
    18.03.2011
    Адрес
    Воронеж
    Сообщений
    558
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    11 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    То, то! Просто в R6 заносишь 160000, по нулевому адресу пишешь 4747 и пускаешь машинку с нулевого адреса.
    - вот это похоже.

    Цитата Сообщение от Hunta Посмотреть сообщение
    Но если подготовить регистры
    а это "другой вид спорта" - попробовать что-то сделать на машине у которой нет памяти - на одних регистрах.

  10. #1179

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ra3qdp Посмотреть сообщение
    у которой нет памяти - на одних регистрах.
    К слову, прошивки KDJ11 процессоров вполне себе справляются с работой без использования памяти, активно используя при том вызовы подпрограмм и прерывания
    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

  11. #1180

    Регистрация
    18.03.2011
    Адрес
    Воронеж
    Сообщений
    558
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    11 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    J-11 - Вот на них как раз такой способ работать не будет - как только SP снизится ниже 400, возникнет прерывание по вектору 4.
    с J-11 - понятно с М2 и 1201.01-02 - тоже.
    на каких еще из перечисленных мной будет работать на каких нет ?
    Вроде разбирались тогда и пришли к выводу, что порядок выполнения команд у разных процессоров - разный (что-то в процессе выполнения команды выполняется в разной очередности - сначала делается одно, потом другое - при одинаковом результате в итоге и в данном случае препятствует выполнению (обнулению памяти). Запустили бы на разных машинах (у кого какие есть) да и в разных эмуляторах при разных конфигах и сообщили бы о результате.
    Последний раз редактировалось ra3qdp; 11.11.2019 в 17:27.

Страница 118 из 157 ПерваяПервая ... 114115116117118119120121122 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Программирование на Эмуляторе. Возможно ли это?
    от Toxic в разделе Программирование
    Ответов: 10
    Последнее: 20.01.2008, 19:20
  2. Программирование Altera и JTAG
    от Mikka_A в разделе Несортированное железо
    Ответов: 7
    Последнее: 18.01.2008, 09:07
  3. Программирование и софтмейк на NES
    от Splinter в разделе Nintendo
    Ответов: 7
    Последнее: 30.06.2006, 04:31

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •