• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/llvmCore-3425.0.34/lib/Target/X86/Disassembler/

Lines Matching refs:byte

51  *   the ModR/M byte is required to decode a particular instruction.
56 * @param opcode - The last byte of the instruction's opcode, not counting
58 * @return - TRUE if the ModR/M byte is required, FALSE otherwise.
97 * @param modRM - The ModR/M byte if required, or any value if not.
164 * byte from the instruction's memory and advance the cursor.
168 * @param byte - A pointer to a pre-allocated memory buffer to be populated
172 static int consumeByte(struct InternalInstruction* insn, uint8_t* byte) {
173 int ret = insn->reader(insn->readerArg, byte, insn->readerCursor);
185 * @param byte - See consumeByte().
188 static int lookAtByte(struct InternalInstruction* insn, uint8_t* byte) {
189 return insn->reader(insn->readerArg, byte, insn->readerCursor);
201 uint8_t byte; \
203 &byte, \
207 combined = combined | ((uint64_t)byte << (offset * 8)); \
307 uint8_t byte = 0;
317 if (consumeByte(insn, &byte))
321 * If the first byte is a LOCK prefix break and let it be disassembled
324 * lock prefix if it is not the first byte.
326 if (insn->readerCursor - 1 == insn->startLocation && byte == 0xf0)
329 switch (byte) {
336 setPrefixPresent(insn, byte, prefixLocation);
344 switch (byte) {
370 setPrefixPresent(insn, byte, prefixLocation);
377 setPrefixPresent(insn, byte, prefixLocation);
384 setPrefixPresent(insn, byte, prefixLocation);
386 default: /* Not a prefix byte */
392 dbgprintf(insn, "Found prefix 0x%hhx", byte);
397 if (byte == 0xc4) {
401 dbgprintf(insn, "Couldn't read second byte of VEX");
415 insn->vexPrefix[0] = byte;
441 else if (byte == 0xc5) {
445 dbgprintf(insn, "Couldn't read second byte of VEX");
457 insn->vexPrefix[0] = byte;
479 if ((byte & 0xf0) == 0x40) {
487 insn->rexPrefix = byte;
490 dbgprintf(insn, "Found REX prefix 0x%hhx", byte);
534 * readOpcode - Reads the opcode (excepting the ModR/M byte in the case of
585 dbgprintf(insn, "Found a two-byte escape prefix (0x%hhx)", current);
593 dbgprintf(insn, "Found a three-byte escape prefix (0x%hhx)", current);
602 dbgprintf(insn, "Found a three-byte escape prefix (0x%hhx)", current);
611 dbgprintf(insn, "Found a three-byte escape prefix (0x%hhx)", current);
620 dbgprintf(insn, "Found a three-byte escape prefix (0x%hhx)", current);
629 dbgprintf(insn, "Didn't find a three-byte escape prefix");
649 * the ModR/M byte as appropriate for extended and escape opcodes,
718 * getID - Determines the ID of an instruction, consuming the ModR/M byte as
917 * readSIB - Consumes the SIB byte to determine addressing information for an
920 * @param insn - The instruction whose SIB byte is to be read.
921 * @return - 0 if the SIB byte was successfully read; nonzero otherwise.
1002 debug("Cannot have Mod = 0b11 and a SIB byte");
1018 * @return - 0 if the displacement byte was successfully read; nonzero
1060 * readModRM - Consumes all addressing information (ModR/M byte, SIB byte, and
1620 * byte in the instruction.
1660 dbgprintf(insn, "Instruction exceeds 15-byte limit");