Entry tags:
Стартуем микро-БЭСМ
Микро-БЭСМ подаёт первые признаки жизни. Микрокод стартует и доходит до выборки первой инструкции из основной памяти. Интерфейс к памяти пока не реализован, поэтому микрокод циклится на ожидании готовности арбитра.
Что-то с АЛУ еще не так, поэтому появляются странные неопределённые значения (xxxx) в регистрах.
Что-то с АЛУ еще не так, поэтому появляются странные неопределённые значения (xxxx) в регистрах.
Trace file for input.hex
(0) *** Reset
(10) *** Clear reset
(20) 000: jz map=PE alud=Q rb=A stopc=YTOM pshf=-64 mnsa=U bra=RG0 ara=RG0
(20) Write control.SP = 0
(30) 000: cjpp 64a map=PE ffcnt=CLREI
(40) 64a: cont 0ce ALU alud=B alus=DZ H rb=MANT dsrc=PROM ydst=PROCN
(40) Read Const[206] = 001fffffffffffff
(40) Write alu.R9 = 00xxxxxxxxxxxxxx
(40) Write alu.MSR = xxzx
(50) 64b: cont 0cf ALU alud=B alus=DZ H rb=EXPN dsrc=PROM WRB ydev=ECBTAG
(50) Read Const[207] = ffe0000000000000
(50) Write alu.R8 = ffe000000000000x
(60) 64c: cont 015 alud=B func=SUBR alus=DZ H rb=WR2 ci=CI1 dsrc=PROM ydev=PHYSAD
(60) Read Const[21] = 0000000000000020
(60) Write alu.R14 = ffffffffffffffxx
(70) 64d: push 01f map=PE ALU alud=B func=AND alus=DZ H rb=WR1 ydev=MPMEM WRY IOMP mpadr=FCP
(70) Write alu.R15 = 0000000000000000
(70) Write control.SP = 1
(70) Write control.Stack1 = 64e
(80) 64e: cont 015 ALU alud=B alus=DA H rb=WR2 ra=WR2 dsrc=PROM ydst=MODGN
(80) Read Const[21] = 0000000000000020
(80) Write alu.R14 = xxxxxxxxxxxxxxxx
(90) 64f: rfct ALU alus=ZA ra=WR1 pshf=63 mnsa=MP modnm=M0 CSM WEM
(90) Write control.SP = 0
(100) 650: cont 078 alud=B alus=DZ H rb=WR1 dsrc=PROM
(100) Read Const[120] = 0000000000000014
(100) Write alu.R15 = 000000000000001x
(110) 651: cont 06a ALU alud=B func=SUBR alus=DA H rb=WR1 ra=WR1 ci=CI1 dsrc=PROM ydst=ARBOPC CEN
(110) Read Const[106] = 0000000000000005
(110) Write alu.R15 = 00000000000000xx
(110) Write alu.uSR = 0010
(120) 652: push 3ff map=PE ALU alud=B func=AND alus=DZ H rb=WR2 ydst=PHYSPG
(120) Write alu.R14 = 0000000000000000
(120) Write control.SP = 1
(120) Write control.Stack1 = 653
(120) Write PHYSPG = 000
(130) 653: cont 001 ALU alus=ZA ra=WR2 dsrc=PROM ydst=ADRREG ddev=MODB WRD
(130) Read Const[1] = 0000000000000000
(130) Write ADRREG = 0000000x
(140) 654: cont 067 ALU alus=DZ dsrc=PROM ydev=STOPM0 WRY
(140) Read Const[103] = 0000000000000001
(150) 655: cont 067 ALU alus=DZ dsrc=PROM ydev=STOPM1 WRY
(150) Read Const[103] = 0000000000000001
(160) 656: rfct 01a ALU alud=B alus=DA rb=WR2 ra=WR2 ci=CI1 dsrc=PROM ydst=PHYSPG
(160) Read Const[26] = 0000000000000400
(160) Write alu.R14 = 000000000000040x
(160) Write control.SP = 0
(170) 657: cjpp 651 map=PE stopc=/NZ cond=CT
(180) 658: cont 1a5 ALU alus=DZ stopc=YTOM pshf=46 mnsa=MP modnm=RR dsrc=PROM ydst=CNT CEM CSM WEM ddev=STATUS WRD ffcnt=CLRTKK
(180) Read Const[421] = 0000000003c7f000
(180) Write alu.MSR = 0000
(180) Write CNT = 03c7f00x
(190) 659: cont 0e5 ALU alud=B alus=DZ H rb=WR1 ci=CI1 dsrc=PROM ydst=ADRREG
(190) Read Const[229] = 00000000fff80840
(190) Write alu.R15 = 00000000fff8084x
(190) Write alu.MSR = 00z0
(190) Write ADRREG = fff8084x
(200) 65a: cont 05a ALU alus=DZ dsrc=PROM ydev=PSMEM WRY ffcnt=CLRCT
(200) Read Const[90] = 00000000000003ff
(210) 65b: cjs 44e map=PE ydst=CCLR ffcnt=CLRINT
(210) Write control.SP = 1
(210) Write control.Stack1 = 65c
(220) 44e: cont 0c5 alud=B alus=DZ rb=WR5 dsrc=PROM
(220) Read Const[197] = 0000000000b000b0
(220) Write alu.R11 = 0000000000b000bx
(230) 44f: cont ALU alus=ZA ra=WR5 dsrc=WT ddev=CTIME IOMP mpadr=FMP
(240) 450: cont ALU alus=ZA ra=WR5 dsrc=WT ddev=CTIME WRD IOMP mpadr=FMP
(250) 451: push 001 map=PE ALU alus=ZA ra=WR5 dsrc=WT ddev=CTIME IOMP mpadr=FMP
(250) Write control.SP = 2
(250) Write control.Stack2 = 452
(260) 452: rfct
(270) 452: rfct
(270) Write control.SP = 1
(280) 453: cont ALU func=AND alus=DZ dsrc=WT ddev=CTIME IOMP mpadr=FCP
(290) 454: ldct 851 map=PE ALU func=AND alus=DZ dsrc=WT ddev=CTIME WRD IOMP mpadr=FCP
(300) 455: cont ALU func=AND alus=DZ dsrc=WT ddev=CTIME IOMP mpadr=FCP
(310) 456: crtn ffcnt=CLRCTT
(310) Write control.SP = 0
(320) 65c: cont 1a8 ALU alus=DA ra=WR1 dsrc=PROM ydst=ADRREG
(320) Read Const[424] = 0000000000000000
(320) Write ADRREG = fff808xx
(330) 65d: cont alud=B alus=DZ H rb=WR1 dsrc=PROM arbi=DRD ECB WRB bra=RG0 ydev=PHYSAD
(330) Read Const[0] = 0000000000000001
(330) Write alu.R15 = 000000000000000x
(340) 65e: cont ALU alud=BA alus=DA H rb=WR2 ra=WR1 pshf=-4 mnsa=IRA modnm=M3 dsrc=SHIFT shf=LOG MPS
(340) Write alu.R14 = xxxxxxxxxxxxxxxx
(350) 65f: cont ALU alud=BA alus=DZ H rb=WR1 ra=WR1 pshf=-3 mnsa=IRA modnm=M2 dsrc=SHIFT shf=LOG MPS
(350) Write alu.R15 = xxxxxxxxxxxxxxxx
(360) 660: cont alud=B alus=AB H rb=WR2 ra=WR1
(370) 661: push 12f alud=B alus=DA H rb=WR2 ra=WR2 dsrc=PROM ICC
(370) Read Const[303] = 0000000000000089
(370) Write control.SP = 1
(370) Write control.Stack1 = 662
(380) 662: loop 1aa alud=B alus=DZ H rb=A dsrc=PROM cond=ARBRDY
(380) Read Const[426] = 0000000003e41000
(380) Write alu.R0 = 0000000003e4100x
(390) 662: loop 1aa alud=B alus=DZ H rb=A dsrc=PROM cond=ARBRDY
(390) Read Const[426] = 0000000003e41000
(400) 662: loop 1aa alud=B alus=DZ H rb=A dsrc=PROM cond=ARBRDY
(400) Read Const[426] = 0000000003e41000
(410) 662: loop 1aa alud=B alus=DZ H rb=A dsrc=PROM cond=ARBRDY
(410) Read Const[426] = 0000000003e41000
...