# 需要的常量# 寄存器编号MSR = 1MAR = 2MDR = 3RAM = 4IR = 5DST = 6SRC = 7A = 8B = 9C = 10D = 11DI = 12SI = 13SP = 14BP = 15CS = 16DS = 17SS = 18ES = 19VEC = 20T1 = 21T2 = 22# 寄存器输出到BUSMSR_OUT = MSRMAR_OUT = MARMDR_OUT = MDRRAM_OUT = RAMIR_OUT = IRDST_OUT = DSTSRC_OUT = SRCA_OUT = AB_OUT = BC_OUT = CD_OUT = DDI_OUT = DISI_OUT = SISP_OUT = SPBP_OUT = BPCS_OUT = CSDS_OUT = DSSS_OUT = SSES_OUT = ESVEC_OUT = VECT1_OUT = T1T2_OUT = T2# BUS写入到寄存器_SHIFT = 5MSR_IN = MSR << _SHIFTMAR_IN = MAR << _SHIFTMDR_IN = MDR << _SHIFTRAM_IN = RAM << _SHIFTIR_IN = IR << _SHIFTDST_IN = DST << _SHIFTSRC_IN = SRC << _SHIFTA_IN = A << _SHIFTB_IN = B << _SHIFTC_IN = C << _SHIFTD_IN = D << _SHIFTDI_IN = DI << _SHIFTSI_IN = SI << _SHIFTSP_IN = SP << _SHIFTBP_IN = BP << _SHIFTCS_IN = CS << _SHIFTDS_IN = DS << _SHIFTSS_IN = SS << _SHIFTES_IN = ES << _SHIFTVEC_IN = VEC << _SHIFTT1_IN = T1 << _SHIFTT2_IN = T2 << _SHIFT# 源操作数读写SRC_R = 2 ** 10SRC_W = 2 ** 11# 目标操作数读写DST_R = 2 ** 12DST_W = 2 ** 13# PCPC_WE = 2 ** 14PC_CS = 2 ** 15PC_EN = 2 ** 16PC_OUT = PC_CSPC_IN = PC_WE | PC_CSPC_INC = PC_WE | PC_EN | PC_CS# ALU = 2 ** 20# _OP_0 = 17# _OP_1 = 18# _OP_2 = 19# ALU_OUT = ALU# OP_ADD = (0 << _OP_0) # 0 默认就是加法# OP_SUB = (1 << _OP_0) # OP=001# OP_INC = ALU | (1 << _OP_1) # OP=010# OP_DEC = ALU | (1 << _OP_1) | (1 << _OP_0) # OP=011# OP_AND = ALU | (1 << _OP_2) # OP=100# OP_OR = ALU | (1 << _OP_2) | (1 << _OP_0) # OP=101# OP_XOR = ALU | (1 << _OP_2) | (1 << _OP_1) # OP=110# OP_NOT = ALU | (1 << _OP_2) | (1 << _OP_1) | (1 << _OP_0) # OP=111# OP_OP_SHIFT = 17OP_ADD = 0OP_SUB = 1 << _OP_SHIFTOP_INC = 2 << _OP_SHIFTOP_DEC = 3 << _OP_SHIFTOP_AND = 4 << _OP_SHIFTOP_OR = 5 << _OP_SHIFTOP_XOR = 6 << _OP_SHIFTOP_NOT = 7 << _OP_SHIFT# ALU的4位ALU_OUT = 1 << 20ALU_PSW = 1 << 21# 中断位写ALU_INT_W = 1 << 22# 中断有效位ALU_INT = 1 << 23# 开启中断ALU_STI = ALU_INT_W# 关闭中断ALU_CLI = ALU_INT_W | ALU_INT# 停止HLT = 2 ** 31# 指令周期CYC = 2 ** 30# 指令标志# 2地址指令 1000 0000ADDR2 = 1 << 7# 1地址指令 0100 0000ADDR1 = 1 << 6ADDR2_SHIFT = 4ADDR1_SHIFT = 2# 立即寻址AM_INS = 0# 寄存器寻址AM_REG = 1# 直接寻址AM_DIR = 2# 内存寻址AM_RAM = 3
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。