You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
1.2 KiB
Python
92 lines
1.2 KiB
Python
|
|
|
|
|
|
MSR = 1
|
|
MAR = 2
|
|
MDR = 3
|
|
RAM = 4
|
|
IR = 5
|
|
DST = 6
|
|
SRC = 7
|
|
A = 8
|
|
B = 9
|
|
C = 10
|
|
D = 11
|
|
DI = 12
|
|
SI = 13
|
|
SP = 14
|
|
BP = 15
|
|
CS = 16
|
|
DS = 17
|
|
SS = 18
|
|
ES = 19
|
|
VEC = 20
|
|
T1 = 21
|
|
T2 = 22
|
|
|
|
MSR_OUT = MSR
|
|
MAR_OUT = MAR
|
|
MDR_OUT = MDR
|
|
RAM_OUT = RAM
|
|
IR_OUT = IR
|
|
DST_OUT = DST
|
|
SRC_OUT = SRC
|
|
A_OUT = A
|
|
B_OUT = B
|
|
C_OUT = C
|
|
D_OUT = D
|
|
DI_OUT = DI
|
|
SI_OUT = SI
|
|
SP_OUT = SP
|
|
BP_OUT = BP
|
|
CS_OUT = CS
|
|
DS_OUT = DS
|
|
SS_OUT = SS
|
|
ES_OUT = ES
|
|
VEC_OUT = VEC
|
|
T1_OUT = T1
|
|
T2_OUT = T2
|
|
|
|
|
|
_DST_SHIFT = 5
|
|
|
|
|
|
MSR_IN = MSR << _DST_SHIFT
|
|
MAR_IN = MAR << _DST_SHIFT
|
|
MDR_IN = MDR << _DST_SHIFT
|
|
RAM_IN = RAM << _DST_SHIFT
|
|
IR_IN = IR << _DST_SHIFT
|
|
DST_IN = DST << _DST_SHIFT
|
|
SRC_IN = SRC << _DST_SHIFT
|
|
A_IN = A << _DST_SHIFT
|
|
B_IN = B << _DST_SHIFT
|
|
C_IN = C << _DST_SHIFT
|
|
D_IN = D << _DST_SHIFT
|
|
DI_IN = DI << _DST_SHIFT
|
|
SI_IN = SI << _DST_SHIFT
|
|
SP_IN = SP << _DST_SHIFT
|
|
BP_IN = BP << _DST_SHIFT
|
|
CS_IN = CS << _DST_SHIFT
|
|
DS_IN = DS << _DST_SHIFT
|
|
SS_IN = SS << _DST_SHIFT
|
|
ES_IN = ES << _DST_SHIFT
|
|
VEC_IN = VEC << _DST_SHIFT
|
|
T1_IN = T1 << _DST_SHIFT
|
|
T2_IN = T2 << _DST_SHIFT
|
|
|
|
|
|
SRC_R = 2 ** 10
|
|
SRC_W = 2 ** 11
|
|
DST_R = 2 ** 12
|
|
DST_W = 2 ** 13
|
|
|
|
PC_WE = 2 ** 14
|
|
PC_CS = 2 ** 15
|
|
PC_EN = 2 ** 16
|
|
|
|
|
|
PC_OUT = PC_CS
|
|
PC_IN = PC_CS | PC_WE
|
|
PC_INC = PC_CS | PC_WE | PC_EN
|
|
|
|
HLT = 2 ** 31 |