Deleted Added
full compact
X86DisassemblerDecoder.c (263508) X86DisassemblerDecoder.c (266715)
1/*===-- X86DisassemblerDecoder.c - Disassembler decoder ------------*- C -*-===*
2 *
3 * The LLVM Compiler Infrastructure
4 *
5 * This file is distributed under the University of Illinois Open Source
6 * License. See LICENSE.TXT for details.
7 *
8 *===----------------------------------------------------------------------===*

--- 1051 unchanged lines hidden (view full) ---

1060 insn->sibScale = 8;
1061 break;
1062 }
1063
1064 base = baseFromSIB(insn->sib) | (bFromREX(insn->rexPrefix) << 3);
1065
1066 switch (base) {
1067 case 0x5:
1/*===-- X86DisassemblerDecoder.c - Disassembler decoder ------------*- C -*-===*
2 *
3 * The LLVM Compiler Infrastructure
4 *
5 * This file is distributed under the University of Illinois Open Source
6 * License. See LICENSE.TXT for details.
7 *
8 *===----------------------------------------------------------------------===*

--- 1051 unchanged lines hidden (view full) ---

1060 insn->sibScale = 8;
1061 break;
1062 }
1063
1064 base = baseFromSIB(insn->sib) | (bFromREX(insn->rexPrefix) << 3);
1065
1066 switch (base) {
1067 case 0x5:
1068 case 0xd:
1068 switch (modFromModRM(insn->modRM)) {
1069 case 0x0:
1070 insn->eaDisplacement = EA_DISP_32;
1071 insn->sibBase = SIB_BASE_NONE;
1072 break;
1073 case 0x1:
1074 insn->eaDisplacement = EA_DISP_8;
1069 switch (modFromModRM(insn->modRM)) {
1070 case 0x0:
1071 insn->eaDisplacement = EA_DISP_32;
1072 insn->sibBase = SIB_BASE_NONE;
1073 break;
1074 case 0x1:
1075 insn->eaDisplacement = EA_DISP_8;
1075 insn->sibBase = (insn->addressSize == 4 ?
1076 SIB_BASE_EBP : SIB_BASE_RBP);
1076 insn->sibBase = (SIBBase)(sibBaseBase + base);
1077 break;
1078 case 0x2:
1079 insn->eaDisplacement = EA_DISP_32;
1077 break;
1078 case 0x2:
1079 insn->eaDisplacement = EA_DISP_32;
1080 insn->sibBase = (insn->addressSize == 4 ?
1081 SIB_BASE_EBP : SIB_BASE_RBP);
1080 insn->sibBase = (SIBBase)(sibBaseBase + base);
1082 break;
1083 case 0x3:
1084 debug("Cannot have Mod = 0b11 and a SIB byte");
1085 return -1;
1086 }
1087 break;
1088 default:
1089 insn->sibBase = (SIBBase)(sibBaseBase + base);

--- 660 unchanged lines hidden ---
1081 break;
1082 case 0x3:
1083 debug("Cannot have Mod = 0b11 and a SIB byte");
1084 return -1;
1085 }
1086 break;
1087 default:
1088 insn->sibBase = (SIBBase)(sibBaseBase + base);

--- 660 unchanged lines hidden ---