User Tag List

Страница 136 из 227 ПерваяПервая ... 132133134135136137138139140 ... ПоследняяПоследняя
Показано с 1,351 по 1,360 из 2264

Тема: Особенности процессоров и устройств архитектуры PDP-11. Тесты. Диагностика.

  1. #1351

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    .

    Следующий тест проверяет отработку TrapTo_10 и TrapTo_4 ( без зависания ) в режиме HALT :

    Код:
    	.ASect
    	. = 0
    	Jmp	(R1)+			// Точка входа пульта.
    
    	. = 24
    	.Word	Start			// Адрес старта.
    	.Word	340
    Start:
    	Mov	#2222, SP
    	Mov	#Next, R1
    	HALT				// Установить HALT-моду
    
    Next:
    	MFPT
    	Jmp	R0
    	Nop
    	Br	.-2.
    - - - Добавлено - - -

    Цитата Сообщение от Vslav Посмотреть сообщение
    А как в обработчике отличить - это был IOT или HALT?
    Насколько я понял - любые прерывания в HALT-моде ВМ3 крайне нежелательны, но если кто-то очень хочет - может попробовать воспользоваться имеющимися возможностями.
    Последний раз редактировалось Patron; 26.01.2016 в 20:39.

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

  3. #1352

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Насколько я понял - любые прерывания в HALT-моде ВМ3 крайне нежелательны, но если кто-то очень хочет - может попробовать воспользоваться имеющимися возможностями.
    Об этом писалось, что в HALT-режиме нельзя употреблять прерывания, и почему-то команды EIS (MUL, DIV, ASH, ASHC).

    Получается прерывание в HALT-режиме ложит в вектор текущие PC и PSW HALT-режима.

  4. #1353

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    и почему-то команды EIS (MUL, DIV, ASH, ASHC).
    Код прошивки 377 заставляет в этом усомниться :

    Код:
    ROM:000122                 Mov     @#14016, R3
    ROM:000126                 Mov     @#14014, R2
    ROM:000132                 AShC    #3, R2
    ROM:000136                 Add     R4, R3
    ROM:000140                 Mov     R2, @#14014
    ROM:000144                 Mov     R3, @#14016
    Последний раз редактировалось Patron; 26.01.2016 в 21:05.

  5. #1354

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Код прошивки 377 заставляет в этом усомниться :
    В 134-й также употребляется ASH и ASHC, но передаю то, что писали.

    Также большая просьба к Vslav добавить к диаграммам вывод SEL(35). По данному выводу можно судить к какой памяти идет обращение - к основной или пультовой.

  6. #1355

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Получается прерывание в HALT-режиме ложит в вектор текущие PC и PSW HALT-режима.
    Команда IOT сохранила PC и PSW не в своём векторе, а в векторе BPT, поэтому есть смысл проверить и остальные программные прерывания :

    Код:
    	.ASect
    	. = 0
    	Jmp	(R1)+			// Точка входа пульта.
    
    	. = 24
    	.Word	Start			// Адрес старта.
    	.Word	340
    Start:
    	Mov	#2222, SP
    	Mov	#Next, R1
    	HALT				// Установить HALT-моду
    
    Next:
    	EMT	0
    	Trap	0
    	BPT
    
    	Call	Next2
    Next2:
    	Mov	SP, (PC)+
    	Nop
    	Nop
    	Br	.-2
    Последний раз редактировалось Patron; 26.01.2016 в 21:59.

  7. #1356

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    поэтому есть смысл проверить и остальные программные прерывания
    И до кучи - значение SP после прерывания.
    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. #1357

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Команда IOT сохранила PC и PSW не в своём векторе, а в векторе BPT, поэтому есть смысл проверить и остальные программные прерывания
    Вроде понятно. Произошла фатальная ситуация. Надо было читать из вектора 20. В HSP попало 20 и осуществился перезапуск HALT-режима и вместо ячеек 17776 и 17774 текущие PC и PSW положились в 16 и 14.

  9. #1358

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    И до кучи - значение SP после прерывания.
    Или итоговое значение SP после всех прерываний.

  10. #1359

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Или итоговое значение SP после всех прерываний
    Это и имел в виду. На случай если все происходит как при red stack abort к примеру: SP устанавливается принудительно в 4, потом происходит обычный trap to 4. Также насчет перехода в 0 - предположение, что вектор в HALT режиме берется из другого места - фиксированного или расчетного (как например при включенном MMU на все процах).
    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. #1360

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Вроде понятно. Произошла фатальная ситуация. Надо было читать из вектора 20. В HSP попало 20 и осуществился перезапуск HALT-режима и вместо ячеек 17776 и 17774 текущие PC и PSW положились в 16 и 14.
    Мне (на данный момент) представляется, что всё ещё проще - если в HALT-моде возникает прерывание, то оно отрабатывается по специальной схеме - в указатель стека помещается адрес вектора, в стек помещаются PSW и PC, а из скрытого вектора загружаются новые значения PC=0 и PSW=340. Таким образом команда HALT просто устанавливает HALT-моду и выполняет прерывание по вектору 020000.

Страница 136 из 227 ПерваяПервая ... 132133134135136137138139140 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Тесты ВМ1
    от nzeemin в разделе БК-0010/0011
    Ответов: 90
    Последнее: 05.10.2018, 12:24
  2. Диагностика
    от dk_spb в разделе Корвет
    Ответов: 31
    Последнее: 21.07.2017, 23:52
  3. Проблема двух процессоров.
    от Mikka_A в разделе Несортированное железо
    Ответов: 21
    Последнее: 28.11.2006, 17:04

Ваши права

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