Немига RESET trace

Материал из Emuverse
Этот документ создан для 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
...