Это заставляет иначе взглянуть на начальные значения PAR.
Это заставляет иначе взглянуть на начальные значения PAR.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Касаемо начальных значений MMU.
Про KDJ11-B написано, что при включении значение PARов неопределено, не сбрасывается ни по ресету ни по консольному старту. Если включиться с выпаданием в пульт там 177777 у меня. На ВМ3 довелось посмотреть только после включения и загрузки SJ (VM нету) - содержимое напоминало код программы, но сильно не приглядывался.
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
Тесты на ВМ3
Код:.MMU MMU FEATURES: 22-BIT MOV #-1,@#MMR0 ;MMR0 = 160401 CLR @#MMR0 ;MMR0 = 000000 MOV #-1,@#MMR3 ;MMR3 = 177777 CLR @#MMR3 ;MMR3 = 177717 MOV #-1,@#KISAR0 ;KISAR0 = 007777 CLR @#KISAR0 ;KISAR0 = 000000 MOV #-1,@#KISDR0 ;KISDR0 = 077416 CLR @#KISDR0 ;KISDR0 = 000000 BIS #140000,@#PSW ;SET USER MODE HALT ;TRAP TO 10 MOV #123456,@#20000 ; MFPD @#20000 ; MOV (SP)+,R0 ;R0=123456 MOV #77404,@#UISDR1 ;ACF=10 TST @#20000 ; *** MMU FAULT AT 002312, MMR0=100143, MMR1=000000, MMR2=002306 *** CLR @#20000 ; *** MMU FAULT AT 002342, MMR0=100143, MMR1=000000, MMR2=002336 *** .PSW4 PSW test #4 MOV #000001, @#177572 MOV #100340, @#177776 >>> Trap to 250 <<< MOV #040340, @#177776 >>> Trap to 250 <<< MOV #020340, @#177776 MOV #010340, @#177776 MOV #100340, @#000022 IOT ; SP/001000 >>> Trap to 250 <<< ; SP/001000 MOV #100340, 2(SP) RTI ; SP/001000 >>> Trap to 250 <<< ; SP/001000 Program completed. .PSW5 PSW test #5 001150/ MOV #100340, @#177776 001156/ MOV #000001, @#177572 001164/ NOP >>> Trap to 250 <<< ; SR0/100101 ; SR2/001156 001224/ MOV #000001, @#177572 001232/ MOV #100340, @#177776 001240/ NOP >>> Trap to 250 <<< ; SR0/100101 ; SR2/001232 001300/ MOV #000001, @#177572 001306/ MOV #020340, @#177776 001314/ MFPI (PC) >>> Trap to 250 <<< ; SR0/100101 ; SR2/001314 Program completed.
.
Новая версия теста: PSW4.SAV - выводит значения USP и KSP.
Запускать на машинах с диспетчером памяти. На эмулируемой ДВК-3 результат такой :
Код:.RU PSW4 PSW test #4a MOV #000001, @#177572 MOV #100340, @#177776 >>> Trap to 250 <<< MOV #040340, @#177776 >>> Trap to 250 <<< MOV #020340, @#177776 MOV #010340, @#177776 MOV #100340, @#000022 IOT ; USP/010000 ; KSP/001000 >>> Trap to 250 <<< ; USP/007774 ; KSP/001000 MOV #100340, 2(SP) RTI ; USP/007774 ; KSP/000774 >>> Trap to 250 <<< ; USP/007774 ; KSP/001000 Program completed. .
- - - Добавлено - - -Код:.RU PSW4 PSW test #4a MOV #000001, @#177572 MOV #100340, @#177776 >>> Trap to 250 <<< MOV #040340, @#177776 MOV #020340, @#177776 MOV #010340, @#177776 MOV #100340, @#000022 IOT ; USP/010000 ; KSP/001000 >>> Trap to 250 <<< ; USP/010000 ; KSP/001000 MOV #100340, 2(SP) RTI ; USP/010000 ; KSP/000774 >>> Trap to 250 <<< ; USP/010000 ; KSP/001000 Program completed. .
ВМ3:- - - Добавлено - - -Код:.RU HX1:PSW4 PSW test #4a MOV #000001, @#177572 MOV #100340, @#177776 >>> Trap to 250 <<< MOV #040340, @#177776 >>> Trap to 250 <<< MOV #020340, @#177776 MOV #010340, @#177776 MOV #100340, @#000022 IOT ; USP/010000 ; KSP/001000 >>> Trap to 250 <<< ; USP/007776 ; KSP/001000 MOV #100340, 2(SP) RTI ; USP/007776 ; KSP/000774 >>> Trap to 250 <<< ; USP/007776 ; KSP/001000 Program completed. .
Тут как бы все логично: IOT не меняет SP (какой менять?)
А тут получается за неимением вариантов пытается запихать в USP, а потом спохватывается и посреди процесса вылетает? Или USP выбирается по одному старшему биту, а попытка записать PC (причем декремент сохраняется) вызывает MP SST - нет PAR/PDR... Надо еще наверное @xSP выводить
Последний раз редактировалось form; 06.02.2016 в 15:50.
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
Похоже второе мое предположение верно: SP выбирается по одному биту, делается запись в него и вызывает аборт - нет соответствующих PAR/PDR, но декремент сохраняется (хотя с MP STT наверное всегда так - не случайно в MMR1 возвращаются значения регистров и оффсетов для отката).
- - - Добавлено - - -
Похоже он и есть всегда без мапинга. То есть SP выбирается старшим битом, а пары PAR/PDR нету.
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
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)