Немига RESET trace: различия между версиями
Nzeemin (обсуждение | вклад) Нет описания правки |
Nzeemin (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{Emuverse}} | |||
Трасса операций на шине МПИ, восстановленная по дампу сигналов. Снято на Немиге 4.06. | Трасса операций на шине МПИ, восстановленная по дампу сигналов. Снято на Немиге 4.06. | ||
Строка 472: | Строка 473: | ||
... | ... | ||
</pre> | </pre> | ||
[[Категория:Немига]] |
Текущая версия от 17:11, 12 марта 2023
Этот документ создан для Emuverse и распространяется на условиях лицензии CC-BY-SA-3.0. |
Трасса операций на шине МПИ, восстановленная по дампу сигналов. Снято на Немиге 4.06.
Дамп снимался на работающей машине, триггером было появление сигнала СБРОС, выполнялось нажатием кнопки СБРОС на корпусе.
RESET READ 000024 000000 ; Чтение вектора прерывания "нарушение питания" READ 000026 000000 READ 000000 000000 HALT WRITE 177706 000000 ; Запись PSW и PC в стек WRITE 177704 000002 READ 160002 160210 ; Чтение вектора прерывания HALT READ 160004 000341 READ 160210 022737 ROM CMP #056364, @#177776 ; Проверка, настроена ли память режима HALT READ 160212 056364 ROM READ 160214 177776 ROM READ 177776 056364 READ 160216 001402 ROM BEQ 160224 ; память инициализирована, потому что сброс сделан на работающей машине READ 160224 010046 ROM PUSH R0 WRITE 177702 000000 READ 160226 052737 ROM BIS #000200, @#177564 ; Уст. состояние терминала - не готов READ 160230 000200 ROM READ 160232 177564 ROM READ 177564 000200 WRITE 177564 000200 READ 160234 032737 ROM BIT #176000, @#170006 ; Проверка старших 6 бит регистра фиксации HALT READ 160236 176000 ROM READ 160240 170006 ROM READ 170006 000000 READ 160242 100737 ROM BMI 161142 ; Канальный сигнал СБРОС? да, переходим на обработку канального сигнала СБРОС READ 160142 012737 ROM MOV #000357, @#000206 ; 239. -> VFORM READ 160144 000357 ROM READ 160146 000206 ROM WRITE 000206 000357 READ 160150 005037 ROM CLR @#177560 ; Сброс состояния клавиатуры READ 160152 177560 ROM READ 177560 000000 WRITE 177560 000000 READ 160154 012737 ROM MOV #000200, @#177564 ; Уст. состояние терминала - не готов, запрет прерывания READ 160156 000200 ROM READ 160160 177564 ROM WRITE 177564 000200 READ 160162 005037 ROM CLR @#177770 READ 160164 177770 ROM READ 177770 000000 WRITE 177770 000000 READ 160166 042737 ROM BIC #177541, @#177766 ; Оставляем только флаги #136 READ 160170 177541 ROM READ 160172 177766 ROM READ 177766 000000 WRITE 177766 000000 READ 160174 012600 ROM POP R0 READ 177702 000000 READ 160176 000137 ROM JMP @#161074 ; Завершаем обработку прерывания HALT READ 160200 161074 ROM READ 161074 105037 ROM CLRB @#170006 ; Разрешаем системные прерывания READ 161076 170006 ROM READ 170006 000000 WRITE 170006 000000 READ 161100 000002 ROM RTI READ 177704 000002 ; Восстанавливаем PC READ 177706 000000 ; Восстанавливаем PSW READ 000002 000000 HALT WRITE 177706 000000 WRITE 177704 000004 READ 160002 160210 ROM READ 160004 000341 ROM READ 160210 022737 ROM CMP #056364, @#177776 READ 160212 056364 ROM READ 160214 177776 ROM READ 177776 056364 READ 160216 001402 ROM BEQ 160224 READ 160224 010046 ROM PUSH R0 WRITE 177702 000000 READ 160226 052737 ROM BIS #000200, @#177564 READ 160230 000200 ROM READ 160232 177564 ROM READ 177564 000200 WRITE 177564 000200 READ 160234 032737 ROM BIT #176000, @#170006 READ 160236 176000 ROM READ 160240 170006 ROM READ 170006 000000 READ 160242 100737 ROM BMI 161142 READ 160244 001756 ROM BEQ 161202 READ 160202 012600 ROM POP R0 READ 177702 000000 READ 160204 000137 ROM JMP @#161142 ; Переходим к сохранению регистров и пульту READ 160206 161142 ROM READ 161142 012637 ROM MOV (SP)+, @#177736 ; Сохраняем PC READ 161142 012637 ROM READ 177704 000004 READ 161144 177736 ROM WRITE 177736 000004 READ 161146 012637 MOV (SP)+, @#177740 ; Сохраняем PSW READ 177706 000000 READ 161150 177740 ROM WRITE 177740 000000 READ 161152 010637 ROM MOV SP, @#177734 READ 161154 177734 ROM WRITE 177734 177710 READ 161156 012706 ROM MOV #177734, SP ; Сохраняем остальные регистры READ 161160 177734 ROM READ 161162 010546 ROM PUSH R5 ; -> 177732 WRITE 177732 000000 READ 161164 010446 ROM PUSH R4 ; -> 177730 WRITE 177730 000142 READ 161166 010346 ROM PUSH R3 ; -> 177726 WRITE 177726 040042 READ 161170 010246 ROM PUSH R2 ; -> 177724 WRITE 177724 177770 READ 161172 010146 ROM PUSH R1 ; -> 177722 WRITE 177722 000000 READ 161174 010046 ROM PUSH R0 ; -> 177720 - начало блока регистров WRITE 177720 000000 READ 161176 013746 ROM MOV @#000004, -(SP) ; Адрес прерывания READ 161200 000004 ROM READ 000004 161546 WRITE 177716 161546 READ 161202 013746 ROM MOV @#000006, -(SP) ; PSW прерывания READ 161204 000006 ROM READ 000006 000340 WRITE 177714 000340 READ 161206 013746 MOV @#177766, -(SP) READ 161210 177766 ROM READ 177766 000000 WRITE 177712 000000 READ 161212 005037 ROM CLR @#177766 READ 161214 177766 ROM READ 177766 000000 WRITE 000000 000000 READ 161216 012737 ROM MOV #000340, @#000006 ; PSW для прерывания READ 161220 000340 ROM READ 161222 000006 ROM WRITE 000006 000340 READ 161224 012737 ROM MOV #161444, @#000004 ; Адрес прерывания?? READ 161226 161444 ROM READ 161230 000004 ROM WRITE 000004 161444 READ 161232 012737 ROM MOV #000060, @#170010 ; Регистр состояния адаптера локальной сети READ 161234 000060 ROM READ 161236 170010 ROM WRITE 170010 000060 READ 161240 000501 ROM BR 161444 ; Переход к пультовому терминалу ; Вывод приглашения пульта и ожидание команды READ 161444 012705 ROM MOV #162704, R5 ; Строка "Пульт>" READ 161446 162704 ROM READ 161450 012706 ROM MOV #177712, SP READ 161452 177712 ROM READ 161454 012737 ROM MOV #000340, @#000006 ; PSW для прерывания READ 161456 000340 ROM READ 161460 000006 ROM WRITE 000006 000340 READ 161462 012737 ROM MOV #161546, @#000004 ; Адрес прерывания по вектору 4 READ 161464 161546 ROM READ 161466 000004 ROM WRITE 000004 161546 READ 161470 004737 ROM CALL @#162274 ; PRINT Вывод строки, адрес в R5 READ 161472 162274 ROM READ 162274 112500 ROM MOVB (R5)+, R0 WRITE 177710 161474 READ 162274 112500 ROM MOVB (R5)+, R0 READ 162704 006406 ROM READ 162276 001001 ROM BNE 162302 READ 162302 004737 ROM CALL @#163722 READ 162304 163722 ROM READ 163722 004737 ROM CALL @#163466 READ 163724 163466 ROM READ 163466 112737 ROM MOVB #000003, @#170006 READ 163470 000003 ROM READ 163472 170006 ROM READ 170006 000000 WRITE 170006 000000 READ 163474 004736 ROM CALL @(SP)+ READ 177704 163726 READ 163726 010637 ROM MOV SP, @#177642 WRITE 177704 163476 READ 163726 010637 ROM MOV SP, @#177642 READ 163730 177642 ROM WRITE 177642 177704 READ 163732 012706 ROM MOV #177642, SP READ 163734 177642 ROM READ 163736 052737 ROM BIS #000001, @#177574 READ 163740 000001 ROM READ 163742 177574 ROM READ 177574 000000 WRITE 177574 000001 READ 163744 004777 ROM CALL @177774 READ 163746 014024 ROM READ 177774 164042 READ 164042 010046 ROM PUSH R0 WRITE 177640 163750 READ 164042 010046 ROM PUSH R0 WRITE 177636 000006 READ 164044 010146 ROM PUSH R1 WRITE 177634 000000 READ 164046 010246 ROM PUSH R2 WRITE 177632 177770 READ 164050 010346 ROM PUSH R3 WRITE 177630 040042 READ 164052 010446 ROM PUSH R4 WRITE 177626 000142 READ 164054 010546 ROM PUSH R5 WRITE 177624 162705 READ 164056 004737 ROM CALL @#165206 READ 164060 165206 ROM READ 165206 013703 ROM MOV @#177772, R3 WRITE 177622 164062 READ 165206 013703 ROM MOV @#177772, R3 READ 165210 177772 ROM READ 177772 034606 READ 165212 100415 ROM BMI 165246 READ 165214 105737 ROM TSTB @#177771 READ 165216 177771 ROM READ 177771 000000 READ 165220 100412 ROM BMI 165246 READ 165222 005737 ROM TST @#177756 READ 165224 177756 ROM READ 177756 000003 READ 165226 100007 ROM BPL 165246 READ 165246 000207 ROM RETURN READ 177622 164062 READ 164062 016605 ROM MOV 000012(SP), R5 READ 164064 000012 ROM READ 177636 000006 READ 164066 042705 ROM BIC #177400, R5 READ 164070 177400 ROM READ 164072 012701 ROM MOV #000100, R1 READ 164074 000100 ROM READ 164076 012702 ROM MOV #177770, R2 READ 164100 177770 ROM READ 164102 105712 ROM TSTB (R2) READ 177770 000000 READ 164104 100014 ROM BPL 164136 READ 164136 001311 ROM BNE 164762 READ 164140 113704 ROM MOVB @#177766, R4 READ 164142 177766 ROM READ 177766 000000 READ 164144 100014 ROM BPL 164176 READ 164176 020527 ROM CMP R5, #000040 READ 164200 000040 ROM READ 164202 103437 ROM BLO 164302 ; Обработка символов с кодом меньше #040 READ 164302 012702 ROM MOV #165324, R2 READ 164304 165324 ROM READ 164306 132704 ROM BITB #000010, R4 READ 164310 000010 ROM READ 164312 001004 ROM BNE 164324 READ 164314 022222 ROM CMP (R2)+, (R2)+ READ 165324 037303 ROM BIT @000002(R3), R3 READ 165326 000002 ROM READ 164316 105704 ROM TSTB R4 READ 164320 100401 ROM BMI 164324 READ 164322 022222 ROM CMP (R2)+, (R2)+ READ 165330 001757 ROM READ 165332 000222 ROM unknown READ 164324 012200 ROM MOV (R2)+, R0 READ 165334 177774 ROM unknown READ 164326 011201 ROM READ 165336 177777 ROM READ 164330 073005 ROM ASHC R5, R0 READ 164332 100122 ROM BPL 164600 READ 164334 116504 ROM MOVB 165250(R5), R4 READ 164336 165250 ROM READ 165256 110431 ROM MOVB R4, @(R1)+ READ 164340 042704 ROM BIC #177400, R4 READ 164342 177400 ROM READ 164344 006304 ROM ASL R4 READ 164346 012702 ROM MOV #177770, R2 READ 164350 177770 ROM READ 164352 060407 ROM ADD R4, PC READ 164436 005012 ROM CLR (R2) READ 177770 000000 WRITE 177770 000000 READ 164440 005742 ROM TST -(R2) READ 177766 000000 READ 164442 005042 ROM CLR -(R2) READ 177764 000000 WRITE 177764 000000 READ 164444 005042 ROM CLR -(R2) READ 177762 000000 WRITE 177762 000000 READ 164446 000454 ROM BR 164600 READ 164600 000546 ROM BR 165116 READ 165116 004737 ROM CALL @#165206 READ 165120 165206 ROM READ 165206 013703 ROM MOV @#177772, R3 WRITE 177622 165122 READ 165206 013703 ROM MOV @#177772, R3 READ 165210 177772 ROM READ 177772 034606 READ 165212 100415 ROM BMI 165246 READ 165214 105737 ROM TSTB @#177771 READ 165216 177771 ROM READ 177771 000000 READ 165220 100412 ROM BMI 165246 READ 165222 005737 ROM TST @#177756 READ 165224 177756 ROM READ 177756 000003 READ 165226 100007 ROM BPL 165246 READ 165246 000207 ROM RETURN READ 177622 165122 READ 165122 012605 ROM POP R5 READ 177624 162705 READ 165124 012604 ROM POP R4 READ 177626 000142 READ 165126 012603 ROM POP R3 READ 177630 040042 READ 165130 012602 ROM POP R2 READ 177632 177770 READ 165132 012601 ROM POP R1 READ 177634 000000 READ 165134 012600 ROM POP R0 READ 177636 000006 READ 165136 000207 ROM RETURN READ 177640 163750 READ 163750 042737 ROM BIC #000001, @#177574 READ 163752 000001 ROM READ 163754 177574 ROM READ 177574 000001 WRITE 177574 000000 READ 163756 011606 ROM MOV (SP), SP READ 177642 177704 READ 163760 000207 ROM RETURN READ 177704 163476 READ 163476 105037 ROM CLRB @#170006 READ 163500 170006 ROM READ 170006 000000 WRITE 170006 000000 READ 163502 000207 ROM RETURN READ 177706 162306 READ 162306 000772 ROM BR 163274 READ 162274 112500 ROM MOVB (R5)+, R0 READ 162705 005015 ROM CLR (R5) READ 162276 001001 ROM BNE 162302 READ 162302 004737 ROM CALL @#163722 READ 162304 163722 ROM READ 163722 004737 ROM CALL @#163466 WRITE 177706 162306 READ 163722 004737 ROM CALL @#163466 READ 163724 163466 ROM READ 163466 112737 ROM MOVB #000003, @#170006 WRITE 177704 163726 READ 163466 112737 ROM MOVB #000003, @#170006 READ 163470 000003 ROM READ 163472 170006 ROM READ 170006 000000 WRITE 170006 000000 READ 163474 004736 ROM CALL @(SP)+ READ 177704 163726 READ 163726 010637 ROM MOV SP, @#177642 WRITE 177704 163476 READ 163726 010637 ROM MOV SP, @#177642 READ 163730 177642 ROM WRITE 177642 177704 READ 163732 012706 ROM MOV #177642, SP READ 163734 177642 ROM READ 163736 052737 ROM BIS #000001, @#177574 READ 163740 000001 ROM READ 163742 177574 ROM READ 177574 000000 WRITE 177574 000001 READ 163744 004777 ROM CALL @177774 READ 163746 014024 ROM READ 177774 164042 READ 164042 010046 ROM PUSH R0 WRITE 177640 163750 ...
В самом конце трассы - ожидание ввода с терминала и прерывание:
... READ 177560 000000 READ 162320 100375 ROM BPL 163314 READ 162314 105737 ROM TSTB @#177560 READ 162316 177560 ROM READ 177560 000000 READ 162320 100375 ROM BPL 163314 READ 162314 105737 ROM TSTB @#177560 READ 162316 177560 ROM READ 177560 000000 READ 162320 100375 ROM BPL 163314 WRITE 177706 000344 ; Запись PSW и PC в стек WRITE 177704 162320 READ 160002 160210 ROM READ 160004 000341 ROM READ 160210 022737 ROM CMP #056364, @#177776 READ 160212 056364 ROM READ 160214 177776 ROM READ 177776 056364 READ 160216 001402 ROM BEQ 160224 READ 160224 010046 ROM PUSH R0 WRITE 177702 000000 READ 160226 052737 ROM BIS #000200, @#177564 READ 160230 000200 ROM READ 160232 177564 ROM READ 177564 000200 WRITE 177564 000200 READ 160234 032737 ROM BIT #176000, @#170006 READ 160236 176000 ROM READ 160240 170006 ROM READ 170006 000000 READ 160242 100737 ROM BMI 161142 READ 160244 001756 ROM BEQ 161202 READ 160246 032737 ROM BIT #004000, @#170006 READ 160250 004000 ROM READ 160252 170006 ROM READ 170006 000000 READ 160254 001402 ROM BEQ 160262 READ 160262 032737 ROM BIT #040000, @#170006 READ 160264 040000 ROM READ 160266 170006 ROM READ 170006 000000 READ 160270 001404 ROM BEQ 160302 READ 160302 032737 ROM BIT #020000, @#170006 READ 160304 020000 ROM READ 160306 170006 ROM READ 170006 000000 READ 160310 001411 ROM BEQ 160334 READ 160334 013700 ROM MOV @#170006, R0 READ 160336 170006 ROM READ 170006 000000 READ 160340 032700 ROM BIT #002000, R0 READ 160342 002000 ROM READ 160344 001520 ROM BEQ 160606 READ 160606 012600 ROM POP R0 READ 177702 000000 READ 160610 032737 ROM BIT #010000, @#170006 READ 160612 010000 ROM READ 160614 170006 ROM READ 170006 000000 READ 160616 001526 ROM BEQ 161074 READ 160620 010446 ROM PUSH R4 WRITE 177702 000142 READ 160622 005737 ROM TST @#177760 READ 160624 177760 ROM READ 177760 000001 READ 160626 100050 ROM BPL 160750 READ 160750 105337 ROM DECB @#177756 READ 160752 177756 ROM READ 177756 177402 WRITE 177756 177401 READ 160754 100027 ROM BPL 161034 READ 161034 012604 ROM POP R4 READ 177702 000142 READ 161036 105766 ROM TSTB 000002(SP) READ 161040 000002 ROM READ 177706 000344 READ 161042 100414 ROM BMI 161074 READ 161074 105037 ROM CLRB @#170006 READ 161076 170006 ROM READ 170006 000000 WRITE 170006 000000 READ 161100 000002 ROM RTI READ 177704 162320 READ 177706 000344 READ 162320 100375 ROM BPL 163314 READ 162314 105737 ROM TSTB @#177560 READ 162316 177560 ROM READ 177560 000000 READ 162320 100375 ROM BPL 163314 READ 162314 105737 ROM TSTB @#177560 READ 162316 177560 ROM READ 177560 000000 ...