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

User Tag List

Страница 24 из 82 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя
Показано с 231 по 240 из 811

Тема: Документация на ПК 11/16

  1. #231
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Вопрос к RT-шникам, какой регистр находится в памяти по адресу 177776?
    ПК-11 эмулирует регистр, находящийся по этому адресу.

    ---------- Post added at 04:17 ---------- Previous post was at 02:34 ----------

    Разбираясь с зависанием при обращении RT-11 к регистру 177776, нашел СУПЕР-МЕГА-ГЛЮК ВПО!
    (А может и мой мегаглюк)

    Итак, нулевая 8-килобайтовая страничка ОЗУ (0..17776) используется как таблица для эмуляции обращения к регистрам 170000-177776. Причем первые 4Кб - это хранилище самих значений записанных в эмулируемые регистры, а вторые 4Кб - это собственно адреса хендлеров (обработчиков) обращений к этим регистрам. На месте отсутствующих регистров, соответственно, записан нулевой адрес хендлера.
    Итак! Внимание! При вызове распаковщика кода из ПЗУ в ОЗУ (в самом начале старта ПК-11) стек устанавливается по адресу 20000, и, таким образом, пишет мусор в верхние 8-10 эмулируемых регистров с адресами 177756-177776. Таким образом, любое обращение к этим регистрам приведет к НЕПРЕДСКАЗУЕМЫМ последствиям.

    Что я и встретил, при обращении при загрузке RT-11 по адресу 177776.

  2. #232
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    какой регистр находится в памяти по адресу 177776?
    У многих процессоров DEC ( а также у 1801ВМ3 ) по этому адресу видно содержимое PSW.

  3. #233
    Activist
    Регистрация
    11.11.2014
    Адрес
    г. Москва
    Сообщений
    334
    Спасибо Благодарностей отдано 
    60
    Спасибо Благодарностей получено 
    28
    Поблагодарили
    23 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    У многих процессоров DEC ( а также у 1801ВМ3 ) по этому адресу видно содержимое PSW.
    Может быть в ПК-11/16К эмулируется работа процессора 1801ВМ3 ?

    Товарищ GID недавно выложил таблицу регистров процессоров и внешних устройств -- в ней указано, что в ВМ3 это PSW...

  4. #234
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    У многих процессоров DEC ( а также у 1801ВМ3 ) по этому адресу видно содержимое PSW.
    Ну, у 1806ВМ2-то там явно ничего не должно быть, ибо он практически 1801ВМ2)

    ---------- Post added at 14:36 ---------- Previous post was at 14:35 ----------

    Цитата Сообщение от TheGWBV Посмотреть сообщение
    Может быть в ПК-11/16К эмулируется работа процессора 1801ВМ3 ?
    Вы уже любезно считали свою версию ПЗУ? (ибо, вдруг у вас другая версия, и более правильная, например).

    ---------- Post added at 15:06 ---------- Previous post was at 14:36 ----------

    Цитата Сообщение от Patron Посмотреть сообщение
    У многих процессоров DEC ( а также у 1801ВМ3 ) по этому адресу видно содержимое PSW.
    В другой ветке мне подсказали так:

    Цитата Сообщение от form Посмотреть сообщение
    Регистр состояния процессора на всех машинах где есть MMU.
    Замечу, что пока эта проблема не будет выяснена, эмулятор ПК-11 дальше не двинется)

  5. #235
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    В другой ветке мне подсказали так
    Там другими словами говорится то же самое ( т.к. PSW - это регистр состояния процессора ).

    ...
    Последний раз редактировалось Patron; 11.01.2015 в 14:11.

  6. #236
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Там другими словами говорится то же самое ( т.к. PSW - это регистр состояния процессора ).

    ...
    Да, но сперва я подумал, что это может быть какой-то дополнительный регистр состояния, например, отвечающий за ту же MMU.

    Вопрос к Никите - посмотри, что у тебя в ОЗУ по абсолютному адресу 17776, после того, как проходит тест и подпрограммы ВПО распаковываются из ПЗУ в ОЗУ.

    ---------- Post added at 15:29 ---------- Previous post was at 15:23 ----------

    Пока что я спотыкаюсь на такой конструкции (в самом начале загрузчика RT-11), понять бы, что он в ней хочет проверить:

    (числа в командах перевел в восьмиричный вид, для восьмиричников, адреса команд и коды команд не переводил):

    Код:
    02DE  0BDF FFFE       TST   (#177776)                        
    02E2  00A0            NOP                                   
    02E4  4460            BIC   (R1)+,-(R0)                     
    02E6  0BDF FF66       TST   (#177546)                        
    02EA  00A0            NOP                                   
    02EC  5448            OR    (R1)+,(R0)                      
    02EE  0203            BNE   $02F6                           
    02F0  0BDF 0001       TST   (#000001)                        
    02F4  00A0            NOP                                   
    02F6  5448            OR    (R1)+,(R0)                      
    02F8  F000            NOP   *                               
    02FA  5448            OR    (R1)+,(R0)                      
    02FC  0BDF F560       TST   (#172540)                        
    0300  00A0            NOP                                   
    0302  5448            OR    (R1)+,(R0)

  7. #237
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    понять бы, что он в ней хочет проверить
    В оригинале ( см. BSTRAP.MAC из RT11v5.0 ) это выглядит так:

    Код:
    	TST	@#PS
    	NOP
     	BIC	(R1)+,-(R0)
    	TST	@#LKCS
    	NOP
    	BIS	(R1)+,@R0
    	BNE	1$
    	TST	@#1
    	NOP
    1$:	BIS	(R1)+,@R0
    	CFCC
    	BIS	(R1)+,@R0
    	TST	@#172540
    	NOP
    	BIS	(R1)+,@R0

    Проще говоря - если разработчикам не хочется проверять выполнение процессором кода CFCC - для правильной конфигурации RT-11 там вместо NOP должно быть CLR (R1).

    ...

    В эмуляторе ДВК это место выполняется так:

    Код:
    001374 [000000]        TST   @#177546         ; 177546:      
    
    ################
    Trap to 004 = Чтение по пустому адресу: 177546
    ################
                                                  ;   PSW :000000 -> 000774:000000
                                                  ;   PC  :001400 -> 000772:001370
                                                  ; 000004:003410 ->   PC
                                                  ; 000006:   000 ->   PSW
    
    003410 [000000]        CLR   (R1)             ; 003664:020000
    003412 [000004]        ADD   #0, (SP)         ; 003414:000000 -> 000772:001400
    003416 [000000]        RTI                    ; 000772:001400 ->   PC
                                                  ; 000774:   000 ->   PSW
    
    001400 [000000]        NOP
    001402 [000000]        BIS   (R1)+, (R0)      ; 003664:000000 -> 003660:004000
    001404 [000000]        BNE   001414
    
    001414 [000000]        BIS   (R1)+, (R0)      ; 003666:100000 -> 003660:004000
    001416 [000010]        170000 - Команда не опознана.
    
    ################
    Trap to 010
    ################
                                                  ;   PSW :000010 -> 000774:000000
                                                  ;   PC  :001420 -> 000772:001400
                                                  ; 000010:003410 ->   PC
                                                  ; 000012:   000 ->   PSW
    
    003410 [000000]        CLR   (R1)             ; 003670:000100
    003412 [000004]        ADD   #0, (SP)         ; 003414:000000 -> 000772:001420
    003416 [000000]        RTI                    ; 000772:001420 ->   PC
                                                  ; 000774:   010 ->   PSW
    
    001420 [000010]        BIS   (R1)+, (R0)      ; 003670:000000 -> 003660:104000
    001422 [000010]        TST   @#172540         ; 172540:      
    
    ################
    Trap to 004 = Чтение по пустому адресу: 172540
    ################
                                                  ;   PSW :000010 -> 000774:000010
                                                  ;   PC  :001426 -> 000772:001420
                                                  ; 000004:003410 ->   PC
                                                  ; 000006:   000 ->   PSW
    
    003410 [000000]        CLR   (R1)             ; 003672:040000
    003412 [000004]        ADD   #0, (SP)         ; 003414:000000 -> 000772:001426
    003416 [000000]        RTI                    ; 000772:001426 ->   PC
                                                  ; 000774:   010 ->   PSW
    
    001426 [000010]        NOP
    001430 [000010]        BIS   (R1)+, (R0)      ; 003672:000000 -> 003660:104000
    Последний раз редактировалось Patron; 11.01.2015 в 17:13.

  8. #238
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Код:
    	TST	@#SR0
    	NOP
    	BIS	@R1,@R0
    Какое SR0? Если монитор собирается без поддержки MMU, то этих команд в BSTRAP нет.

  9. #239
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Какое SR0? Если монитор собирается без поддержки MMU, то этих команд в BSTRAP нет.
    Исправил.

  10. #240
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Итак, нулевая 8-килобайтовая страничка ОЗУ (0..17776) используется как таблица для эмуляции обращения к регистрам 170000-177776.
    Я бы поправил эту фразу - для эмуляции обращения к несуществующим регистрам. А поскольку обычно в верхней области нет несуществующих регистров (либо по этим адресам никто никогда не обращается), то верхняя часть этой таблички вполне может использоваться как стек. Регистр по адресу 177776, отражающий значение PSW, я так думаю, всегда существует.

Страница 24 из 82 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Документация по Z280
    от spensor в разделе Несортированное железо
    Ответов: 39
    Последнее: 08.04.2014, 00:52
  2. Тех. документация на старые ЭВМ и книги
    от AL.EX в разделе Барахолка (архив)
    Ответов: 2
    Последнее: 15.08.2010, 17:33
  3. Ленинград-2: документация
    от dicebox в разделе Ленинград
    Ответов: 13
    Последнее: 14.04.2009, 23:33
  4. Документация к Dendy
    от UberAlice в разделе Nintendo
    Ответов: 9
    Последнее: 19.03.2008, 14:02
  5. Программная документация.
    от fk0 в разделе Программирование
    Ответов: 7
    Последнее: 19.01.2006, 16:53

Ваши права

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