Lines Matching full:instruction
5 // A Disassembler object is used to disassemble a block of code instruction by
6 // instruction. The default implementation of the NameConverter object can be
60 // Writes one disassembled instruction into 'buffer' (0-terminated).
61 // Returns the length of the disassembled machine instruction in bytes.
62 int InstructionDecode(byte* instruction);
72 void PrintRs(Instruction* instr);
73 void PrintRt(Instruction* instr);
74 void PrintRd(Instruction* instr);
75 void PrintFs(Instruction* instr);
76 void PrintFt(Instruction* instr);
77 void PrintFd(Instruction* instr);
78 void PrintSa(Instruction* instr);
79 void PrintSd(Instruction* instr);
80 void PrintSs1(Instruction* instr);
81 void PrintSs2(Instruction* instr);
82 void PrintBc(Instruction* instr);
83 void PrintCc(Instruction* instr);
84 void PrintFunction(Instruction* instr);
85 void PrintSecondaryField(Instruction* instr);
86 void PrintUImm16(Instruction* instr);
87 void PrintSImm16(Instruction* instr);
88 void PrintXImm16(Instruction* instr);
89 void PrintXImm21(Instruction* instr);
90 void PrintXImm26(Instruction* instr);
91 void PrintCode(Instruction* instr); // For break and trap instructions.
92 // Printing of instruction name.
93 void PrintInstructionName(Instruction* instr);
96 int FormatRegister(Instruction* instr, const char* option);
97 int FormatFPURegister(Instruction* instr, const char* option);
98 int FormatOption(Instruction* instr, const char* option);
99 void Format(Instruction* instr, const char* format);
100 void Unknown(Instruction* instr);
101 int DecodeBreakInstr(Instruction* instr);
103 // Each of these functions decodes one particular instruction type.
104 int DecodeTypeRegister(Instruction* instr);
105 void DecodeTypeImmediate(Instruction* instr);
106 void DecodeTypeJump(Instruction* instr);
144 void Decoder::PrintRs(Instruction* instr) {
150 void Decoder::PrintRt(Instruction* instr) {
156 void Decoder::PrintRd(Instruction* instr) {
168 void Decoder::PrintFs(Instruction* instr) {
174 void Decoder::PrintFt(Instruction* instr) {
180 void Decoder::PrintFd(Instruction* instr) {
187 void Decoder::PrintSa(Instruction* instr) {
194 void Decoder::PrintSd(Instruction* instr) {
201 void Decoder::PrintSs1(Instruction* instr) {
208 void Decoder::PrintSs2(Instruction* instr) {
217 void Decoder::PrintBc(Instruction* instr) {
224 void Decoder::PrintCc(Instruction* instr) {
231 void Decoder::PrintUImm16(Instruction* instr) {
238 void Decoder::PrintSImm16(Instruction* instr) {
245 void Decoder::PrintXImm16(Instruction* instr) {
252 void Decoder::PrintXImm21(Instruction* instr) {
259 void Decoder::PrintXImm26(Instruction* instr) {
266 void Decoder::PrintCode(Instruction* instr) {
268 return; // Not a break or trap instruction.
287 default: // Not a break or trap instruction.
293 // Printing of instruction name.
294 void Decoder::PrintInstructionName(Instruction* instr) {
300 int Decoder::FormatRegister(Instruction* instr, const char* format) {
322 int Decoder::FormatFPURegister(Instruction* instr, const char* format) {
351 int Decoder::FormatOption(Instruction* instr, const char* format) {
429 // Format takes a formatting string for a whole instruction and prints it into
432 void Decoder::Format(Instruction* instr, const char* format) {
447 // which will just print "unknown" of the instruction bits.
448 void Decoder::Unknown(Instruction* instr) {
453 int Decoder::DecodeBreakInstr(Instruction* instr) {
462 + Instruction::kInstrSize)),
465 + Instruction::kInstrSize)),
467 + Instruction::kInstrSize));
469 return 3 * Instruction::kInstrSize;
472 return Instruction::kInstrSize;
477 int Decoder::DecodeTypeRegister(Instruction* instr) {
973 return Instruction::kInstrSize;
977 void Decoder::DecodeTypeImmediate(Instruction* instr) {
994 case W: // CMP.S instruction.
1033 case L: // CMP.D instruction.
1243 // Check if BOVC or BEQC instruction.
1257 // Check if BNVC or BNEC instruction.
1377 void Decoder::DecodeTypeJump(Instruction* instr) {
1391 // Disassemble the instruction at *instr_ptr into the output buffer.
1393 // psuedo-instruction stop(msg). For that one special case, we return
1396 Instruction* instr = Instruction::At(instr_ptr);
1397 // Print raw instruction bytes.
1402 case Instruction::kRegisterType: {
1405 case Instruction::kImmediateType: {
1409 case Instruction::kJumpType: {
1418 return Instruction::kInstrSize;
1474 byte* instruction) {
1476 return d.InstructionDecode(instruction);
1481 int Disassembler::ConstantPoolSizeAt(byte* instruction) {