Важная информация

User Tag List

Страница 75 из 156 ПерваяПервая ... 717273747576777879 ... ПоследняяПоследняя
Показано с 741 по 750 из 1553

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

  1. #741
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    Жизненно Нужна утилита изменяющая системное приглашение!!!
    Неужели это немыслимо трудный код? )
    Так вроде был драйвер от Alex_K для этого. Ну могу конечно написать новый. Опять же дистрибов системы полно - пора уже осваивать генерацию, а там легко поменять
    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

  2. #742
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Так вроде был драйвер от Alex_K для этого.
    Там избыточный функционал выкусывать который мне навыка не хватает,
    а использовать как есть - неправильно и не удобно (без уточнений!).

    Цитата Сообщение от form Посмотреть сообщение
    Опять же дистрибов системы полно - пора уже осваивать генерацию, а там легко поменять
    Я видел протокол на сайте, почти как Виндоус - далее далее далее )))
    Но потребность и удобство утилиты для любых версий от 5.0 и до старших - это не отменяет.

    Цитата Сообщение от form Посмотреть сообщение
    Ну могу конечно написать новый.
    гарантирую 100 просмотров и 12 спасиб.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  3. #743
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Еще немного отвлекся от темы, но стало интересно проверить
    А вообще пора заводить тему по особенностям систем и как их обходить... Возвращаясь к вопросу поставленному мной выше вскользь - легко ли спрыгнуть со второго набора регистров при выполнении программы в пользовательском режиме. Ну разумеется вариант прямой очистки PSW к которому доступ есть в XB/XM/ZB/ZM (в сущности даже из виртуальной задачи) не рассматриваем. Простая программка показала, что спрыгнуть можно легко через SST (например trap to 10):
    Код:
            .TITLE  REGS
            .IDENT  /V01.00/
    
            .MCALL  .PRINT,.EXIT,.TRPSET
    
            .ASECT
            .=34
            .WORD   TRSST
            .PSECT
    
    START:: .TRPSET #AREA,#ILSST
            TRAP    0
            MOV     #4000,-(SP)
            MOV     #10$,-(SP)
            RTI
    10$:    TRAP    0
            77
    
    ILSST:  TRAP    0
            .EXIT
    
    TRSST:  MOV     #PVAL,R0
            MOV     2(SP),R1
            MOV     PC,R2
            CALL    $CBOMG
            .PRINT  #PTEXT
            RTI
    
    AREA:   .BLKW   2
    
    PTEXT:  .ASCII  /PSW=/
    PVAL:   .ASCIZ  /XXXXXX/
    
            .END    START
    RT-11ZM:
    Код:
    .RU REGS
    PSW=140000
    PSW=144000
    PSW=170001
    TSX-Plus:
    Код:
    .RU REGS
    PSW=170000
    PSW=174000
    PSW=170001
    
    .
    Ну и как видим, TRAP сам по себе выводит из второго набора регистров (ну вобщем-то и логично - даже если он передается из системы [если напрямую - то это и так очевидно] - ей нет резона следить за 11 битом PSW)
    Последний раз редактировалось form; 27.03.2015 в 20:04.
    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

  4. #744
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    утилита изменяющая системное приглашение
    Пример драйвера, меняющего системное приглашение. Поскольку тема посвящена программированию, это скорее именно пример
    Хотя рабочий. Драйвер требует RT-11 V5.2 или новее (проверку не вставлял - лень было), кому интересно - может доделать. В общем случае, драйвер вешается на стандартный обработчик .PRINT (никаких векторов не перехватывается). Обработчик проверяет номер задания (0) и что задание 0 является KMON'ом (при этом не выполняется никаких сложных вычислений по адресу PC до прерывания). Если да, то проверяются два слова после вызова .PRINT - они уникальны для KMON и во всех RT-11 V5 такие:
    Код:
    SLHOOK: MOV     R5,R5
    30$:    MOV     (SP)+,R0
    И если все совпало - подставляет свою подсказку. Для SJ монитора (в котором нет слова с номером задания в RMON) код загрузки убирает проверку номера.
    Вложения Вложения
    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

  5. #745
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну и на закуску пример как можно наступить на грабли, получив не тот результат который ожидался:
    Код:
    .MAIN.  MACRO V05.06  Saturday 28-Mar-15 02:19  Page 1
    
    
          1 000000  012760  000002                  MOV     (PC)+,2(R0)
          2 000004  000004                          .WORD   4
          3
          4         000001                          .END
    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

  6. #746
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    И если все совпало - подставляет свою подсказку. Для SJ монитора (в котором нет слова с номером задания в RMON) код загрузки убирает проверку номера.
    запустил именно в SJ 5.4G - есть работает, интересный пример, спасибо! )
    Последний раз редактировалось hobot; 28.03.2015 в 01:51.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Ну и как видим, TRAP сам по себе выводит из второго набора регистров (ну вобщем-то и логично - даже если он передается из системы [если напрямую - то это и так очевидно] - ей нет резона следить за 11 битом PSW)
    Так что, в нашей любимой PDP-11 ТАКАЯ дырень в системе безопасности? Команда RTI в юзермоде вообще выполняться не должна, как и любая другая, изменяющая что-либо в PSW кроме NZVC. Банальный срыв стека в недоотлаженной программе и может рухнуть вся многозадачка. Это же неправильно!..
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  8. #748
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Так что, в нашей любимой PDP-11 ТАКАЯ дырень в системе безопасности? Команда RTI в юзермоде вообще выполняться не должна, как и любая другая, изменяющая что-либо в PSW кроме NZVC. Банальный срыв стека в недоотлаженной программе и может рухнуть вся многозадачка. Это же неправильно!..
    Никакой дырени в PDP-11. Команда RTI может и должна выполняться в user mode, и она не позволяет ни спрыгнуть с режима ни со второго набора регистров (включить его позволяет - такое поведение документировано). За вторым набором регистров вообще ни одна система не следит, но это не столько дыра, сколько недокументированная фича - через этот набор регистров программы могут общаться друг с другом.

    Дыра есть в RT-11XM/XB/ZM/ZB - там виртуальная программа выполняется с битами режима 140000, что по сути дает полный доступ к памяти режима ядра. В TSX+ режим правильно выставляется в 170000 и потому обойти не получится.

    ---------- Post added at 08:33 ---------- Previous post was at 08:29 ----------

    Кстати дыра с битами режима только в чистой виртуальной программе. В VBGEXE тоже устанавливается 170000.
    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

  9. #749
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    включить его позволяет - такое поведение документировано
    Я понял эту возможность так - пользовательская программа на одном из терминалов спокойно обрабатывает данные на компе, в то время как система работает со стандартными регистрами и обслуживает другой терминал. То есть ,form, ты вроде писал, что KMON всегда использует стандартные регистры.

    ---------- Post added at 06:19 ---------- Previous post was at 06:17 ----------

    Это же песочница ! ))) Регистровая )))
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  10. #750
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    Я понял эту возможность так - пользовательская программа на одном из терминалов спокойно обрабатывает данные на компе, в то время как система работает со стандартными регистрами и обслуживает другой терминал. То есть ,form, ты вроде писал, что KMON всегда использует стандартные регистры.
    Это возможность процессора - второй набор регистров R0-R5. При установке бита 11 в PSW выбирается набор R0'-R5', при сбросе R0-R5. При этом в пользовательском или супервизорском режиме программа может только установить этот бит (командой RTI), а сбросить обратно не может. Ни одна система на PDP-11 не использует второй набор регистров, соответственно программа может с ними развлекаться, но следует помнить, что другая программа тоже может с ними поразвлекаться
    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

Страница 75 из 156 ПерваяПервая ... 717273747576777879 ... ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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