📄 microcode.txt
字号:
! lines beginning with an exclamation point are remed
! each opcode has a max of 8 states and the way to calculate opcode
! starting state # is
! (2^3)*((m=?0)and(x or$40))or((m=?1)and(x or$80))or((m!=0)&(m!=1)&n))
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!DO NOT USE TABS IN THIS FILE !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!control bits
! 0 = read
! 1 = write
! 2 = addr_latch_en
! 3 = instr_latch_en
! 4 = immed_signext_en
! 9-5 = ALU_op
! 10 = PC_out_en1
! 11 = PC_out_en2
! 12 = fpreg_port1_en
! 13 = fpreg_port2_en
! 14 = fpreg_port3_en
! 15 = fpreg_port4_en
! 16 = reg_port1_en
! 17 = reg_port2_en
! 18 = reg_port3_en
! 19 = reg_port4_en
! 20 = fpreg_port1_mux_sel
! 21 = fpreg_port2_mux_sel
! 22 = fpreg_port3_mux_sel
! 23 = reg_port1_mux_sel
! 24 = reg_port2_mux_sel
! 25 = reg_port3_mux_sel
! 26 = reg_port4_mux_sel
! 27 = reg_res_latch_en
! 30-28 = main_mux_sel
! 31 = datao_latch_oen
! 32 = data0_latch_len
! 33 = fpdatao_latch_oen
! 34 = fpdatao_latch_len
! 35 = jump
! 36 = jump_without_add
! 37 = PC_incr
! 38 = addr_latch_l
! 39 = name_signext_en
! 41-40 = shift_op
! 42 = shift_mux
! 43 = force_reg_31_dest
! 44 = beqz
! 45 = bnez
! 47-46 = multdiv_op
! 48 = fsr_latch_en
! 49 = fpreg_por3_incr
! 50 = fp2_en
! 51 = fpreg_port3_data_sel
! 54-52 = convert_op
! 55 = fpreg_res_latch_en
! 59-56 = fpadd_op
! 61-60 = float_mux_sel
! 62 = feedback_latch_l
! 63 = feedback_latch_en
! 64 = fpdisp_out_oen
! 65 = fpdisp_out_len
! 66 = fpreg_port2_incr
! 67 = bfpt
! 68 = bfpf
! 70-69 = fpmult_op
! 72-71 = fpdiv_op
! 74-73 = fsr_mux_sel
!
! 95 = next_op
!
!address name control
!0 1 2 0 1 2 3 4 5 6 7 8 9
!2345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345
00000000 reset 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000001 fetch 100100000010000000000000000000000000010000000000000000000000000000000000000000000000000000000000
00000002 decode 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000118 lw0 000011100000000010000000000000000000001000000000000000000000000000000000000000000000000000000000
00000119 lw1 101000000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000
0000011a lw2 000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000001
00000200 nop0 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000201 nop2 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000202 nop3 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
00000300 add0 000001100000000011000000100100000000000000000000000000000000000000000000000000000000000000000000
00000301 add1 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000302 add2 000000000000000000100000010000000000000000000000000000000000000000000000000000000000000000000001
00000310 sub0 000000010000000011000000100100000000000000000000000000000000000000000000000000000000000000000000
00000311 sub1 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000312 sub2 000000000000000000100000010000000000000000000000000000000000000000000000000000000000000000000001
00000320 and0 000001010000000011000000100100000000000000000000000000000000000000000000000000000000000000000000
00000321 and1 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000322 and2 000000000000000000100000010000000000000000000000000000000000000000000000000000000000000000000001
00000328 or0 000000110000000011000000100100000000000000000000000000000000000000000000000000000000000000000000
00000329 or1 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000032a or2 000000000000000000100000010000000000000000000000000000000000000000000000000000000000000000000001
00000330 xor0 000001110000000011000000100100000000000000000000000000000000000000000000000000000000000000000000
00000331 xor1 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000332 xor2 000000000000000000100000010000000000000000000000000000000000000000000000000000000000000000000001
00000350 slt0 000000100100000011000000100100000000000000000000000000000000000000000000000000000000000000000000
00000351 slt1 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000352 slt2 000000000000000000100000010000000000000000000000000000000000000000000000000000000000000000000001
!0 1 2 0 1 2 3 4 5 6 7 8 9
!2345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345
00000308 addu0 000001101000000011000000100100000000000000000000000000000000000000000000000000000000000000000000
00000309 addu1 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000030a addu2 000000000000000000100000010000000000000000000000000000000000000000000000000000000000000000000001
00000318 subu0 000000011000000011000000100100000000000000000000000000000000000000000000000000000000000000000000
00000319 subu1 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000031a subu2 000000000000000000100000010000000000000000000000000000000000000000000000000000000000000000000001
00000340 seq0 000001011000000011000000100100000000000000000000000000000000000000000000000000000000000000000000
00000341 seq1 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000342 seq2 000000000000000000100000010000000000000000000000000000000000000000000000000000000000000000000001
00000368 sge0 000000111000000011000000100100000000000000000000000000000000000000000000000000000000000000000000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -