Простенько и со вкусом Пока в значительной степени концепт (типа, ошибки возможны, код не оптимален и step не всегда отрабатывает - где то там собака порылась в прерываниях и возврате из оных )
Код:
PDP-11/94 (256KW) (PDP-2011 based) FullODT for halt mode (in development :))
>>>S
R0=000136 R1=000000 R2=000000 R3=000000 R4=000000 R5=000000
SP=000000 PC=165020 PS=000340
165020 CLR R3
R0=000136 R1=000000 R2=000000 R3=000000 R4=000000 R5=000000
SP=000000 PC=165022 PS=000344
>>>S
R0=000136 R1=000000 R2=000000 R3=000000 R4=000000 R5=000000
SP=000000 PC=165022 PS=000344
165022 INC R3
R0=000136 R1=000000 R2=000000 R3=000001 R4=000000 R5=000000
SP=000000 PC=165024 PS=000340
>>>S
R0=000136 R1=000000 R2=000000 R3=000001 R4=000000 R5=000000
SP=000000 PC=165024 PS=000340
165024 COM R3
R0=000136 R1=000000 R2=000000 R3=177776 R4=000000 R5=000000
SP=000000 PC=165026 PS=000351
>>>40S
R0=000136 R1=000000 R2=000000 R3=177776 R4=000000 R5=000000
SP=000000 PC=165026 PS=000351
165026 ASR R3
R0=000136 R1=000000 R2=000000 R3=177777 R4=000000 R5=000000
SP=000000 PC=165030 PS=000352
165030 ASL R3
R0=000136 R1=000000 R2=000000 R3=177776 R4=000000 R5=000000
SP=000000 PC=165032 PS=000351
165032 ROR R3
R0=000136 R1=000000 R2=000000 R3=177777 R4=000000 R5=000000
SP=000000 PC=165034 PS=000352
165034 TST R3
R0=000136 R1=000000 R2=000000 R3=177777 R4=000000 R5=000000
SP=000000 PC=165036 PS=000350
165036 NEG R3
R0=000136 R1=000000 R2=000000 R3=000001 R4=000000 R5=000000
SP=000000 PC=165040 PS=000341
165040 DEC R3
R0=000136 R1=000000 R2=000000 R3=000000 R4=000000 R5=000000
SP=000000 PC=165042 PS=000345
165042 SBC R3
R0=000136 R1=000000 R2=000000 R3=177777 R4=000000 R5=000000
SP=000000 PC=165044 PS=000351
165044 ROL R3
R0=000136 R1=000000 R2=000000 R3=177777 R4=000000 R5=000000
SP=000000 PC=165046 PS=000351
165046 ADC R3
R0=000136 R1=000000 R2=000000 R3=000000 R4=000000 R5=000000
SP=000000 PC=165050 PS=000345
165050 SWAB R3
R0=000136 R1=000000 R2=000000 R3=000000 R4=000000 R5=000000
SP=000000 PC=165052 PS=000344
165052 BNE .
R0=000136 R1=000000 R2=000000 R3=000000 R4=000000 R5=000000
SP=000000 PC=165054 PS=000344
165054 MOV #165000, R2
R0=000136 R1=000000 R2=165000 R3=000000 R4=000000 R5=000000
SP=000000 PC=165060 PS=000350
165060 MOV (R2), R3
R0=000136 R1=000000 R2=165000 R3=165000 R4=000000 R5=000000
SP=000000 PC=165062 PS=000350
165062 CMP (R2)+, R3
R0=000136 R1=000000 R2=165002 R3=165000 R4=000000 R5=000000
SP=000000 PC=165064 PS=000344
165064 BNE .
R0=000136 R1=000000 R2=165002 R3=165000 R4=000000 R5=000000
SP=000000 PC=165066 PS=000344
165066 ADD @(R2)+, R3
R0=000136 R1=000000 R2=165004 R3=152000 R4=000000 R5=000000
SP=000000 PC=165070 PS=000351
165070 ADD @-(R2), R3
R0=000136 R1=000000 R2=165002 R3=165000 R4=000000 R5=000000
SP=000000 PC=165072 PS=000351
165072 BIC -(R2), R3
R0=000136 R1=000000 R2=165000 R3=000000 R4=000000 R5=000000
SP=000000 PC=165074 PS=000345
165074 BIS 12(R2), R3
R0=000136 R1=000000 R2=165000 R3=165006 R4=000000 R5=000000
SP=000000 PC=165100 PS=000351
165100 BIT @12(R2), R3
R0=000136 R1=000000 R2=165000 R3=165006 R4=000000 R5=000000
SP=000000 PC=165104 PS=000351
165104 BEQ .
R0=000136 R1=000000 R2=165000 R3=165006 R4=000000 R5=000000
SP=000000 PC=165106 PS=000351
165106 MOV PC, R3
R0=000136 R1=000000 R2=165000 R3=165110 R4=000000 R5=000000
SP=000000 PC=165110 PS=000351
165110 JMP (R3)+
R0=000136 R1=000000 R2=165000 R3=165112 R4=000000 R5=000000
SP=000000 PC=165110 PS=000351
165110 JMP (R3)+
R0=000136 R1=000000 R2=165000 R3=165114 R4=000000 R5=000000
SP=000000 PC=165112 PS=000351
165112 MOV #165122, R3
R0=000136 R1=000000 R2=165000 R3=165122 R4=000000 R5=000000
SP=000000 PC=165116 PS=000351
165116 JMP @(R3)+
R0=000136 R1=000000 R2=165000 R3=165124 R4=000000 R5=000000
SP=000000 PC=165120 PS=000351
165120 JMP (R3)
R0=000136 R1=000000 R2=165000 R3=165124 R4=000000 R5=000000
SP=000000 PC=165124 PS=000351
165124 TSTB @#165004
R0=000136 R1=000000 R2=165000 R3=165124 R4=000000 R5=000000
SP=000000 PC=165130 PS=000344
165130 BNE .
R0=000136 R1=000000 R2=165000 R3=165124 R4=000000 R5=000000
SP=000000 PC=165132 PS=000344
165132 CMP (R2)+, (R2)+
R0=000136 R1=000000 R2=165004 R3=165124 R4=000000 R5=000000
SP=000000 PC=165134 PS=000344
165134 TSTB (R2)+
R0=000136 R1=000000 R2=165005 R3=165124 R4=000000 R5=000000
SP=000000 PC=165136 PS=000344
165136 BNE .
R0=000136 R1=000000 R2=165005 R3=165124 R4=000000 R5=000000
SP=000000 PC=165140 PS=000344
165140 TSTB (R2)
R0=000136 R1=000000 R2=165005 R3=165124 R4=000000 R5=000000
SP=000000 PC=165142 PS=000350
165142 BPL .
R0=000136 R1=000000 R2=165005 R3=165124 R4=000000 R5=000000
SP=000000 PC=165144 PS=000350
165144 MOV PC, R1
R0=000136 R1=165146 R2=165005 R3=165124 R4=000000 R5=000000
SP=000000 PC=165146 PS=000350
165146 BR 165500
R0=000136 R1=165146 R2=165005 R3=165124 R4=000000 R5=000000
SP=000000 PC=165500 PS=000350
165500 MOV #14012, R2
R0=000136 R1=165146 R2=014012 R3=165124 R4=000000 R5=000000
SP=000000 PC=165504 PS=000340
165504 MOV PC, R3
R0=000136 R1=165146 R2=014012 R3=165506 R4=000000 R5=000000
SP=000000 PC=165506 PS=000350
165506 BR 165540
R0=000136 R1=165146 R2=014012 R3=165506 R4=000000 R5=000000
SP=000000 PC=165540 PS=000350
165540 TSTB @#177564
R0=000136 R1=165146 R2=014012 R3=165506 R4=000000 R5=000000
SP=000000 PC=165544 PS=000344
>>>
>>>B DK0
DOS/BATCH V9-20C
DATE: 11-AUG-99
TIME: 1:46
DIALOGUE?
$LO 1,1
DATE:-11-AUG-99
TIME:-01:46:01
$RU PIP
PIP V10-02
#/DI
DIRECTORY DK0: [ 1,1 ]
11-AUG-99
BADB .SYS 1 11-DEC-72 <377>
MONLIB.CIL 175C 11-DEC-72 <377>
DTBLD .BAT 7 11-DEC-72 <233>
VERIFY.LDA 68C 11-DEC-72 <233>
CILUS .LDA 39 11-DEC-72 <233>
LINK .LDA 57C 11-DEC-72 <233>
PIP .LDA 35C 11-DEC-72 <233>
EDIT .LDA 13 11-DEC-72 <233>
FILDMP.LDA 7 11-DEC-72 <233>
LIBR .LDA 9 11-DEC-72 <233>
FILCOM.LDA 14 11-DEC-72 <233>
ODT .OBJ 10 11-DEC-72 <233>
MACRO .LDA 39C 11-DEC-72 <233>
CREF .LDA 10 11-DEC-72 <233>
SYSMAC.S
R0=133414 R1=133414 R2=153662 R3=001400 R4=104377 R5=177776
SP=133374 PC=001010 PS=000011
>>>S
R0=133414 R1=133414 R2=153662 R3=001400 R4=104377 R5=177776
SP=133374 PC=001010 PS=000011
001010 MOV SP, R1
R0=133414 R1=133414 R2=153662 R3=001400 R4=104377 R5=177776
SP=133370 PC=011166 PS=000300
>>>S
R0=133414 R1=133414 R2=153662 R3=001400 R4=104377 R5=177776
SP=133370 PC=011166 PS=000300
011166 CALL @11162
R0=133414 R1=133414 R2=153662 R3=001400 R4=104377 R5=177776
SP=133366 PC=011164 PS=000300
>>>S
R0=133414 R1=133414 R2=153662 R3=001400 R4=104377 R5=177776
SP=133366 PC=011164 PS=000300
011164 RETURN
R0=133414 R1=133414 R2=153662 R3=001400 R4=104377 R5=177776
SP=133370 PC=011172 PS=000300
>>>S
R0=133414 R1=133414 R2=153662 R3=001400 R4=104377 R5=177776
SP=133370 PC=011172 PS=000300
011172 INC @#6600
R0=133414 R1=133414 R2=153662 R3=001400 R4=104377 R5=177776
SP=133370 PC=011176 PS=000300
>>>S
R0=133414 R1=133414 R2=153662 R3=001400 R4=104377 R5=177776
SP=133370 PC=011176 PS=000300
011176 BVC 011210
R0=133414 R1=133414 R2=153662 R3=001400 R4=104377 R5=177776
SP=133370 PC=011210 PS=000300
>>>10S
R0=133414 R1=133414 R2=153662 R3=001400 R4=104377 R5=177776
SP=133370 PC=011210 PS=000300
011210 TST @#177546
R0=133414 R1=133414 R2=153662 R3=001400 R4=104377 R5=177776
SP=133370 PC=011214 PS=000300
ML 26 11-DEC-72 <233>
CL0 .SYS 1 11-DEC-72 <233>
CL1 .SYS 1 11-DEC-72 <233>
CL2 .SYS 1 11-DEC-72 <233>
CL3 .SYS 1 11-DEC-72 <233>
CL4 .SYS 1 11-DEC-72 <233>
CL5 .SYS 1 11-DEC-72 <233>
CL6 .SYS 1 11-DEC-72 <233>
CL7 .SYS 1 11-DEC-72 <233>
LDUMP .LDA 29 11-DEC-72 <233>
TEST .TXT 1 11-DEC-72 <233>
A .MAC 1 11-DEC-72 <233>
PIP .LIB 120 11-DEC-72 <233>
TOTL BLKS: 669
TOTL FILES: 27
#