Hi Members,

I am a researcher and trying to implement an instruction related to existing 
CMP instruction.


I know that CMP instructions are encoded by 1- byte Opcode and here are all CMP 
Instructions encoding on gem5 from file 
src/arch/x86/decoder/one_byte_opcode.isa. I have a rough idea of what Eb, Gb, 
Ev, Gv, etc mean but what is the best way to get their accurate definition.


X86ISA::OneByteOpcode': decode OPCODE_OP_TOP5 {​

    format Inst {​

           0x07: decode OPCODE_OP_BOTTOM3 {​

                     default: MultiInst::CMP(OPCODE_OP_BOTTOM3,​

                                    [Eb,Gb], [Ev,Gv],​

                                    [Gb,Eb], [Gv,Ev],​

                                    [rAb,Ib], [rAv,Iz]);​

                      }​

          0x10: decode OPCODE_OP_BOTTOM3 {​

                     0x0: decode MODRM_REG {​

                              0x7: CMP(Eb,Ib);​

                              }​

                     0x1: decode MODRM_REG {​

                              0x7: CMP(Ev,Iz);​

                              }​

                     0x3: decode MODRM_REG {​

                              0x7: CMP(Ev,Ib);​

                              }​

                     0x2: decode MODE_SUBMODE {​

                              0x0: UD2();​

                              default: decode MODRM_REG {​

                                       0x7: CMP(Eb,Ib);​

                                       }​

                              }​

                     }



Can somebody tell me what their exact meaning is for these words (Eb, Gb, Ev, 
Gv, Iz, iB etc.)


Thanks
Shah Hassan


_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to