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