Lines Matching defs:instruction

48 /* Structure to map valid 'cinv' instruction options.  */
70 /* Number of valid 'cinv' instruction options. */
84 const inst *instruction;
85 /* Current instruction we're disassembling. */
87 /* The current instruction is read into 3 consecutive words. */
93 /* Nonzero means a IMM4 instruction. */
95 /* Nonzero means the instruction's original size is
126 /* Retrieve the number of operands for the current assembled instruction. */
133 for (i = 0; instruction->operands[i].op_type && i < MAX_OPERANDS; i++)
161 /* Given a 'CC' instruction constant operand, return its corresponding
162 string. This routine is used when disassembling the 'CC' instruction. */
171 /* Given a 'cinv' instruction constant operand, return its corresponding
172 string. This routine is used when disassembling the 'cinv' instruction. */
187 This routine is used when disassembling the 'excp' instruction. */
303 /* Build a mask of the instruction's 'constant' opcode,
304 based on the instruction's printing flags. */
309 unsigned long mask = SBM (instruction->match_bits);
319 /* The instruction 'constant' opcode doewsn't exceed 32 bits. */
322 /* Start searching from end of instruction table. */
323 instruction = &cr16_instruction[NUMOPCODES - 2];
325 /* Loop over instruction table until a full match is found. */
326 while (instruction >= cr16_instruction)
329 if ((doubleWord & mask) == BIN (instruction->match,
330 instruction->match_bits))
333 instruction--;
346 if ((instruction->size == 3) && a->size >= 16)
413 else if (instruction->size == 2)
419 else if (instruction->size == 1 && a->size == 0)
440 if (instruction->size == 1)
452 else if (instruction->size == 2)
457 else if (instruction->size == 1 && a->size != 0)
488 if (instruction->size == 3)
495 else if (instruction->size == 2)
565 && ((instruction->size == 1) && (a->constant == 9)))
598 func (stream, "%s", print_exp_len (instruction->size * 16));
605 func (stream, "%s", print_exp_len (instruction->size * 16));
615 func (stream, "%s", print_exp_len (instruction->size * 16));
621 func (stream, "%s", print_exp_len (instruction->size * 16));
660 func (stream, "Wrong offset used in branch/bal instruction");
665 /* For branch Neq instruction it is 2*offset + 2. */
678 func (stream, "%s", print_exp_len (instruction->size * 16));
686 /* Print all the arguments of CURRINSN instruction. */
693 /* For "pop/push/popret RA instruction only. */
707 /* For "bal (ra), disp17" instruction only. */
708 if ((IS_INSN_MNEMONIC ("bal")) && (i == 0) && instruction->size == 2)
724 /* Build the instruction's arguments. */
737 a.type = getargtype (instruction->operands[i].op_type);
738 a.size = getbits (instruction->operands[i].op_type);
739 shift = instruction->operands[i].shift;
745 /* Calculate instruction size (in bytes). */
746 currInsn.size = instruction->size + (size_changed ? 1 : 0);
783 /* Prints the instruction by calling print_arguments after proper matching. */
788 int is_decoded; /* Nonzero means instruction has a match. */
798 /* If found, print the instruction's mnemonic and arguments. */
801 if (strneq (instruction->mnemonic, "cinv", 4))
802 info->fprintf_func (info->stream,"%s", getcinvstring ((char *)instruction->mnemonic));
804 info->fprintf_func (info->stream, "%s", instruction->mnemonic);