Assembly 为处理器中的IR分支分配十六进制数

Assembly 为处理器中的IR分支分配十六进制数,assembly,x86,hex,processor,cpu-architecture,Assembly,X86,Hex,Processor,Cpu Architecture,有人能帮助我理解如何将5个IR分支中的每一个分配给十六进制数吗 R[2] ← Mem2[R[1] + 0x5] << 0x02; R[3] ← R[2]+ Mem2[0x0A] + 0x01; R[2]← Mem2[R[1]+0x5]图片中名为“IR”的块是寄存器,输入(端口D)宽度为32位。因此,它的输出(端口Q和~Q)也是32位的 符号IR表示32位的一部分;e、 g.IR用于编号为0,1,2,3,4,5,6,7,8,9,10,11,12的位;而IR表示“仅取位21,22,

有人能帮助我理解如何将5个IR分支中的每一个分配给十六进制数吗

R[2] ← Mem2[R[1] + 0x5] << 0x02;

R[3] ← R[2]+ Mem2[0x0A] + 0x01; 
R[2]← Mem2[R[1]+0x5]图片中名为“IR”的块是寄存器,输入(端口D)宽度为32位。因此,它的输出(端口Q和~Q)也是32位的

符号
IR
表示32位的一部分;e、 g.
IR
用于编号为0,1,2,3,4,5,6,7,8,9,10,11,12的位;而
IR
表示“仅取位21,22,23,24”

因此,如果某个时刻的IR是二进制的:00010010010100010101101101101101111000(位从结束到开始编号;0x12345678为十六进制);其组成部分是:

  • IR
    8位宽值0x12=00010010-它将进入控制电路
  • IR
    3位宽值0x1=001-它将转到块“mux B”、端口0和寄存器文件的右侧部分(这是dst=目标寄存器号)
  • IR
    3位宽值0x5=101-它将转到端口1(src1或src2)的块“mux B”
  • IR
    3位宽值0x0=000-它将转到端口2(src1或src2)的块“mux B”
  • IR
    2位宽值0x2=10-至块“C”
  • IR
    13位宽值0x1678=10110 01111000-至块“D”(这是IMM=立即值)
  • IR
    是低位24位=0x345678的副本-用于块“mux a”(在JMP命令的情况下)
为了解决您的任务,我们应该知道如何将命令编码到IR中,以及该CPU的指令集是什么。这看起来像是非常简化的MIPS或RISC,也可能是SPARC